Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Official AGILEX robotics product docs: manuals, CAN protocol, firmware, FAQ. Read-only.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://service.agilex.ai/agilex-docs/mcp在终端中运行这条命令
claude mcp add --transport http docs https://service.agilex.ai/agilex-docs/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"docs": {
"url": "https://service.agilex.ai/agilex-docs/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"docs": {
"type": "http",
"url": "https://service.agilex.ai/agilex-docs/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://service.agilex.ai/agilex-docs/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
search_docsFull-text search over the official AGILEX product documentation. Use this first for any question about AGILEX hardware: pinouts, CAN protocol details, baud rate, firmware upgrade, error codes, LED/beep meanings, installation, calibration, SDK usage. Args: query: Chinese or Englis
find_in_docLocate a passage *inside* one manual, without paging through it. Use this after ``search_docs`` whenever you need a specific table, command or error code rather than the whole page — including short documents, because manuals commonly open with a preamble and page 1 rarely answer
get_docRead one documentation page as Markdown. Call this with a ``doc_id`` returned by ``search_docs`` (or a slug such as ``ymZimX7JLe``). Manuals are often 20k-60k characters, so this tool paginates: if the reply has ``truncated: true`` and a ``next_offset``, call again with that ``of
list_docsList documented pages, optionally inside one space. Use when the caller wants an inventory ("what manuals exist for ranger") rather than an answer. Args: space: optional space slug or name fragment. limit: 1-300, default 100. offset: pagination offset, must be >= 0. Returns JSON:
list_spacesList the public documentation spaces with page counts. Call this when the caller is unsure which product family a document belongs to, or to explain coverage. Returns JSON: {count, spaces:[{space,name,docs,chars}]}.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过域名 service.agilex.ai 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 1031 毫秒内响应(HTTP 200)
无需登录
已读取 5 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.2.1)于3天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Starreel
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Official product documentation for AgileX Robotics (松灵机器人) — user manuals, CAN 2.0B protocol references, firmware notes, SDK tech posts and after-sales FAQ for piper, pika, nero, ranger, limo, scout, bunker, hunter, tracer, umr, cobot_magic and aloha.
Point your AI coding assistant at this server before writing integration code for AgileX hardware, so it consults the real manual instead of guessing baud rates, frame formats or pinouts.
This repository documents the public interface. It covers the endpoint,
the tool signatures and every client configuration. The indexing service that
backs it is operated by AgileX and is not part of this repository.
| MCP URL | https://service.agilex.ai/agilex-docs/mcp |
| Transport | Streamable HTTP — single endpoint, stateless |
| Protocol | 2025-11-25 (also answers 2025-06-18, 2025-03-26, 2024-11-05) |
| Auth | None. Read-only public docs, rate limited per IP |
| Registry | ai.agilex.service/docs |
| Docs page | https://service.agilex.ai/agilex-docs/ |
| Health | https://service.agilex.ai/agilex-docs/health |
No API key, no OAuth, no local process. If your client speaks Streamable HTTP, you only need the URL.
Clients are listed in order of how common they are. Pick one.
| # | Client | Setup |
|---|---|---|
| 1 | Claude Code | claude mcp add --scope user --transport http agilex-docs https://service.agilex.ai/agilex-docs/mcp |
| 2 | Codex CLI | codex mcp add agilex-docs --url https://service.agilex.ai/agilex-docs/mcp |
| 3 | Cursor | one-click install, or the JSON below |
| 4 | VS Code / Copilot | Ctrl+Shift+P → MCP: Add Server → HTTP → paste the URL |
| 5 | Anything stdio-only | npx -y mcp-remote https://service.agilex.ai/agilex-docs/mcp |
# 1) Claude Code — all projects
claude mcp add --scope user --transport http agilex-docs https://service.agilex.ai/agilex-docs/mcp
codex mcp add agilex-docs --url https://service.agilex.ai/agilex-docs/mcp
Cursor one-click:
cursor://anysphere.cursor-deeplink/mcp/install?name=agilex-docs&config=eyJ1cmwiOiJodHRwczovL3NlcnZpY2UuYWdpbGV4LmFpL2FnaWxleC1kb2NzL21jcCJ9
Any client that reads mcpServers (Cursor, Claude Desktop, Cline, Windsurf, Cherry Studio, Continue, Zed, LibreChat, Dify …):
{
"mcpServers": { "agilex-docs": { "url": "https://service.agilex.ai/agilex-docs/mcp" } } }
Full per-client instructions: docs/CLIENTS.md.
Five read-only tools. The names are deliberately verb_noun so a model can pick the right one without reading the schema first.
| Tool | Purpose | Parameters |
|---|---|---|
search_docs | Full-text search. Start here. Locate before reading. | query (include the product name), limit (1–25, default 8), space (optional) |
find_in_doc | Locate a passage inside one long manual; returns absolute offset | doc_id, query, limit (1–10, default 5) |
get_doc | Read one page as Markdown, paginated | doc_id, max_chars (default 20 000, honoured as requested, max 120 000), offset |
list_docs | Inventory of a single space | space (optional), limit (1–300, default 100), offset (≥0) |
list_spaces | All public spaces with page counts | — |
search_docs returns doc_id, title, space, url, score, chars and a snippet. Then use find_in_doc to jump to the passage you need and read it with get_doc(doc_id, offset=…). If the response has truncated: true, call get_doc again with next_offset.
Manuals open with a cover page and preface, so reading from offset 0 rarely answers a specific question — that is why the search-then-locate-then-read path is the recommended one rather than get_doc alone.
max_chars is honoured as requested (1–120 000), and the applied value is echoed back as max_chars in the response. There used to be an undocumented 2000-character floor; a caller paging in 1000-character steps would then re-read overlapping text without any indication, so it was removed.
count means different things in different tools, deliberately:
| Tool | count | Also returned |
|---|---|---|
search_docs | number of results in this reply | results[] |
list_docs | number of docs in this page | offset, docs[] (no total — use list_spaces) |
find_in_doc | total passages matched | returned, matched_terms, missing_terms |
find_in_doc(limit=1) can therefore return count: 24 with one hit — returned tells you what is in the array. matched_terms / missing_terms make partial matches explicit instead of silently ignoring words the page does not contain.
Numeric parameters declare their bounds in the schema: limit 1–25 (search), 1–10 (find_in_doc), 1–300 (list_docs); max_chars 1–120000; offset ≥ 0. An out-of-range value is a validation error, not a silent clamp.
A result whose title carries a 【未发】 / 【暂不对外】 marker is still searchable — whether it is published is the documentation owner's call, and the code does not blacklist by keyword — but the entry carries status_note so a model does not cite unreleased material as settled.
find_in_doc exists13% of the corpus needs pagination and the longest page is 162 000 characters; locating one CAN frame table in that by paging with get_doc costs nine round trips. find_in_doc scores paragraphs and returns their absolute offsets, so a single get_doc(doc_id, offset=…) lands on the table.
Pass the *concept* as query, not the product name. Terms that already appear in the page title are ignored: search_docs picked the page by them, so repeating them only dilutes the ranking. This is measurable — on the RANGER MINI 3.0 manual, query="RANGER MINI 3.0 CAN 波特率" returned 44 passages with "1.1 产品列表" on top, while query="CAN 波特率" returned 2 with "3.2 CAN接口协议" on top.
Scoring is weighted by corpus-wide document frequency, not raw term count: can appears in 138 pages (weight 1.25) while 波特率 appears in 39 (weight 2.29). If the query contains a distinctive term that the page does not contain, the tool returns zero hits and says so — otherwise English manuals produced 76 meaningless can matches for the query "CAN 波特率". A query made only of generic terms (e.g. just CAN) still returns matches.
// search_docs("piper CAN 波特率")
{ "query": "piper CAN 波特率", "count": 3, "results": [ { "doc_id": "01a06659-2d4e-7029-bc64-63f9352b34a6", "title": "PIPER X 用户手册(CN)", "space": "AGX-机械臂产品手册", "url": "https://kb.agilex.ai/s/agx-robot-arm-products-cn-en/p/pWVjLJsYc0", "score": 18.42, "chars": 13264, "snippet": "...CAN通信标准采用的是CAN2.0B标准,通讯波特率为1000K..." } ] }
// get_doc(doc_id="01a06659-…", max_chars=2000)
{ "doc_id": "01a06659-2d4e-7029-bc64-63f9352b34a6", "title": "PIPER X 用户手册(CN)", "url": "https://kb.agilex.ai/s/agx-robot-arm-products-cn-en/p/pWVjLJsYc0", "chars": 13264, "offset": 0, "truncated": true, "next_offset": 2000, "content": "..." }
// find_in_doc(doc_id="01a06659-…", query="波特率")
{ "doc_id": "01a06659-2d4e-7029-bc64-63f9352b34a6", "title": "PIPER X 用户手册(CN)", "url": "https://kb.agilex.ai/s/agx-robot-arm-products-cn-en/p/pWVjLJsYc0", "chars": 13264, "query": "波特率", "count": 1, "hits": [ { "offset": 12101, // ← feed straight into get_doc "heading": "6 机械臂CAN协议", "score": 45.85, "matched": ["波特", "特率"], "excerpt": "…通讯波特率为1000K,报文格式采用MOTOROLA(MSB)格式…" } ], "hint": "用 get_doc(doc_id, offset=hit.offset) 读这一段前后;offset 是全文绝对位置。" }
url always points at the original page — cite it so the user can verify.
Claude Code
# all projects
claude mcp add --scope user --transport http agilex-docs https://service.agilex.ai/agilex-docs/mcp
claude mcp add --scope project --transport http agilex-docs https://service.agilex.ai/agilex-docs/mcp
claude mcp list
</details>
Codex CLI
codex mcp add agilex-docs --url https://service.agilex.ai/agilex-docs/mcp
or ~/.codex/config.toml:
[mcp_servers.agilex-docs]
url = "https://service.agilex.ai/agilex-docs/mcp"
Inside Codex, /mcp lists active servers. Codex uses the server's instructions field as global guidance, so the search-then-read workflow is already in place.
Cursor
.cursor/mcp.json in the project, or ~/.cursor/mcp.json globally:
{
"mcpServers": { "agilex-docs": { "url": "https://service.agilex.ai/agilex-docs/mcp" } } }
Reload the window (Ctrl+Shift+P → Reload Window). Settings → MCP should list agilex-docs with 5 tools.
VS Code / Copilot
.vscode/mcp.json — note the top-level key here is servers, not mcpServers:
{
"servers": { "agilex-docs": { "type": "http", "url": "https://service.agilex.ai/agilex-docs/mcp" } } }
Or Ctrl+Shift+P → MCP: Add Server → HTTP → paste the URL.
Claude Desktop (stdio bridge)
Claude Desktop only speaks stdio, so bridge the endpoint with mcp-remote:
{
"mcpServers": { "agilex-docs": { "command": "npx", "args": ["-y", "mcp-remote", "https://service.agilex.ai/agilex-docs/mcp"] } } }
Quit and reopen the app completely after saving.
Cherry Studio
Settings → MCP Servers → Add → type streamableHttp, URL as above. Cherry Studio also accepts the mcpServers JSON directly.
DeepSeek Harness (DSH)
DSH connects through @deepseek-ai/dsh-mcp-client, configured as a Cordis overlay:
- insert:
dsh web --patch "$PWD/examples/agilex-docs.cordis.yml"
Tools appear as mcp__agilex-docs__search_docs.
ChatGPT custom connector
Paid plan, web only: Settings → Connectors → Advanced → enable Developer mode → Create → URL above, authentication No authentication.
I need a CAN control script for the piper arm. First call
search_docswith
"piper CAN 报文", then
get_docon the best hit, and write the code using the
frame format and baud rate from the manual. Cite the manual URL in a comment.
Our ranger mini throws a chassis error code. Search the after-sales FAQ for the
code, quote the troubleshooting steps and link the page.
Because the server ships an instructions block telling the model to search first and cite URLs, the workflow usually happens without any extra prompting.
The corpus covers product documentation that is publicly accessible at https://kb.agilex.ai. Internal spaces are excluded: the s
只显示了开头部分;其余内容请在仓库中阅读