Token导航 LogoToken导航

MCP Server · 运维云端

Networktables MCP Server

一个通过NetworkTables为AI代理提供FRC机器人数据访问的模型上下文协议(MCP)服务器。

stdio官方级别未说明来源级核验工具 12
机器人控制实时监控Python

快速开始

作者 / 组织
jlmcmchl
提供方
jlmcmchl
运行时
Python

工具数量

12

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Networktables MCP Server 属于运维云端类 MCP Server,公开资料标注 12 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run fastmcp install --with pyntcore nt_mcp_server.py

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 12 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

NetworkTables MCP服务器

一种模型上下文协议(MCP)服务器,为AI代理提供通过NetworkTables访问FRC机器人数据的权限。

特性

🔌 资源管理

  • 主题作为资源:每个NT主题都作为MCP资源公开 nt://table/key URI方案
  • 分层发现:按NetworkTables结构组织的资源(SmartDashboard、LiveWindow、子系统)
  • 动态注册:新主题发布后会自动成为可用资源
  • 资源元数据:每个主题的类型信息、更新频率、发布者信息

🛠️ 工具设计模式

  • 阅读工具: nt_get(topic), nt_get_multiple(topics[]) 用于价值检索
  • 写入工具: nt_set(topic, value), nt_set_multiple(updates{}) 用于出版
  • 订阅工具: nt_subscribe(topics[], duration) 用于实时监控
  • 发现工具: nt_list_topics(filter?), nt_get_info(topic) 用于勘探

🌐 连接状态管理

  • 连接作为上下文:MCP服务器跨工具调用维护NT连接状态
  • 自动重新连接:优雅地处理机器人断开连接
  • 连接配置:通过MCP配置团队编号、IP和端口
  • 健康监测:连接质量和延迟作为可访问的指标

📊 数据类型处理

  • 类型强制:用于MCP传输的NT类型和JSON之间的自动转换
  • 架构验证:确保数据类型符合NT主题期望
  • 数组处理:NT数组、结构和复杂类型的正确序列化

安装

uv run fastmcp install --with pyntcore nt_mcp_server.py

使用示例

基本连接

# Connect to robot by team number
result = await mcp.call_tool("nt_connect", {
    "team_number": 1234,
    "identity": "Competition-Agent"
})

# Connect to simulation
result = await mcp.call_tool("nt_connect", {
    "server_ip": "127.0.0.1",
    "server_port": 5810,
    "identity": "Sim-Agent"
})

读取数据

# Get single value
battery_voltage = await mcp.call_tool("nt_get", {
    "topic": "/SmartDashboard/Battery Voltage"
})

# Get multiple values efficiently
drivetrain_data = await mcp.call_tool("nt_get_multiple", {
    "topics": [
        "/SmartDashboard/Left Encoder",
        "/SmartDashboard/Right Encoder",
        "/SmartDashboard/Gyro Angle"
    ]
})

写入数据

# Set single value
success = await mcp.call_tool("nt_set", {
    "topic": "/SmartDashboard/Auto Selector",
    "value": "Center Auto"
})

# Set multiple values atomically
results = await mcp.call_tool("nt_set_multiple", {
    "updates": {
        "/SmartDashboard/Drive Speed": 0.5,
        "/SmartDashboard/Turn Rate": 0.0,
        "/SmartDashboard/Target Acquired": True
    }
})

实时监控

# Subscribe to topics for duration
monitoring_data = await mcp.call_tool("nt_subscribe", {
    "topics": [
        "/Robot/Mode",
        "/Robot/Enabled",
        "/SmartDashboard/Match Time"
    ],
    "duration": 15.0  # 15 seconds
})

# Process samples
for sample in monitoring_data["samples"]:
    timestamp = sample["timestamp"]
    values = sample["values"]
    print(f"T+{timestamp}: {values}")

主题发现

# List all topics
all_topics = await mcp.call_tool("nt_list_topics")

# Filter topics by pattern
dashboard_topics = await mcp.call_tool("nt_list_topics", {
    "filter_pattern": "/SmartDashboard/*"
})

# Get detailed topic information
topic_info = await mcp.call_tool("nt_get_info", {
    "topic": "/SmartDashboard/Battery Voltage"
})

api参考

连接工具

  • nt_connect(team_number?, server_ip?, server_port?, identity?) -连接到NT服务器
  • nt_disconnect() -断开与NT服务器的连接
  • nt_connection_info() -获取连接信息
  • nt_time_sync_info() -获取时间同步信息

数据访问工具

  • nt_get(topic) -获取单个主题值
  • nt_get_multiple(topics[]) -获取多个主题值
  • nt_set(topic, value) -设置单个主题值
  • nt_set_array(topic, value) -设置单个主题值-数组类型
  • nt_set_multiple(updates{}) -设置多个主题值

发现工具

  • nt_list_topics(topic_prefix?) -列出可用主题
  • nt_get_info(topic) -获取详细的主题信息

监视工具

  • nt_subscribe(topic_prefixes[], duration) -记录一段时间内主题中的所有数据

资源URI

  • nt://topics -列出所有可用主题
  • nt:///path/to/topic -将特定主题作为资源访问

故障排除

常见问题

连接失败

  • 验证机器人/模拟器是否正在运行
  • 检查团队编号或IP地址
  • 确保NetworkTables端口(5810)可访问

缺少主题

  • 主题必须首先由机器人代码发布
  • 使用 nt_list_topics() 查看可用主题
  • 检查主题名称拼写和大小写

类型错误

  • 验证数据类型是否符合NT主题期望
  • 使用 nt_get_info() 检查主题类型
  • 在代码中处理类型强制

日志记录

启用调试的详细日志记录:

import logging
logging.basicConfig(level=logging.DEBUG)

发展模式

对于开发和测试:

uv run fastmcp dev --with pyntcore nt_mcp_server.py 

许可证

该项目根据麻省理工学院许可证发布,可供FRC团队和教育使用。

工具与能力

工具数量

12

资源数量

0

提示词数量

0

能力标签

机器人控制Python本地部署数据协议实时监控FRC

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 12 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Networktables MCP Server

MCP World · 本页

12stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Networktables MCP Server 怎么安装?

公开资料给出的安装命令是 uv run fastmcp install --with pyntcore nt_mcp_server.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Networktables MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Networktables MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Networktables MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Networktables MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP