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 作为传输协议,简化部署和集成。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/sylphlab/MCP.git
    cd MCP
  2. 安装依赖: 确保已安装 'pnpm' 和 'Node.js (>=18)',然后运行:

    pnpm install
  3. 构建项目:

    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': 工作区外允许访问的路径模式,默认为空,表示不允许访问工作区外路径 (文件系统服务器相关配置)。

基本使用方法

  1. 启动服务器: 在仓库根目录下,针对每个服务器包,使用 'node packages/[服务器名称]/dist/index.js' 命令启动对应的 MCP 服务器。例如,启动 'base64' 服务器,运行 'node packages/base64/dist/index.js'。

  2. 配置客户端: 将上述服务器配置 JSON 添加到你的 MCP 客户端配置中。客户端会根据配置连接到启动的 MCP 服务器。

  3. 使用工具: 在 MCP 客户端中,你可以调用已注册的工具,例如使用 'filesystem' 服务器提供的文件操作工具,或使用 'fetch' 服务器发起 HTTP 请求。具体工具的使用方法请参考各个 '*-core' 包下的 'src/tools' 目录,其中包含了每个工具的详细定义和 Zod 输入 Schema。

请注意,你需要根据实际需求启动相应的 MCP 服务器,并在 MCP 客户端中正确配置才能使用这些工具。

信息

分类

开发者工具