使用说明
mcp仪表板
MCP服务器的终端仪表板。现在使用AI聊天。
管理、监控和调试您的 模型上下文协议 无需离开终端,即可从单个窗格中访问服务器。 与人工智能讨论你的服务器,让它代表你调用工具。
特性 • 演出 • 安装 • 快速开始 • 标签页 • AI聊天 • 配置 • 键绑定
为什么选择mcp仪表板?
大多数MCP工具都是基于浏览器的,Python很重,或者需要Docker。 mcp仪表板 是一个Rust二进制文件,可以在几秒钟内安装并在任何地方运行——你的笔记本电脑、SSH服务器、CI运行器。
- 零依赖 --没有Node,没有Python,没有Docker
- 自动发现 来自Claude Desktop、Claude Code和Cursor的服务器
- 持久连接 --每次健康检查都不再进行产卵/杀死过程
- 代币成本估算 --查看每个服务器占用多少上下文窗口(此工具独有)
- 工具执行 --直接从终端调用任何MCP工具
- AI聊天 --与Claude、GPT、Gemini或Claude Code讨论您的服务器,并使用完整的代理工具执行
特性
| 特性 | 描述 |
|---|---|
| 仪表盘 | 实时服务器运行状况、工具计数、响应时间火花线、令牌估计 |
| 检查员 | 浏览工具,输入JSON参数,执行并内联查看结果 |
| AI聊天 | 与人工智能就您的MCP服务器进行对话——5个提供商、流媒体、代理工具执行 |
| 协议日志 | 每个MCP方法调用都带有方向、定时和错误突出显示 |
| 服务器日志 | 从服务器进程实时捕获stderr以进行调试 |
| 自动发现 | 从以下位置查找服务器 ~/.claude/.mcp.json, ~/.cursor/mcp.json,克劳德桌面配置 |
| HTTP传输 | 通过Streamable HTTP连接到远程MCP服务器,而不仅仅是本地stdio |
| 多提供商AI | 拟人克劳德、OpenAI/GPT、谷歌Gemini、克劳德代码CLI、游标CLI |
| 代理工具 | AI在聊天过程中直接调用MCP工具,结果内联+记录到协议选项卡 |
| 搜索/筛选 | 按名称筛选服务器 / --处理大型服务器集合 |
| 令牌估计 | 每台服务器的颜色编码上下文窗口成本(绿色/黄色/橙色/红色) |
| 波形图 | 显示性能趋势的迷你响应时间图 |
| 帮助覆盖 | 媒体 ? 获取完整的密钥绑定参考 |
演出
MCP冷启动的隐性成本
当MCP客户端需要调用工具时,有两种方法:
- 冷启动: 生成服务器进程,执行MCP握手,拨打电话,关闭。这就是一次性脚本、CI管道和任何在调用之间无法保持服务器活动的工作流的情况。
- 持久连接: 连接一次,保持进程活动,在每次后续调用中重用连接。这是mcp仪表板的功能,也是IDE扩展(Claude Code、Cursor)在活动会话期间的功能。
差异很重要,因为 实际的工具调用速度很快,但启动速度很慢。 我们对真实的生产服务器进行了基准测试,以了解到底有多少。
基准:时间去哪儿了?
已通过包含的测试 mcp-latency 针对真实MCP服务器的基准测试工具。每一轮冷启动都会产生一个新的进程,初始化MCP,调用 list_tools,并关闭。每次热调用循环都会重用现有的持久连接。
Rust MCP服务器(db-tunnel,9个工具)
Cold start breakdown (20 rounds):
Spawn + MCP Init: 128.6ms (99% of total)
list_tools call: 0.4ms ( 1% of total)
─────────────────────────────
Total per cold start: 129.9ms
Warm call (persistent connection, 50 rounds):
list_tools call: 0.1ms
Node.js MCP服务器(mobile-api,10个工具)
Cold start breakdown (20 rounds):
Spawn + MCP Init: 115.4ms (94% of total)
list_tools call: 2.8ms ( 6% of total)
─────────────────────────────
Total per cold start: 123.2ms
Warm call (persistent connection, 50 rounds):
list_tools call: 0.5ms
模式很清楚: 94-99%的冷启动交互是进程生成和MCP初始化,而不是工具本身。
现实世界的影响:多次通话
每次额外的通话都会带来优势,因为您只需支付一次启动成本:
| 场景 | 冷启动(每次生成) | 持久(连接一次) | 节省的时间 |
|---|---|---|---|
| 1次工具调用 | 130ms | 130ms | 0ms(相同) |
| 10次工具调用 | 1300ms | 131毫秒 | 1.2秒 |
| 50次工具调用 | 6500毫秒 | 135毫秒 | 6.4秒 |
| 100次工具调用 | 130000毫秒 | 140毫秒 | 12.9秒 |
注: 对持久连接的第一次调用仍需支付全部启动成本(约130ms)。节省来自调用2到N,它们完全跳过spawn和init。
对于 代理AI会话 在模型链接10-20个工具调用的情况下,这将把几秒钟的开销变成了毫秒。
吞吐量突发
在持久连接上,调用可以与服务器处理它们的速度一样快:
| 服务器 | 10个快速呼叫 | 吞吐量 |
|---|---|---|
生锈(db-tunnel) |
0.8毫秒 总计 | 12629次呼叫/秒 |
Node.js(mobile-api) |
6.0毫秒 总计 | 1673次呼叫/秒 |
什么时候最重要?
- 脚本和CI 每次调用都会生成一个服务器——持久连接每次调用可节省约130毫秒
- AI代理循环 对于许多连续的工具调用,10+调用从几秒钟到几毫秒不等
- 健康监测 --每10秒检查服务器状态花费0.1ms,而不是130ms
- 仪表板的检查器选项卡 --无重启开销的快速工具迭代
像Claude Code这样的IDE扩展在活动会话期间已经保持了持久连接,因此对于IDE中的单个交互式调用,延迟差异不那么明显。仪表板对IDE用户的优势更多地在于 多服务器可见性、健康监控和AI聊天选项卡 比原始每次通话速度更快。
自己运行基准测试
基准测试工具包括:
cargo run --release --bin mcp-latency -- /path/to/your/mcp-server [args...]
# Examples:
cargo run --release --bin mcp-latency -- node dist/index.js
cargo run --release --bin mcp-latency -- /path/to/rust-mcp-server --flag
它运行20个冷启动轮和50个热呼叫轮,然后显示百分位数和吞吐量的完整细分。
安装
货物(推荐)
cargo install mcp-dashboard
家酿
brew tap nickslamecode/mcp-dashboard
brew install mcp-dashboard
预构建二进制文件
下载自 GitHub发布.
来自源头
git clone https://github.com/NicksLameCode/mcp-dashboard.git
cd mcp-dashboard
cargo install --path .
快速开始
# Just run it -- servers are auto-discovered from Claude/Cursor configs
mcp-dashboard
就是这样。如果您在Claude Desktop、Claude Code或Cursor中配置了MCP服务器,它们将自动显示。
要手动添加服务器,请编辑 ~/.config/mcp-dashboard/servers.json (首次运行时创建):
[
{
"name": "my-server",
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/server"
}
]
标签页
1--仪表板
主要观点。服务器列表,包括状态指示器、工具/资源/提示计数、令牌成本估算和源徽章。详图面板显示:
- 服务器名称、正常运行时间和响应时间
- 响应时间火花线(最近60次检查)
- 代币成本明细(工具/资源/提示)
- 可浏览的工具、资源和提示列表(循环使用
Tab)
2--检查员
交互式工具执行。从左侧面板中选择一个工具,查看其输入模式,键入JSON参数,然后按 Enter 执行。结果与错误突出显示一致。
3--协议
每个MCP协议操作的时间顺序日志-- initialize, tools/list, tools/call等等。显示方向(→ 发送, ← 已接收)、服务器名称、方法、结果摘要和往返时间。
4--日志
从子进程捕获的每服务器stderr输出。选择一个服务器以查看其调试输出。可用于诊断启动失败、格式错误的响应或服务器端错误。
5--聊天(新增)
仪表板内置了一个完整的人工智能对话界面。与AI讨论您的MCP服务器,让它代表您调用工具。
5个AI提供商:
| 提供者 | 它如何连接 | 工具执行 |
|---|---|---|
| 人物克劳德 | 使用流式处理API x-api-key |
原住民 tool_use 砌块 |
| OpenAI/GPT | 流式处理API(也可与Ollama、LM Studio、Azure一起使用) | 函数调用 |
| 谷歌双子座 | 使用流式处理API key param |
即将推出 |
| 克劳德代码 | 子流程通过 claude --print |
通过提示上下文 |
| 光标 | 通过CLI执行子进程 | 通过提示上下文 |
多服务器上下文: 选择AI知道的服务器。按 Tab 循环, Space 切换。AI可以看到所选服务器的完整工具模式、资源URI、提示定义和连接状态。
代理工具执行: AI可以在对话过程中直接调用MCP工具。当它发生时:
- 工具调用+参数显示在聊天中
- 该工具对真实的MCP服务器执行(超时30秒)
- 结果以内联方式显示,并记录到“协议”选项卡中
- AI继续与工具结果进行对话
流动: 使用块光标实时传输响应流。按 Esc 取消中流。
快速启动:
# Set your API key
export ANTHROPIC_API_KEY="sk-ant-..."
# Launch the dashboard, press 5 for Chat
mcp-dashboard
或在中配置所有提供程序 ~/.config/mcp-dashboard/ai.json (首次运行时自动创建)。
配置
Stdio服务器(默认)
[
{
"name": "my-server",
"command": "/path/to/binary",
"args": ["--flag", "value"],
"cwd": "/working/directory",
"env": { "API_KEY": "sk-..." },
"config_path": "/path/to/.mcp.json"
}
]
HTTP服务器
[
{
"name": "remote-server",
"transport": "http",
"url": "http://localhost:8080/mcp"
}
]
配置参考
| 字段 | 必填 | 描述 |
|---|---|---|
name |
是 | 显示名称 |
command |
仅限Stdio | 要运行的二进制或命令 |
args |
无 | 命令行参数 |
cwd |
否 | 工作目录 |
env |
否 | 环境变量 |
transport |
没有 | stdio (默认)或 http |
url |
仅限HTTP | 服务器端点URL |
config_path |
否 | 配置文件的路径(使用打开 e) |
AI聊天提供商
聊天选项卡从以下内容读取 ~/.config/mcp-dashboard/ai.json (首次运行时自动创建默认值):
{
"default_provider": "anthropic",
"anthropic": {
"api_key": "",
"model": "claude-sonnet-4-20250514",
"max_tokens": 4096
},
"openai": {
"api_key": "",
"base_url": "https://api.openai.com/v1",
"model": "gpt-4o",
"max_tokens": 4096
},
"gemini": {
"api_key": "",
"model": "gemini-2.0-flash",
"max_tokens": 4096
},
"claude_code": {
"command": "claude",
"args": ["--print", "--output-format", "json"]
},
"cursor": {
"command": "cursor",
"args": ["--chat"]
}
}
环境变量回退 --如果 api_key 如果配置中为空,则检查这些环境变量:
| 提供者 | 环境变量 |
|---|---|
| 人类学 | ANTHROPIC_API_KEY |
| OpenAI | OPENAI_API_KEY |
| 双子座 | GEMINI_API_KEY |
这 openai.base_url 字段支持任何与OpenAI兼容的端点——将其指向Ollama(http://localhost:11434/v1)、LM Studio、Azure OpenAI或任何其他兼容的API。
自动发现
服务器会从以下位置自动发现:
| 源 | 配置路径 |
|---|---|
| 克劳德代码 | ~/.claude/.mcp.json, ~/.claude/mcp.json |
| 光标 | ~/.cursor/mcp.json |
| 克劳德桌面 | ~/.config/claude/claude_desktop_config.json |
发现的服务器与手动服务器一起显示在仪表板中,并带有源代码徽章。重复项(相同的命令+参数)会自动进行重复数据消除。
键绑定
全球
| 关键 | 行动 |
|---|---|
1 2 3 4 5 |
切换选项卡 |
j / k |
导航列表 |
J / K |
滚动细节面板 |
r |
全部刷新/重新连接 |
c |
切换连接 |
e |
在中编辑配置 $EDITOR |
/ |
搜索/筛选服务器 |
? |
帮助覆盖 |
q |
退出 |
检查员(表2)
| 关键 | 行动 |
|---|---|
i |
编辑JSON参数 |
Enter |
执行工具 |
Esc |
退出输入模式 |
聊天(选项卡5)
| 关键 | 行动 |
|---|---|
i |
进入输入模式 |
Enter |
发送消息 |
Esc |
退出输入/取消流媒体 |
p |
循环AI提供商 |
n |
新对话 |
Tab |
循环服务器上下文 |
Space |
在上下文中切换服务器 |
J / K |
滚动消息 |
搜索模式
| 关键 | 行动 |
|---|---|
| 类型 | 按名称筛选 |
Enter |
保留过滤器 |
Esc |
清除过滤器 |
运作原理
┌──────────────┐
│ Claude API │
│ OpenAI API │◄──── streaming SSE ────┐
│ Gemini API │ │
└──────────────┘ │
┌──────────────┐ │
│ claude --print│◄── subprocess ──┐ │
│ cursor --chat │ │ │
└──────────────┘ │ │
┌──────────────┴──────┴──┐
│ mcp-dashboard │
│ (persistent connections │
│ + AI chat + agentic) │
└─────┬───────┬───────┬────┘
│ │ │
stdio │ stdio│ HTTP │
│ │ │
┌─────▼─┐ ┌───▼───┐ ┌─▼──────────┐
│Server │ │Server │ │Remote Server│
│ (A) │ │ (B) │ │ (C) │
└───────┘ └───────┘ └─────────────┘
- 连接 --生成stdio服务器或打开HTTP连接
- 初始化 --MCP握手超时15秒
- 发现 --并行查询工具、资源和提示
- 监视器 --每10秒对现有连接进行一次健康检查
- 捕捉 --实时从子进程流式传输stderr
- 检测 --每500毫秒轮询一次服务器死亡,标记为错误
- 聊天 --流式传输AI响应,注入MCP上下文,代表AI执行工具
贡献
欢迎捐款。请先打开一个问题,讨论您想更改的内容。
git clone https://github.com/NicksLameCode/mcp-dashboard.git
cd mcp-dashboard
cargo run
许可证
根据以下任一方式获得许可 Apache许可证2.0 或 MIT许可证 由您选择。
