nt-mcp-server
nt-mcp-server
Автономный MCP-сервер для чтения, записи и мониторинга данных NetworkTables во FRC. Он позволяет ИИ-агенту обмениваться данными с роботом по протоколу NetworkTables. Основная цель — локальная симуляция RobotPy (python -m robotpy sim на 127.0.0.1:5810).
закреплённые зависимости (fastmcp==3.4.7, pyntcore==2026.2.2).
Запуск сервера
uv run nt-mcp-serverИли, из локальной копии репозитория без использования uv:
python -m nt_mcp_serverСервер работает через stdio — именно так MCP-клиенты (например, opencode) подключаются к нему.
Related MCP server: agent-comm
Подключение к симуляции RobotPy NetworkTables
Перед чтением или записью данных симуляция должна быть запущена. Запустите её из своего проекта и виртуального окружения:
cd <path-to-try-robotpy> && .venv\Scripts\activate && python -m robotpy simПо умолчанию сервер подключается к 127.0.0.1:5810 — именно там работает симуляция.
Подключение к реальному роботу NetworkTables
В большинстве случаев достаточно записать данные и проанализировать их с помощью MCP.
Если нужно подключиться к реальному роботу в реальном времени, потребуется два сетевых адаптера на устройстве: один для интернета, другой для связи с роботом. Один из вариантов — использовать беспроводной адаптер для Wi-Fi и Ethernet-кабель для подключения к роботу. Либо использовать USB-адаптер в качестве второго адаптера. В любом случае может потребоваться настройка сетевой маршрутизации устройства.
Запись NetworkTables в NDJSON (офлайн)
CLI-инструмент nt-recorder подключается к работающему серверу NT4 и записывает события значений в файл .ndjson с временными метками. Он запускается на компьютере разработчика и читает данные из симуляции или робота; изменения на стороне робота не требуются.
uv run nt-recorder --prefixes /SmartDashboard/ --output-dir recordingsПараметры:
--prefixes— префиксы тем для подписки (по умолчанию:/)--output-dir— каталог для выходных файлов (по умолчанию:./recordings)--duration— записывать в течение N секунд, затем завершить работу (по умолчанию: до нажатия Ctrl+C)--team— подключиться по номеру команды вместо IP/порта сервера--server-ip/--server-port— адрес сервера NT4 (по умолчанию:127.0.0.1:5810)--identity— строка идентификации клиента (по умолчанию:nt-recorder)--quiet— подавить вывод статуса в stderr
Выходные файлы называются nt-record-<ГГГГ-ММ-ДДTЧЧ-ММ-СС>.ndjson (без двоеточий, совместимо с Windows). Каждая строка — {"time": float, "topic": str, "value": jsonable}. Коды завершения: 0 — успешно, 1 — ошибка подключения, 2 — ошибка диска/ввода-вывода.
Инструменты
Сервер предоставляет 17 инструментов (13 для работы в реальном времени + 4 для офлайн-анализа). Каждый ответ инструмента реального времени включает флаг connected.
Инструменты реального времени
Инструмент | Описание |
| Запустить клиент NT4 и дождаться активного подключения. Возвращает |
| Остановить клиент NT4 и закрыть постоянные подписки. Возвращает |
| Вернуть состояние подключения: |
| Вернуть нормализованное JSON-значение одной темы. Ответ: |
| Вернуть значения всех запрошенных тем. Ответ: |
| Вернуть метаданные темы. Ответ: |
| Опубликовать значение. Ответ: |
| Записать каждую пару |
| Список имён тем, отфильтрованных по |
| Собирать обновления по префиксам в течение |
| Открыть постоянную подписку. Ответ: |
| Прочитать буферизованные выборки из постоянной подписки. Ответ: |
| Остановить постоянную подписку. Ответ: |
Офлайн-инструменты для записей
Инструмент | Описание |
| Список записей. Каждая запись включает |
| Вернуть длительность, общее количество выборок, количество тем и метаданные файла для записи. |
| Вернуть историю событий для одной темы. Поддерживает |
| Список уникальных имён тем в записи, отфильтрованных по |
| Вернуть события для всех тем по префиксам. Поддерживает |
Офлайн-инструменты читают данные из каталога, заданного переменной окружения NT_RECORDINGS_DIR (по умолчанию ./recordings). Записи хранятся только локально — рекордер запускается на компьютере разработчика и читает NT из симуляции или робота; изменения на стороне робота не требуются.
Регистрация в любом агенте
Сервер — это пакет, запускаемый через uvx из git-репозитория, поэтому любой MCP-клиент может запустить его без локальной копии или предустановленного виртуального окружения. Запуск по требованию:
uvx --from git+https://github.com/Mzzj114/nt-mcp-server.git nt-mcp-serverИли установите консольный скрипт один раз и запускайте где угодно:
uv tool install "git+https://github.com/Mzzj114/nt-mcp-server.git"
uvx nt-mcp-serverДобавьте эту запись в конфигурацию MCP вашего агента (здесь показано для opencode в файле opencode.jsonc на уровне проекта):
{
"mcp": {
"nt": {
"type": "local",
"command": [
"uvx",
"--from",
"git+https://github.com/Mzzj114/nt-mcp-server.git",
"nt-mcp-server"
],
"enabled": true
}
}
}Проверьте с помощью opencode mcp list из корня проекта: сервер nt должен отображаться как подключённый.
Разработка
Виртуальное окружение Python 3.14.0 в
.venv; зависимости установлены изrequirements.txt(fastmcp==3.4.7,pyntcore==2026.2.2).Тесты:
uv run pytest tests/ -v
Лицензия
Этот проект распространяется под лицензией MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to interact with the SpaceTraders API, managing agents, fleets, contracts, and trading operations in the SpaceTraders universe.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI coding agents to communicate, share state, and coordinate work in real time via MCP tools or REST API.1305MIT
- AlicenseAqualityDmaintenanceMCP server that injects verified FTC documentation and code examples into AI assistants, enabling teams to write correct, competition-ready Java robot code through natural language.3162MIT
- AlicenseCqualityCmaintenanceMCP server for Inductive Automation Ignition, enabling AI assistants to browse and write tags, query history and alarms, manage projects, and deploy Perspective views through natural language.431MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mzzj114/nt-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server