项目简介

'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请求。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/scc-tw/is-odd-mcp.git
    cd is-odd-mcp
  2. 安装依赖: 推荐使用 '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' 是可选的,可以提供服务器的简要描述。

基本使用方法

  1. 启动服务器: 根据上述配置,在MCP客户端中配置好服务器信息后,启动 'is-odd-mcp' 服务器。服务器将会在后台运行,并监听来自客户端的请求。

  2. 在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模型。
  3. 示例用法: 在 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与计算