使用说明

项目简介

本项目是一个 MCP (Model Context Protocol) 服务器的示例仓库,旨在帮助开发者理解和实践 MCP 协议。它提供了一系列预构建的 MCP 服务器,用于连接各种常用服务,如 Kaggle、HuggingFace 和 GitHub。通过这些示例,您可以学习如何构建自己的 MCP 服务器,以便将外部数据和功能集成到支持 MCP 协议的 AI 工具(如 Windsurf)中。

主要功能点

  • 预构建 MCP 服务器: 仓库包含针对 Kaggle, HuggingFace, GitHub 等平台的 MCP 服务器示例,可以直接使用或作为参考。
  • 工具 (Tools) 注册与执行: 每个 MCP 服务器都定义了一组工具,这些工具封装了对外部服务的操作,例如搜索数据集、运行模型、管理 GitHub 仓库等。AI 工具可以通过 MCP 协议调用这些工具。
  • 标准 JSON-RPC 通信: MCP 服务器使用标准的 JSON-RPC 协议与客户端通信,接收请求并返回响应。
  • 灵活配置: MCP 服务器可以通过环境变量进行配置,例如 API 密钥、用户名等,保证安全性和灵活性。
  • 开发指南: 仓库提供了详细的 MCP 服务器开发指南,包括架构说明、schema 定义、服务器实现步骤、安全最佳实践等,帮助开发者从零开始构建自己的 MCP 服务器。

安装步骤

  1. 下载仓库: 将 GitHub 仓库克隆到本地:
    git clone https://github.com/MasihMoafi/MCP.git
    cd MCP
  2. 安装 Node.js 依赖 (如果需要): 示例 MCP 服务器是使用 Node.js 开发的,如果需要运行或修改这些示例,请确保已安装 Node.js 环境。部分示例可能需要安装额外的 npm 包,请查看具体示例的说明。
  3. 使 MCP 文件可执行: 为了让 MCP 客户端能够直接运行 MCP 服务器脚本,需要赋予执行权限。例如,对于 'simple-kaggle-mcp.js':
    chmod +x simple-kaggle-mcp.js
    对仓库中其他 '.js' 结尾的 MCP 服务器文件执行相同的操作。

服务器配置

MCP 服务器是为 MCP 客户端(例如 Windsurf)设计的后端服务。客户端需要配置才能连接和使用这些服务器。以下是配置 Kaggle MCP 服务器的示例 (JSON 格式):

{
  "mcpServers": {
    "kaggle": {  // 服务器名称,客户端用此名称引用
      "command": "/path/to/MCP/simple-kaggle-mcp.js", // MCP 服务器启动命令,指向 simple-kaggle-mcp.js 脚本的绝对路径
      "env": {  // 环境变量配置
        "KAGGLE_USERNAME": "your-kaggle-username", // 你的 Kaggle 用户名,请替换为实际用户名
        "KAGGLE_KEY": "your-kaggle-api-key"    // 你的 Kaggle API 密钥,请替换为实际 API 密钥
      }
    },
    "huggingface": { // 另一个服务器配置示例:HuggingFace MCP
      "command": "/path/to/MCP/simple-huggingface-mcp.js", // HuggingFace MCP 服务器启动命令
      "env": {
        "HUGGINGFACE_TOKEN": "your-huggingface-api-token" // 你的 HuggingFace API Token,请替换为实际 Token
      }
    }
    // ... 可以添加更多 MCP 服务器配置
  }
}

基本使用方法

  1. 配置 MCP 客户端: 根据 MCP 客户端 (例如 Windsurf) 的文档,编辑其 MCP 配置文件 (通常是 'mcp_config.json'),添加或修改上述服务器配置信息。
  2. 启动 MCP 客户端: 启动配置好的 MCP 客户端。客户端会根据配置文件中指定的命令启动 MCP 服务器。
  3. 在 MCP 客户端中使用工具: 在 MCP 客户端中,您可以调用已配置的 MCP 服务器提供的工具。例如,在 Windsurf 中,您可以使用自然语言指令来触发 Kaggle MCP 服务器的 'search_datasets' 工具,搜索 Kaggle 数据集。客户端会通过 JSON-RPC 协议与 MCP 服务器通信,执行工具并返回结果。

注意:

  • 请根据您的实际文件路径修改 'command' 字段中的路径。
  • 请务必将敏感信息(如 API 密钥、Token)配置在 'env' 环境变量中,而不是硬编码在代码中。
  • 不同的 MCP 客户端可能有不同的配置方式,请参考您使用的 MCP 客户端的官方文档进行配置。

信息

分类

开发者工具