Token导航 LogoToken导航TokenDH.com
MCP Tensorboard logo
数据服务stdio官方级别未说明来源级核验

MCP Tensorboard

MCP Server

一个基于标准输入输出的MCP服务器,提供TensorBoard数据服务器的查询功能,适用于机器学习实验数据分析和可视化。

工具数

14

提示词数

0

GitHub Stars

2

资源数

0
机器学习可视化工具Python数据分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jchacks

提供方

jchacks

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx --from git+https://github.com/jchacks/mcp-tensorboard mcp-tensorboard --logdir /path/to/tensorboard/logdir --debug

详细介绍

mcp张量板

一个基于stdio的最小MCP服务器 TensorBoard数据服务器 查询作为MCP工具。

这个项目 不运行TensorBoard web UI相反,它启动了TensorBoard的 *数据服务器* 子进程(Rust二进制文件),并使用TensorBoard的Python API通过gRPC查询它。

之所以采用数据服务器方法,是因为它比迭代的“纯Python”方法快得多 events.out.tfevents.* 文件直接。在一个实际案例中,通过纯Python方法加载一个约1GB的事件文件需要约2分钟。

协议:此服务器尝试实现MCP协议修订 2025-03-26 (Zed兼容)。请参阅规格:https://modelcontextprotocol.io/specification/2025-03-26

AI友好型输出(紧凑型点)

大多数时间序列工具返回 紧凑点阵列 为了减小响应大小:

  • 标量/标量张量: {"points": [[step, value], ...]}
  • 柱状图: {"points": [[step, values], ...]} 哪里 values 是该步骤的基础数字数组(较大;更喜欢下面的分布)
  • 图像系列: {"points": [[step, blob_key], ...]} 哪里 blob_key 可以通过以下方式获取 tensorboard-get_image
  • 可选的 wall_time 默认情况下省略,可以通过以下方式包含 include_wall_time=true

笔记:

  • stepwall_time 不是圆形的。
  • 数值四舍五入为 float_precision=5 默认情况下(如适用)。

特性

  • Stdio JSON-RPC 2.0传输(每行一个JSON对象)。
  • 为给定对象启动TensorBoard数据服务器 --logdir.
  • 用于常见查询的基于工具的API:

- 列表运行 - 列表标签(标量/张量/直方图/图像/分布) - 获取标量和张量时间序列(紧凑点) - 获取直方图系列(紧凑的点;仍然可以很大) - 获取 分布列 (压缩直方图;小而AI友好) - 获取图像系列(blob键)+获取单个图像(MCP图像内容)

安装

运行而不发布(来自git的uvx)

您可以使用以下命令运行该工具,而无需发布到PyPI uvx:

uvx --from git+https://github.com/jchacks/mcp-tensorboard mcp-tensorboard --logdir /path/to/tensorboard/logdir --debug

如果你喜欢SSH:

uvx --from git+ssh://git@github.com/jchacks/mcp-tensorboard.git mcp-tensorboard --logdir /path/to/tensorboard/logdir --debug

安装(可编辑)

从repo根目录:

pip install -e .

使用开发工具:

pip install -e ".[dev]"

跑步

该服务器是一个stdio服务器:它从stdin读取JSON行并将JSON行写入stdout。

使用控制台脚本运行:

mcp-tensorboard --logdir /path/to/tensorboard/logdir --debug

或者作为模块运行:

python -m mcp_tensorboard --logdir /path/to/tensorboard/logdir --debug

您还可以设置环境变量:

export TENSORBOARD_LOGDIR=/path/to/tensorboard/logdir
mcp-tensorboard --debug

工具名称

工具名称如下:

  • tensorboard-list_runs
  • tensorboard-list_scalar_tags
  • tensorboard-get_scalar_series
  • tensorboard-get_scalar_series_batch
  • tensorboard-get_scalar_last
  • tensorboard-list_tensor_tags
  • tensorboard-get_tensor_series
  • tensorboard-list_histogram_tags
  • tensorboard-get_histogram_series
  • tensorboard-list_distribution_tags (直方图标签的别名)
  • tensorboard-get_distribution_series
  • tensorboard-list_image_tags
  • tensorboard-get_image_series
  • tensorboard-get_image

图像注释

图像获取是一个两步过程,以保持响应较小:

  1. tensorboard-get_image_series 回报 points 作为 [[step, blob_key], ...]
  2. tensorboard-get_image 需要a blob_key 并返回 MCP图像内容 (content: [{type:"image", mimeType, data}])在哪里 data 是base64编码的图像字节。

协议(基于stdio的JSON-RPC)

消息是每行一个JSON对象。

列出工具

请求:

{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}

答复:

{"jsonrpc":"2.0","id":"1","result":{"tools":[{"name":"tensorboard-list_runs","description":"...","inputSchema":{...}}],"nextCursor":null}}

调用工具

请求:

{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "tools/call",
  "params": {
    "name": "tensorboard-list_runs",
    "arguments": {}
  }
}

