使用说明

项目简介

这是一个基于 TypeScript 的 MCP 服务器示例项目,旨在演示 MCP 协议中工具 (Tools) 的核心概念。它实现了一个简单的 'run_command' 工具,允许客户端请求服务器在隔离环境中执行指定的命令。虽然项目名称包含 "isolated-commands-mcp-server",但当前示例代码主要侧重于展示工具的注册和调用流程,资源和 Prompt 的部分仅在 'README.md' 中提及,代码实现较为基础。

主要功能点

  • 工具 (Tools) 注册: 服务器注册了一个名为 'run_command' 的工具,该工具接受一个 'command' 参数,并在服务器端执行。
  • 工具 (Tools) 调用: MCP 客户端可以向服务器发送 'CallToolRequest' 请求,调用已注册的 'run_command' 工具,并获取命令执行的结果。
  • 标准 MCP 协议: 服务器使用 '@modelcontextprotocol/sdk' 库构建,遵循 MCP 协议规范,通过 JSON-RPC 协议与客户端通信。
  • Stdio 传输: 服务器使用 Stdio (标准输入/输出) 作为传输协议,方便与本地客户端进行集成和调试。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
  2. 克隆仓库: 将仓库 'https://github.com/MCP-Mirror/mikegehard_isolated-commands-mcp-server' 克隆到本地。
  3. 安装依赖: 在项目根目录下,运行以下命令安装项目依赖:
    npm install
  4. 构建项目: 运行以下命令构建 TypeScript 代码:
    npm run build
    构建成功后,会在 'build' 目录下生成 'index.js' 文件,这是服务器的入口文件。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令。以下是一个配置示例,你需要根据你的实际路径进行调整。

{
  "mcpServers": {
    "isolated-commands-mcp-server": {
      "command": "/path/to/isolated-commands-mcp-server/build/index.js"
      // 请将 "/path/to/isolated-commands-mcp-server" 替换为你本地仓库的实际路径
    }
  }
}

配置说明:

  • '"isolated-commands-mcp-server"': 服务器的名称,可以自定义,用于在客户端中标识该服务器。
  • '"command"': 服务器的启动命令。这里指向构建后的 'index.js' 文件,需要使用 Node.js 执行。请务必将 '/path/to/isolated-commands-mcp-server' 替换为你本地仓库 'mikegehard_isolated-commands-mcp-server' 的绝对路径。

Claude Desktop 配置路径:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

基本使用方法

  1. 启动服务器: MCP 客户端(如 Claude Desktop)在配置完成后,会自动启动该 MCP 服务器。服务器通过 Stdio 与客户端通信。
  2. 调用 'run_command' 工具: 在 MCP 客户端中,你可以指示 LLM 调用 'run_command' 工具。例如,在 Claude 中,你可以通过自然语言指示 Claude 执行命令。
  3. 查看命令结果: 服务器执行命令后,会将结果以文本形式返回给客户端,客户端会将结果展示给用户。

例如,你可以指示 Claude 执行命令 'ls -l',客户端会将这个请求发送给 MCP 服务器,服务器执行 'ls -l' 命令并将结果返回给客户端。

注意: 此示例项目仅演示了 'run_command' 工具的基本功能。实际应用中,你需要根据具体需求扩展工具的功能和安全性。此外,示例代码中关于资源 (Resources) 和 Prompt 模板 (Prompts) 的实现较为简单,更完善的 MCP 服务器需要更全面的资源管理和 Prompt 处理机制。

信息

分类

开发者工具