Sylph Lab MCP 服务器组件使用说明
项目简介
Sylph Lab MCP Monorepo 仓库是一个专注于 Model Context Protocol (MCP) 的项目,旨在为 AI 模型提供标准化的上下文信息和外部功能访问能力。该仓库包含多个独立的 MCP 服务器实现,每个服务器专注于提供特定领域的功能,例如文件系统操作、网络工具、JSON处理、Base64编解码等。这些服务器都基于 '@modelcontextprotocol/sdk' 构建,并遵循 MCP 协议标准,可以与任何兼容 MCP 协议的客户端进行交互。
主要功能点
- 模块化设计: 仓库采用 Monorepo 结构,将核心工具逻辑 ('*-core' 包) 与服务器实现 ('packages/<name>') 分离,方便扩展和维护。
- 多样化工具: 提供文件系统、等待、网络、Fetch、JSON、Base64、哈希、XML、PDF 等多种实用工具集。
- 标准化协议: 所有服务器均基于 MCP 协议和 JSON-RPC 通信,确保与 MCP 客户端的互操作性。
- 易于扩展: 通过核心库和 SDK,开发者可以方便地创建和注册新的工具到 MCP 服务器。
- Stdio 传输: 默认使用 Stdio 作为传输协议,简化部署和集成。
安装步骤
-
克隆仓库:
git clone https://github.com/sylphlab/MCP.git cd MCP -
安装依赖: 确保已安装 'pnpm' 和 'Node.js (>=18)',然后运行:
pnpm install -
构建项目:
pnpm run build这将会构建所有服务器包。
服务器配置
MCP 服务器需要配置在 MCP 客户端中,以下是各服务器通用的配置信息 JSON 格式示例,你需要根据实际使用的服务器选择对应的 'server name' 和 'description','command' 通常设置为 'node','args' 则指向服务器入口文件。
[ { "server name": "base64", "description": "提供 Base64 编码和解码工具的 MCP 服务器", "command": "node", "args": [ "packages/base64/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "fetch", "description": "提供 HTTP Fetch 请求工具的 MCP 服务器", "command": "node", "args": [ "packages/fetch/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "filesystem", "description": "提供文件系统操作工具的 MCP 服务器", "command": "node", "args": [ "packages/filesystem/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "hasher", "description": "提供哈希计算工具的 MCP 服务器", "command": "node", "args": [ "packages/hasher/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "json", "description": "提供 JSON 处理工具的 MCP 服务器", "command": "node", "args": [ "packages/json/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "net", "description": "提供网络工具 (fetch, IP查询, 网卡信息) 的 MCP 服务器", "command": "node", "args": [ "packages/net/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "pdf", "description": "提供 PDF 处理工具的 MCP 服务器", "command": "node", "args": [ "packages/pdf/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "wait", "description": "提供等待工具的 MCP 服务器", "command": "node", "args": [ "packages/wait/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] }, { "server name": "xml", "description": "提供 XML 处理工具的 MCP 服务器", "command": "node", "args": [ "packages/xml/dist/index.js" ], "workspace_allowed_patterns": [ "./" ], "outside_workspace_allowed_patterns": [] } ]
参数注释:
- 'server name': 服务器的唯一标识名称,用于 MCP 客户端识别和调用。
- 'description': 服务器的简短描述,方便用户理解其功能。
- 'command': 启动服务器的命令,通常为 'node'。
- 'args': 启动命令的参数,指向构建后的服务器入口 JavaScript 文件 ('dist/index.js')。 请根据你实际要使用的服务器选择 'packages' 目录下对应服务器的入口文件路径。
- 'workspace_allowed_patterns': 工作区允许访问的路径模式,默认为当前目录 './'。
- 'outside_workspace_allowed_patterns': 工作区外允许访问的路径模式,默认为空,表示不允许访问工作区外路径 (文件系统服务器相关配置)。
基本使用方法
-
启动服务器: 在仓库根目录下,针对每个服务器包,使用 'node packages/[服务器名称]/dist/index.js' 命令启动对应的 MCP 服务器。例如,启动 'base64' 服务器,运行 'node packages/base64/dist/index.js'。
-
配置客户端: 将上述服务器配置 JSON 添加到你的 MCP 客户端配置中。客户端会根据配置连接到启动的 MCP 服务器。
-
使用工具: 在 MCP 客户端中,你可以调用已注册的工具,例如使用 'filesystem' 服务器提供的文件操作工具,或使用 'fetch' 服务器发起 HTTP 请求。具体工具的使用方法请参考各个 '*-core' 包下的 'src/tools' 目录,其中包含了每个工具的详细定义和 Zod 输入 Schema。
请注意,你需要根据实际需求启动相应的 MCP 服务器,并在 MCP 客户端中正确配置才能使用这些工具。
信息
分类
开发者工具