使用说明
项目简介
本项目 'nanda-servers' 是一个用于构建 Model Context Protocol (MCP) 服务器的示例仓库和指南。它提供了 Python 和 JavaScript 两种语言的 MCP 服务器实现示例,并详细介绍了如何使用 Server-Sent Events (SSE) 协议构建 MCP 服务器,以便为 AI 客户端(如 NANDA 客户端)提供结构化的上下文信息和功能。
主要功能点
- MCP 服务器实现示例: 提供了 Python 和 JavaScript 两种语言的 MCP 服务器示例代码,包括天气 API 服务器和计算器服务器。
- 工具 (Tools) 注册与调用: 演示了如何定义和注册工具,使 AI 客户端能够调用这些工具执行特定功能,例如获取天气预报、执行计算等。
- 资源 (Resources) 管理与访问: 展示了如何定义和管理资源,使 AI 客户端能够以标准化的方式访问服务器端的数据。
- Prompt 模板 (Prompts) 定义: 虽然示例中没有明确展示 Prompt 模板,但仓库结构和 MCP 定义支持 Prompt 模板的添加和管理,用户可以根据指南扩展 Prompt 功能。
- SSE 传输协议: 采用 Server-Sent Events (SSE) 作为主要的传输协议,实现服务器向客户端的实时数据推送和双向通信。
- 详细的构建指南: README.md 文件提供了清晰的步骤和代码示例,指导开发者从零开始构建自己的 MCP 服务器。
- NANDA 客户端集成: 仓库文档明确指导了如何将构建的 MCP 服务器集成到 NANDA 客户端中使用。
安装步骤
Python 环境 (基于 Python 示例)
- 确保已安装 Python 3.9 或更高版本。
- 克隆仓库到本地:
git clone https://github.com/aidecentralized/nanda-servers.git cd nanda-servers - 进入 'python-server' 目录 (如果需要运行 Python 示例):
cd python-server - 创建并激活虚拟环境 (推荐):
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate.bat # Windows - 安装 Python 依赖:
pip install -r requirements.txt
Node.js 环境 (基于 JavaScript 示例)
- 确保已安装 Node.js 和 npm。
- 克隆仓库到本地(如果尚未克隆):
git clone https://github.com/aidecentralized/nanda-servers.git cd nanda-servers - 进入 'mcp-server-weather-js' 或 'mcp-calculator-server' 目录 (根据需要运行的 JavaScript 示例选择):
cd mcp-server-weather-js # 或 cd mcp-calculator-server - 安装 Node.js 依赖:
npm install
服务器配置
MCP 客户端配置示例 (JSON 格式)
以下是 MCP 客户端连接到本仓库提供的 MCP 服务器时需要配置的示例信息。请根据您实际运行的服务器示例 (Python 天气 API 或 JavaScript 计算器) 以及服务器的实际地址和端口进行调整。
1. Python 天气 API 服务器配置 (server.py)
{ "server name": "weather-api-server", "command": "python", "args": ["server.py"], "description": "Python 实现的天气 API MCP 服务器示例", "transport": "sse", "baseURL": "http://localhost:8080/sse" }
- 'server name': 服务器的名称,客户端用于识别,可以自定义。
- 'command': 启动服务器的命令,这里是 'python',假设您已将 Python 添加到系统 PATH 环境变量。
- 'args': 命令的参数,这里是 'server.py',指向 Python 天气 API 服务器脚本。
- 'description': 服务器的描述信息,方便客户端用户了解服务器功能。
- 'transport': 使用的传输协议,这里是 'sse' (Server-Sent Events)。
- 'baseURL': SSE 连接的基础 URL,指向运行中 Python 天气 API 服务器的 SSE 端点。
2. JavaScript 天气 API 服务器配置 (mcp-server-weather-js/src/index.ts)
{ "server name": "js-weather-api-server", "command": "node", "args": ["src/index.ts"], "description": "JavaScript 实现的天气 API MCP 服务器示例", "transport": "sse", "baseURL": "http://localhost:8080/sse" }
- 配置项含义同 Python 天气 API 服务器配置,但 'args' 指向 JavaScript 天气 API 服务器的入口文件 'src/index.ts'。
3. JavaScript 计算器服务器配置 (mcp-calculator-server/src/calc.ts)
{ "server name": "js-calculator-server", "command": "node", "args": ["src/calc.ts"], "description": "JavaScript 实现的计算器 MCP 服务器示例", "transport": "sse", "baseURL": "http://localhost:8080/sse" }
- 配置项含义同上,'args' 指向 JavaScript 计算器服务器的入口文件 'src/calc.ts'。
注意:
- 请确保在 MCP 客户端中正确配置以上 JSON 信息,以便客户端能够连接到对应的 MCP 服务器。
- 'baseURL' 中的 'localhost:8080' 假设服务器运行在本机 8080 端口。如果服务器运行在其他机器或端口,请替换为实际的地址和端口。
- 'command' 和 'args' 需要根据您的实际环境和服务器脚本位置进行调整。例如,如果 'node' 或 'python' 不在 PATH 环境变量中,您可能需要提供它们的完整路径。
基本使用方法
-
启动 MCP 服务器:
- Python 天气 API 服务器: 在 'python-server' 目录下,运行命令 'python server.py'。
- JavaScript 天气 API 服务器: 在 'mcp-server-weather-js' 目录下,运行命令 'npm start' 或 'node src/index.ts'。
- JavaScript 计算器服务器: 在 'mcp-calculator-server' 目录下,运行命令 'npm start' 或 'node src/calc.ts'。
- 服务器启动后,会监听在 'http://localhost:8080' (默认端口)。
-
使用 MCP Inspector 测试 (可选):
- 安装 MCP Inspector: 'npm install -g @modelcontextprotocol/inspector'
- 运行 MCP Inspector: 'npx @modelcontextprotocol/inspector'
- 连接到服务器 (以 Python 天气 API 服务器为例): 'connect sse http://localhost:8080/sse'
- 列出可用工具: 'list tools'
- 调用工具 (例如获取加州天气警报): 'call get_alerts --state CA' 或 (获取指定经纬度天气预报): 'call get_forecast --latitude 34.0522 --longitude -118.2437'
-
集成到 NANDA 客户端:
- 按照仓库 README.md 中 "Integration with NANDA Client" 部分的说明,将上述服务器配置信息添加到 NANDA 客户端中。
- 在 NANDA 客户端中,即可使用 MCP 服务器提供的工具和资源。例如,在对话中使用 '@工具名(参数)' 的形式调用工具。
通过以上步骤,您就可以成功运行和使用本仓库提供的 MCP 服务器示例,并将其集成到 MCP 客户端中,体验 MCP 协议带来的便利。
信息
分类
开发者工具