项目简介
'is-odd-mcp' 是一个轻量级的MCP服务器,旨在演示如何构建一个提供简单功能的MCP服务。该服务器提供了一个 'is_odd' 工具,可以判断一个数字是否为奇数,并提供了相关的文档、示例资源以及用于奇偶性判断的Prompt模板。这个项目非常适合作为MCP服务器入门示例,帮助开发者理解如何将简单的功能通过MCP协议暴露给LLM客户端(如AI助手)。
主要功能点
- 奇偶性判断工具 (is_odd Tool): 提供一个 'is_odd' 工具,LLM客户端可以调用该工具来判断一个整数是否为奇数。
- 文档和示例资源 (Documentation & Examples Resources): 提供关于如何使用该MCP服务器的文档和示例,方便用户理解和集成。
- Prompt模板 (Prompt Templates): 预设了用于奇偶性检查和奇数过滤的Prompt模板,方便LLM客户端生成针对特定任务的指令。
- MCP协议支持: 基于 'mcp' Python库构建,实现了标准的MCP服务器功能,可以接收和响应来自MCP客户端的JSON-RPC请求。
安装步骤
-
克隆仓库:
git clone https://github.com/scc-tw/is-odd-mcp.git cd is-odd-mcp -
安装依赖: 推荐使用 'uv' (更快速的Python包管理器),或者使用 'pip'。
使用 uv (推荐):
uv init # 初始化虚拟环境 (如果需要) uv add "mcp[cli]" # 安装 mcp 库和命令行工具使用 pip:
pip install "mcp[cli]" # 安装 mcp 库和命令行工具
服务器配置
MCP客户端需要配置以下信息才能连接到 'is-odd-mcp' 服务器。以下是JSON格式的配置示例,包含了启动服务器所需的命令 (command) 和参数 (args)。
{ "server_name": "IsOdd", // 服务器名称,可以自定义 "command": "uv", // 启动命令,这里使用 uv 运行 "args": [ // 启动参数列表 "run", // uv 的 run 命令,表示运行 Python 脚本 "mcp", // 使用 mcp 命令行工具 "dev", // 使用 mcp dev 子命令,用于开发模式,方便调试 "server.py" // 服务器主脚本文件 ], "description": "IsOdd MCP Server for checking odd numbers" // 服务器描述,可选 }
或者,如果直接使用 Python 运行服务器:
{ "server_name": "IsOdd", "command": "uv", // 启动命令,这里仍然使用 uv "args": [ "run", "python", // 直接运行 python "server.py" ], "description": "IsOdd MCP Server for checking odd numbers" }
或者,如果已经将 'mcp' 命令加入到系统路径,可以直接使用 'mcp run':
{ "server_name": "IsOdd", "command": "uv", "args": [ "run", "mcp", // 使用 mcp 命令行工具 "run", // 使用 mcp run 子命令,直接运行服务器 "server.py" ], "description": "IsOdd MCP Server for checking odd numbers" }
注意:
- 请根据你的实际环境选择合适的配置。如果你的环境中 'uv' 或 'mcp' 命令不在系统路径中,你可能需要使用 Python 的完整路径或者调整配置。
- 'server_name' 可以自定义,用于在MCP客户端中标识该服务器。
- 'description' 是可选的,可以提供服务器的简要描述。
基本使用方法
-
启动服务器: 根据上述配置,在MCP客户端中配置好服务器信息后,启动 'is-odd-mcp' 服务器。服务器将会在后台运行,并监听来自客户端的请求。
-
在LLM客户端中使用: 在支持MCP协议的LLM客户端(例如 Claude Desktop 集成)中,你可以:
- 调用 'is_odd' 工具: 当用户询问 "5是奇数吗?" 或 "检查10是否是奇数" 等问题时,LLM客户端可以调用 'is_odd' 工具,并将数字 (例如 5 或 10) 作为参数传递给服务器。服务器将返回 'true' 或 'false' 的结果。
- 使用 Prompt模板: LLM客户端可以使用 'odd_checker_prompt' 或 'odd_filter_prompt' 等Prompt模板,根据用户输入生成合适的Prompt,并发送给LLM模型。
-
示例用法: 在 Claude 中,你可以尝试以下Prompt来测试 'is-odd-mcp' 服务器的功能:
- "Is 42 an odd number?" (Claude 可能会调用 'is_odd' 工具来回答)
- "Filter out all the odd numbers from this list: 1,2,3,4,5,6,7,8,9,10" (Claude 可能会使用 'odd_filter_prompt' 或结合 'is_odd' 工具来处理)
总而言之,'is-odd-mcp' 提供了一个简单但完整的MCP服务器示例,你可以将其安装并配置到支持MCP协议的LLM客户端中,体验如何通过MCP服务器扩展LLM的功能。
信息
分类
AI与计算