使用说明
项目简介
Getting-Started-with-MCP 是一个入门级的MCP服务器示例项目,旨在帮助开发者快速了解和上手MCP服务器的开发。它基于 'fastmcp' 库,展示了如何使用Python创建并运行一个简单的MCP服务器,该服务器对外暴露了一个加法计算工具和一个动态问候语资源。
主要功能点
- 工具 (Tool) 注册: 示例代码演示了如何使用 '@mcp.tool()' 装饰器将Python函数注册为MCP工具,允许LLM客户端调用执行。例如,项目中的 'add' 函数就是一个简单的加法工具。
- 资源 (Resource) 注册: 示例代码展示了如何使用 '@mcp.resource()' 装饰器创建动态资源,允许LLM客户端通过URI访问。例如,'greeting://{name}' 资源可以根据请求的名称动态生成问候语。
- FastMCP 框架: 项目使用了 'fastmcp' 库简化MCP服务器的开发,开发者可以更专注于定义工具和资源,而无需从零开始处理底层的MCP协议细节。
安装步骤
- 安装 uv (可选但推荐): 'uv' 是一个快速的Python包和项目管理器,可以加速虚拟环境和依赖安装。
pip install uv - 创建虚拟环境 (推荐): 使用 'uv' 或 'venv' 创建虚拟环境,隔离项目依赖。
uv venv # 使用 uv # 或 python -m venv venv # 使用 venv - 激活虚拟环境:
source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows - 安装 'mcp[cli]' 库: 根据 'README.md' 提示,安装 'mcp[cli]' 库,项目中实际使用了 'mcp.server.fastmcp',推测 'mcp[cli]' 包含了 'fastmcp'。
uv add "mcp[cli]" # 使用 uv # 或 pip install "mcp[cli]" # 使用 pip - 安装项目依赖 (如果需要): 虽然示例代码很简单,但如果项目有 'requirements.txt' 或其他依赖管理方式,需要进行安装。 本例中可以直接跳过此步骤,因为代码直接可用。
服务器配置
针对 'server.py' 示例服务器:
{ "serverName": "My APP Server", // MCP 服务器名称,对应 FastMCP 初始化时的名称 "command": "mcp", // 启动 MCP 服务器的命令,这里假设 mcp cli 工具已安装 "args": ["dev", "server.py"] // 传递给 mcp 命令的参数,dev 表示开发模式,server.py 是服务器代码文件 }
针对 'calculator.py' 示例服务器:
{ "serverName": "DEMO Server", // MCP 服务器名称,对应 FastMCP 初始化时的名称 "command": "mcp", // 启动 MCP 服务器的命令 "args": ["dev", "calculator.py"] // 传递给 mcp 命令的参数,calculator.py 是服务器代码文件 }
配置说明:
- 'serverName': MCP服务器的名称,这个名称通常在MCP客户端中用于标识和选择服务器。
- 'command': 启动MCP服务器进程的命令。 根据 'README.md' 和示例代码,这里使用 'mcp' 命令行工具。 这需要用户预先安装 'mcp[cli]' 并确保 'mcp' 命令在PATH环境变量中可用。
- 'args': 传递给 'command' 命令的参数列表。
- '"dev"': 表示以开发模式启动服务器,通常用于本地测试和调试。
- '"server.py"' 或 '"calculator.py"': 指定要运行的MCP服务器代码文件。
注意: MCP客户端需要根据实际情况配置 'command' 和 'args'。 如果 'mcp' 命令不可用,或者服务器代码文件路径不正确,客户端将无法连接到MCP服务器。 如果 'mcp' 不是通过 'pip install mcp[cli]' 安装的,而是通过其他方式安装或构建的,'command' 和 'args' 可能需要相应调整。
基本使用方法
-
启动 MCP 服务器: 使用 MCP 客户端配置中提供的命令和参数启动服务器。例如,在终端中执行:
mcp dev server.py # 或 mcp dev calculator.py服务器成功启动后,通常会监听来自MCP客户端的连接和请求。
-
使用 MCP 客户端连接: 使用支持 MCP 协议的客户端(例如 Claude Desktop 或 MCP Inspector)连接到运行中的 MCP 服务器。 在客户端中,你需要配置服务器的连接信息,通常包括服务器名称以及启动命令等。
-
调用工具 (Tool): 在 MCP 客户端中,可以发现并调用服务器注册的工具。 例如,对于 'server.py' 或 'calculator.py' 示例,客户端应该能够找到名为 'add' 的工具,并传入参数 'a' 和 'b' 进行加法运算。
-
访问资源 (Resource): 在 MCP 客户端中,可以根据资源定义的 URI 访问服务器提供的资源。 例如,对于 'calculator.py' 示例,可以使用 'greeting://your_name' 访问动态问候语资源,将 'your_name' 替换为你想要的名字。
提示: 'README.md' 中提到可以使用 'MCP Inspector' 或 'Claude Desktop' 进行测试和交互。 这些工具通常提供了图形界面,方便用户连接和测试MCP服务器的功能。
信息
分类
AI与计算