使用说明

项目简介

SmallCloud MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器演示程序,旨在与 Anthropic 的 Claude Desktop 等 MCP 客户端协同工作。它使用 '@modelcontextprotocol/sdk' 库构建,展示了 MCP 服务器的基本功能,例如工具注册和调用。

主要功能点

  • 工具注册与管理: 服务器可以注册和管理工具,目前示例中包含一个 'get_hello' 工具。
  • 工具调用: 支持 MCP 客户端通过标准协议调用已注册的工具。
  • 基于 Stdio 的传输: 使用标准输入/输出 (stdio) 作为 MCP 客户端和服务器之间的通信通道。
  • 简单的示例工具: 提供了一个 'get_hello' 工具,用于返回定制化的问候语,演示工具的基本功能。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/SmallCloudCo/smallcloud-mcp-server.git
    cd smallcloud-mcp-server
  2. 安装依赖: 确保你已经安装了 Node.js (推荐版本 18 或更高) 和 npm。然后运行:
    npm install

服务器配置

要让 MCP 服务器在 Claude Desktop (MacOS) 中被识别,你需要编辑 Claude Desktop 的配置文件 'claude_desktop_config.json'。通常该文件位于 '~/Library/Application Support/Claude/' 目录下。如果文件不存在,你需要手动创建。

在 'claude_desktop_config.json' 文件中,添加 'mcpServers' 配置项,并配置 'smallcloud-mcp-server' 服务器。配置信息如下:

{
  "mcpServers": {
    "smallcloud-mcp-server": {  // 服务器名称,在Claude Desktop中显示的名称,可以自定义
      "command": "/opt/homebrew/bin/node", // 启动服务器的命令,这里是 node.js 的执行路径,请根据你的实际安装路径调整
      "args": [
        "~/Git/smallcloud-mcp-server/index.js" // 服务器启动脚本的路径,请替换为你的 smallcloud-mcp-server 仓库的实际路径
      ]
    }
  }
}

配置参数说明:

  • '"smallcloud-mcp-server"': 这是你在 Claude Desktop 中为该 MCP 服务器设置的名称。你可以自定义这个名称。
  • '"command"': 指定用于启动 MCP 服务器的命令。在本例中,'/opt/homebrew/bin/node' 是 Node.js 的可执行文件路径。你需要根据你的 Node.js 安装路径进行调整。如果你不确定 Node.js 的路径,可以在终端输入 'which node' 命令来查找。
  • '"args"': 一个字符串数组,包含了传递给 'command' 的参数。这里 '"~/Git/smallcloud-mcp-server/index.js"' 是服务器主程序 'index.js' 的路径。你需要将 '~/Git/smallcloud-mcp-server' 替换为你克隆仓库的实际本地路径

注意: 请务必根据你的实际环境修改 'command' 和 'args' 中的路径,确保 Claude Desktop 能够正确启动 MCP 服务器。

基本使用方法

  1. 启动服务器: 在仓库目录下,运行以下命令启动 MCP 服务器:

    node index.js

    服务器成功启动后,会在终端输出 "Server connected and running" 等信息。

  2. 在 Claude Desktop 中使用: 启动 Claude Desktop 应用程序。如果配置正确,你应该能在 Claude Desktop 的设置或插件/扩展等相关选项中看到名为 "smallcloud-mcp-server" 的 MCP 服务器。启用该服务器后,Claude Desktop 就可以与该 MCP 服务器进行通信,并调用服务器提供的工具。

  3. 测试 'get_hello' 工具: 在 Claude Desktop 中,你可以指示 Claude 调用 'get_hello' 工具。该工具接受 'name' (姓名) 和 'language' (语言) 两个参数。例如,你可以指示 Claude "使用 get_hello 工具,名字是张三,语言是中文"。服务器会将请求参数传递给 'get_hello' 工具,并返回相应的问候语。

目前提供的工具:

  • 'get_hello': 一个简单的问候工具,可以返回指定姓名和语言的问候语。

开发与测试

  • 运行测试:
    npm test
    该命令会运行服务器的测试套件,目前包含服务器启动和工具列表功能的测试。

信息

分类

开发者工具