Synapse MCP Server 使用说明
项目简介
Synapse MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 应用提供对 Synapse 科研数据平台的结构化访问能力。通过该服务,LLM 可以安全、高效地获取 Synapse 中的数据集、项目、文件、表格等资源及其元数据,并利用预置工具执行数据查询和检索操作。
主要功能点
- 资源访问 (Resources):
- 提供 RESTful API 访问 Synapse 中的实体 (Entities),包括项目 (Projects)、数据集 (Datasets)、文件夹 (Folders)、文件 (Files) 和表格 (Tables)。
- 支持通过 ID 或名称检索实体,获取实体的基本信息、注释 (Annotations) 和子实体 (Children)。
- 提供基于实体类型、父 ID、名称等条件查询实体的功能。
- 支持查询 Synapse 表格数据,并以 JSON 格式返回结果。
- 可以 Croissant metadata 格式获取公共数据集信息。
- 工具调用 (Tools):
- 提供工具 API,支持通过 Synapse 账户的 Auth Token 或 OAuth2 方式进行身份验证。
- 提供获取 OAuth2 授权 URL 的工具,支持 OAuth2 授权流程。
- 提供多种数据查询工具,如按 ID/名称获取实体、获取实体注释、获取子实体、查询实体、查询表格等。
- 安全认证:
- 支持基于 Synapse Auth Token 的认证方式。
- 支持基于 Synapse OAuth2 的认证方式,保障数据访问安全。
- 部署灵活:
- 支持本地标准输入/输出 (stdio) 和云端 Server-Sent Events (SSE) 等多种传输协议。
- 提供 Docker 镜像和 Fly.io 部署指南,方便快速部署和扩展。
安装步骤
-
克隆仓库
git clone https://github.com/susheel/synapse-mcp.git cd synapse-mcp -
创建并激活虚拟环境 (推荐)
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows -
安装依赖
pip install -e .或者从 PyPI 安装:
pip install synapse-mcp
服务器配置 (MCP 客户端配置)
要将 Synapse MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置 MCP 服务器的启动命令和参数。以下是一个示例 JSON 配置,请根据您的实际环境进行调整:
{ "synapse-mcp": { "command": "python", "args": [ "/path/to/synapse-mcp/server.py", // 请替换为 server.py 脚本的实际路径 "--host", "127.0.0.1", // 服务器监听地址,默认为本地地址 "--port", "9000" // 服务器监听端口,默认为 9000 ] } }
参数说明:
- 'command': 启动服务器的命令,通常为 'python' 或 'python3'。
- 'args': 传递给 'server.py' 脚本的参数列表:
- '/path/to/synapse-mcp/server.py': [必填] 'server.py' 脚本的绝对路径。请根据您克隆仓库的实际位置修改。
- '--host': [可选] 指定服务器绑定的主机地址。默认为 '127.0.0.1' (本地地址)。如果需要从外部访问,请设置为服务器的公共 IP 或域名。
- '--port': [可选] 指定服务器监听的端口。默认为 '9000'。可以根据需要修改端口号。
注意:
- '/path/to/synapse-mcp/server.py' 需要替换为 'server.py' 脚本在您本地文件系统中的绝对路径。例如,如果您将仓库克隆到 '/Users/yourusername/Documents/synapse-mcp',则路径应为 '/Users/yourusername/Documents/synapse-mcp/server.py'。
- 确保 MCP 客户端能够访问到您配置的服务器地址和端口。
基本使用方法
-
启动服务器 在仓库根目录下,运行以下命令启动 Synapse MCP Server:
python server.py --host 127.0.0.1 --port 9000或使用 CLI 方式:
synapse-mcp --host 127.0.0.1 --port 9000 -
通过 MCP 客户端连接 配置 MCP 客户端,使其连接到运行中的 Synapse MCP Server。具体的配置方法请参考 MCP 客户端的文档。在配置中,您需要提供服务器的地址 (例如 'http://127.0.0.1:9000') 以及上面生成的启动命令配置。
-
使用示例 (通过 HTTP 请求) 以下是一些通过 HTTP 请求与服务器交互的示例,您可以使用 'curl' 或 'requests' 等工具进行测试:
-
获取服务器信息:
curl http://127.0.0.1:9000/info -
列出可用工具:
curl http://127.0.0.1:9000/tools -
获取实体信息 (替换 'syn123456' 为实际 Synapse ID):
curl http://127.0.0.1:9000/resources/entities/syn123456 -
查询表格数据 (替换 'syn123456' 和 SQL 查询语句):
curl "http://127.0.0.1:9000/resources/table/syn123456/SELECT * FROM syn123456 LIMIT 10" -
使用工具进行身份验证 (需要提供 Synapse Auth Token):
curl -X POST -H "Content-Type: application/json" -d '{"auth_token": "YOUR_SYNAPSE_AUTH_TOKEN"}' http://127.0.0.1:9000/tools/authenticate
更多使用示例请参考仓库 'README.md' 文件中的 "Examples" 部分。
-
部署
该项目提供了 Docker 和 Fly.io 部署指南,您可以根据需要选择合适的部署方式。请参考 'README.md' 文件中的 "Deployment" 部分获取详细信息。
信息
分类
数据库与文件