响应(形状):

{
  "jsonrpc": "2.0",
  "id": "2",
  "result": {
    "content": [
      { "type": "text", "text": "{\"runs\":[\".\",\"runA\"]}" }
    ],
    "structuredContent": { "runs": [".", "runA"] },
    "isError": false
  }
}

例子

1) 列表运行

{"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"tensorboard-list_runs","arguments":{}}}

2) 列出跑步的标量标记

{"jsonrpc":"2.0","id":"2","method":"tools/call","params":{"name":"tensorboard-list_scalar_tags","arguments":{"run":"."}}}

3) 获取标量序列(最后200个点)

退货 points 作为 [[step, value], ...] (可选 [[step, value, wall_time], ...] 如果 include_wall_time=true).

{"jsonrpc":"2.0","id":"3","method":"tools/call","params":{"name":"tensorboard-get_scalar_series","arguments":{"run":".","tag":"loss","max_points":200}}}

4) 在一次调用中获取多个标量序列

退货 pointsByTag 每个标签点数紧凑。

{"jsonrpc":"2.0","id":"4","method":"tools/call","params":{"name":"tensorboard-get_scalar_series_batch","arguments":{"run":".","tags":["loss","accuracy"],"max_points":200}}}

5) 获取最后一个标量值

{"jsonrpc":"2.0","id":"5","method":"tools/call","params":{"name":"tensorboard-get_scalar_last","arguments":{"run":".","tag":"loss"}}}

6) 列出张量标签

{"jsonrpc":"2.0","id":"6","method":"tools/call","params":{"name":"tensorboard-list_tensor_tags","arguments":{"run":"."}}}

7) 获取张量“系列”(仅标量张量)

退货 points 作为 [[step, value], ...] 仅适用于标量张量。

{"jsonrpc":"2.0","id":"7","method":"tools/call","params":{"name":"tensorboard-get_tensor_series","arguments":{"run":".","tag":"some_tensor","max_points":200}}}

8) 列出直方图(和分布)标签

直方图标签也用于分布。您可以通过以下任一工具列出它们:

{"jsonrpc":"2.0","id":"8","method":"tools/call","params":{"name":"tensorboard-list_histogram_tags","arguments":{"run":"."}}}

或(别名):

{"jsonrpc":"2.0","id":"8b","method":"tools/call","params":{"name":"tensorboard-list_distribution_tags","arguments":{"run":"."}}}

9) 获取直方图系列(原始)

直方图点可以很大。响应很紧凑,但每一步 values 数组可能仍然很大:

  • points: [[step, values], ...] 哪里 values 是该步骤的基础数字数组
{"jsonrpc":"2.0","id":"9","method":"tools/call","params":{"name":"tensorboard-get_histogram_series","arguments":{"run":".","tag":"weights","max_points":50}}}

10) 提取分布序列(压缩直方图;推荐用于AI)

这将直方图桶压缩为固定的基点(默认为TensorBoard的“正常”集): (0, 668, 1587, 3085, 5000, 6915, 8413, 9332, 10000)

响应形状:

  • bps:基点(x轴标签)
  • data:每一步 {step, values} 哪里 values[i] 对应于 bps[i]
{"jsonrpc":"2.0","id":"10","method":"tools/call","params":{"name":"tensorboard-get_distribution_series","arguments":{"run":".","tag":"weights","max_points":50}}}

11) 列出图像标签

{"jsonrpc":"2.0","id":"11","method":"tools/call","params":{"name":"tensorboard-list_image_tags","arguments":{"run":"."}}}

12) 获取图像系列(blob键)

退货 points 作为 [[step, blob_key], ...].

{"jsonrpc":"2.0","id":"12","method":"tools/call","params":{"name":"tensorboard-get_image_series","arguments":{"run":".","tag":"samples","max_points":10}}}

13) 获取单个图像(MCP图像内容)

使用一个 blob_key 返回由 tensorboard-get_image_series.

{"jsonrpc":"2.0","id":"13","method":"tools/call","params":{"name":"tensorboard-get_image","arguments":{"blob_key":"PUT_BLOB_KEY_HERE"}}}

存储库布局(当前)

  • mcp_tensorboard/server.py --stdio JSON-RPC服务器入口点
  • mcp_tensorboard/tools.py --工具实现+数据服务器生命周期
  • mcp_tensorboard/tool_args.py --参数解包+类型验证装饰器
  • tests/ --单元测试(假提供者)

发展

运行测试:

pytest

格式/lint(如果安装在dev-extras中):

ruff check .

故障排除

  • 未找到跑步记录:确保 --logdir 指向包含runs/event文件的目录。
  • 导入错误:tensorboard:安装依赖项(pip install -e .).
  • 数据服务器无法启动:验证TensorBoard是否已安装并与您的环境兼容。

目录标签

目录标签

机器学习可视化工具Python数据分析本地部署TensorBoardMCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP