关于 Model Context Protocol (MCP) Server for NF-OSI
这是面向 NF-OSI 的 MCP 服务集合,供 AI 助手处理 Synapse 数据整理。已可用于生产的 `nfty` 服务支持元数据处理和项目审核;机构记忆服务仍在开发中。
主要功能
- 01查询 Synapse 数据集元数据
- 02按 JSON Schema 验证元数据
- 03提交 Synapse 注释
- 04审核并分类项目
- 05获取数据共享计划
适用场景
- 01提取 Synapse 数据集元数据
- 02提交前检查元数据
- 03在 Synapse 中添加注释
- 04审核项目及共享计划
MCP 相关
仓库包含多个独立的 MCP 服务,可由客户端分别配置和运行。已提供的 `nfty` 服务向 AI 助手开放 Synapse 数据整理工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
NF-OSI 的 Model Context Protocol (MCP) 服务
一组 MCP 服务,可让你的 AI 助手访问 NF-OSI 资源和工具。
可用服务
nfty(Python)
用于 Synapse 数据整理工作流的实用工具。让 AI 助手能够:
- 查询 Synapse 数据集并提取元数据
- 根据 JSON 架构验证元数据
- 将元数据作为 Synapse 注释提交
- 审查并分类 Synapse 项目
- 获取数据共享计划
状态:✅ 已可用于生产环境 语言:Python 3.8+ 依赖项:synapseclient、mcp、requests、jsonschema
memory(即将推出)
面向 NF-OSI 的机构记忆与知识库。保留以下内容:
- 来自官方文档以及 Slack 等来源的团队历史和设计决策
- 从长期团队成员处收集的隐性知识
- 标准操作流程和常见模式
- 数据整理决策的历史背景
- 特定项目的背景信息和对话状态
状态:🚧 正在开发 语言:待定
概述
此存储库采用单体仓库结构,包含多个独立的 MCP 服务。每个服务都:
- 自成一体,拥有自己的依赖项
- 可独立安装和使用
- 可使用不同的编程语言编写
- 遵循 MCP 协议,以便集成 AI 助手
快速开始
安装
-
克隆存储库
git clone <repository-url> cd mcp-server -
安装你想使用的服务
每个服务都在其子目录中提供独立的安装说明:
- nfty 安装说明
- memory 安装说明(可用后)
你可以同时安装和使用多个服务——它们作为独立进程运行。
配置
在 MCP 客户端中分别配置每个服务。你可以启用一个或多个服务。
对于 Claude Desktop
将以下内容添加到 Claude Desktop 配置文件:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
Linux:~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"nfty": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/mcp-server", "nfty"],
"env": {
"SYNAPSE_AUTH_TOKEN": "your-synapse-personal-access-token"
}
}
}
}
重要:将 /absolute/path/to/mcp-server 替换为你的存储库实际路径。
多个服务示例:
{
"mcpServers": {
"nfty": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/mcp-server", "nfty"],
"env": {
"SYNAPSE_AUTH_TOKEN": "your-synapse-personal-access-token"
}
},
"memory": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/memory/build/index.js"],
"env": {}
}
}
}
注意:每个服务都作为独立进程运行。你可以通过在配置中添加或移除服务来启用或禁用它们。
#### For Other MCP Clients
Refer to your client's documentation for MCP server configuration. Each server's configuration follows this pattern:
**For nfty (Python):**
- **Command**: `uvx`
- **Args**: `["--from", "/path/to/mcp-server", "nfty"]`
- **Environment**: `SYNAPSE_AUTH_TOKEN` with your token
**For memory (Node.js example):**
- **Command**: `node`
- **Args**: `["/path/to/mcp-server/memory/build/index.js"]`
- **Environment**: Server-specific env vars
**For compiled servers (Go/Rust example):**
- **Command**: `"/path/to/mcp-server/server-name/bin/executable"`
- **Args**: `[]` (or server-specific args)
- **Environment**: Server-specific env vars
### Verify Installation
Test each server directly:
**nfty:**
```bash
export SYNAPSE_AUTH_TOKEN="your-token"
uvx --from . nfty
服务将启动并等待 MCP 协议消息。按 Ctrl+C 停止。
**其他服务:**有关具体测试说明,请参阅各服务的 README。
使用方法
完成配置后,你的 AI 助手即可访问每个已启用服务提供的 nifty 工具。
有关具体功能和使用示例,请参阅各服务的文档:
开发
运行测试
测试
- 请参阅各服务专属目录中的测试
- AI Agent 测试:
# Requires goose
export SYNAPSE_AUTH_TOKEN=$SYNAPSE_AUTH_TOKEN
goose run --recipe tests/curator_tester.yaml
添加新工具
nfty
- 在
mcp_server.py的list_tools()中添加工具定义 - 实现异步处理函数
- 将处理函数添加到
call_tool()分发器 - 更新
TOOLS.md中的文档 - 更新
tests/curator_tester.yaml中的测试提示词
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。