Synapse MCP 服务器
模型上下文协议 (MCP) 服务器,公开 Synapse 实体(数据集、项目、文件夹、文件、表)及其注释并支持 OAuth2 身份验证。
概述
此服务器提供 RESTful API,用于通过模型上下文协议 (MCP) 访问 Synapse 实体及其注释。它允许您:
- 使用 Synapse 进行身份验证
- 通过 ID 检索实体
- 按名称检索实体
- 获取实体注释
- 获取实体子项
- 根据各种条件查询实体
- 查询 Synapse 表
- 获取 Croissant 元数据格式的数据集
安装
从 PyPI 安装
用法
启动服务器
这将在默认端口(9000)上启动 MCP 服务器。
使用 CLI
命令行选项
运行测试
测试服务器
身份验证方法
环境变量
服务器支持以下环境变量:
HOST
:要绑定的主机(默认值:127.0.0.1)PORT
:监听的端口(默认值:9000)MCP_TRANSPORT
:要使用的传输协议(默认值:stdio)stdio
:使用标准输入/输出进行本地开发sse
:使用服务器发送事件进行云部署
MCP_SERVER_URL
:服务器的公共 URL(默认值:mcp://127.0.0.1:9000)- 用于 OAuth2 重定向和服务器信息
服务器支持两种认证方式:
- Auth Token :使用 Synapse 身份验证令牌进行身份验证
- OAuth2 :使用 Synapse 的 OAuth2 服务器进行身份验证
- 需要在 Synapse 中注册 OAuth2 客户端( https://www.synapse.org/#!PersonalAccessTokens:OAuth )
API 端点
服务器信息
GET /info
获取服务器信息
工具
GET /tools
- 列出可用工具POST /tools/authenticate
- 使用 Synapse 进行身份验证POST /tools/get_oauth_url
- 获取 OAuth2 授权 URLPOST /tools/get_entity
- 通过 ID 或名称获取实体POST /tools/get_entity_annotations
- 获取实体的注释POST /tools/get_entity_children
- 获取容器实体的子实体POST /tools/query_entities
- 根据各种条件查询实体POST /tools/query_table
- 查询 Synapse 表
资源
GET /resources
- 列出可用资源GET /resources/entity/{id}
- 通过 ID 获取实体GET /resources/entity/{id}/annotations
- 获取实体注释GET /resources/entity/{id}/children
- 获取实体子项GET /resources/query/entities/{entity_type}
- 按类型查询实体GET /resources/query/entities/parent/{parent_id}
- 通过父 ID 查询实体GET /resources/query/entities/name/{name}
- 按名称查询实体GET /resources/query/table/{id}/{query}
- 使用类似 SQL 的语法查询表
OAuth2 端点
GET /oauth/login
- 重定向到 Synapse OAuth2 登录页面GET /oauth/callback
- 处理来自 Synapse 的 OAuth2 回调
示例
验证
您需要使用真实的 Synapse 凭据进行身份验证才能使用服务器:
OAuth2 身份验证
1. 重定向流程(基于浏览器)
将用户定向到 OAuth 登录 URL:
2. 基于 API 的流程
对于程序化使用,首先获取授权URL:
获取实体
获取实体注释
查询实体
查询表
获取 Croissant 格式的数据集
部署
Docker
您可以使用 Docker 构建并运行服务器:
Fly.io
部署到 fly.io:
与 Claude Desktop 集成
您可以将此 Synapse MCP 服务器与 Claude Desktop 集成,以使 Claude 能够在您的对话中直接访问和使用 Synapse 数据。
设置说明
- 首先,克隆存储库并安装要求:
- 配置 Claude Desktop 以使用 Synapse MCP 服务器:
- 打开 Claude 桌面
- 点击 Claude 菜单并选择“设置...”
- 点击左侧栏中的“开发者”
- 点击“编辑配置”
- 将以下配置添加到
mcpServers
部分:
- 保存配置文件并重新启动Claude Desktop
- 您现在可以在与 Claude 的对话中使用 Synapse 数据。例如:
- “从 Synapse 获取 ID 为 syn123456 的实体”
- “查询Synapse项目syn123456中的所有文件”
- “获取 Synapse 实体 syn123456 的注释”
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
麻省理工学院
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
模型上下文协议服务器公开 Synapse 实体(数据集、项目、文件夹、文件、表)及其注释,从而能够通过 RESTful API 以编程方式访问 Synapse 数据资源。
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server implementation for interacting with Salesforce through its REST API.Last updated -410TypeScript
- -securityFlicense-qualityA Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.Last updated -462Python
- -securityFlicense-qualityA Model Context Protocol server for accessing Confluence API using Personal Access Tokens, enabling users to retrieve space lists, view pages, create new pages, and update existing content.Last updated -TypeScript
- -securityAlicense-qualityA Model Context Protocol server that exposes over 200+ APIs from API.market as MCP resources, allowing large language models to discover and interact with various APIs through natural language commands.Last updated -1112TypeScriptMIT License