内容
# R软件包MCP
一种将R软件包转换为小型、独立的 **MCP知识服务器** 的技能 —
MCP知识服务器是一种AI助手可以查询的服务器,用于获取软件包的函数、参数、数据集、
依赖项和示例,这样AI助手就可以查找API而不是进行猜测。
它从软件包自己的`.Rd`文件中(通过R的`tools::Rd_db`)读取文档到
`knowledge.json`,然后通过通用 [FastMCP](https://github.com/modelcontextprotocol)
服务器提供服务。服务器在运行时不需要R;如果您还想运行代码,请将其与R运行时配对。
## 要求
- **R**,带有`Rscript`命令(用于提取)
- **[uv](https://docs.astral.sh/uv/)** — 运行生成的服务器和测试;它提供
Python和`mcp`软件包本身,因此无需安装其他软件
## 快速入门
```bash
# 1. 将软件包的文档提取到knowledge.json中
Rscript scripts/extract_rpkg.R <软件包> <软件包>_knowledge.json --install
# 2. 构建服务器
python scripts/build_server.py <软件包>_knowledge.json <软件包>-mcp
# 3. 测试它 — 协议(工具响应)和内容(示例运行)
uv run scripts/test_server.py <软件包>-mcp
Rscript scripts/check_examples.R <软件包>
```
构建步骤还会写入一个可粘贴的注册代码片段(`mcp.config.json`)。有关完整的流程和选项,请参见
[SKILL.md](SKILL.md) (例如,使用`--update`匹配当前的CRAN版本,而不是陈旧的本地安装)。
## 生成的服务器暴露的工具
`package_overview`、`search_functions`、`get_function`、`list_functions`、`get_examples`、
`get_related`、`get_recipes`、`list_datasets`、`get_dataset`、`get_dependencies`。
## 将其用作技能
这是一个代理技能:指向编码代理 [SKILL.md](SKILL.md) (或将此目录
放入代理的技能文件夹中),并要求它为R软件包构建MCP。脚本也可以直接运行,如上所示。
## 布局
- `SKILL.md` — 代理遵循的工作流程
- `scripts/` — 提取器、构建器、服务器模板和测试/验证脚本
- `references/` — `knowledge.json`模式、提取说明和服务器/注册说明
## 许可证
[MIT](LICENSE)。