简单MCP 服务器示例

使用说明(Markdown格式)

  • 项目简介

    • 这是一个最小且可运行的MCP服务器示例,展示如何实现处理MCP格式请求与响应的核心逻辑,包括注册工具、执行工具、以及提供对外的简易资源/模板能力。服务器通过stdio传输与客户端通信,适合本地测试与教育演练。
  • 主要功能点

    • 列出服务器可用工具(list_tools)
    • 调用工具执行(call_tool),返回文本内容
    • 提供示例工具:获取当前时间、数字运算、随机笑话、字符串反转等
    • 采用标准的MCP服务器结构,支持会话初始化、工具管理和简单的JSON-RPC风格交互
    • 作为教学模板,便于后续扩展到更完整的资源、工具、Prompts等 MCP 功能
  • 安装步骤

    • 克隆代码并进入项目目录
    • 确保 Python 3.10+ 环境
    • 直接运行示例脚本(如下使用方式所示)
  • 服务器配置(MCP客户端使用的启动配置.json,包含 server name、command、args 等信息) { "server_name": "simple-demo-server", "command": ["python3", "mcp_examples/your_first_mcp_server/simple_mcp_server.py"], "args": [] } 说明:

    • server_name:服务器对外唯一标识名称,与代码中的服务器实例名称一致
    • command/args:用于MCP客户端启动服务器所需的执行命令及参数;本示例采用本仓库中的脚本路径
    • MCP客户端本身不需要在此处写代码,仅需要按上述配置启动服务端进程并通过标准输入输出与之通信
  • 基本使用方法

    • 使用前请确保当前工作目录在仓库根
    • 直接在终端执行:python3 mcp_examples/your_first_mcp_server/simple_mcp_server.py
    • 客户端可以通过标准输入输出(stdio)将JSON-RPC请求发给服务器,示例工具会返回JSON-RPC响应
    • 服务器提供的工具列表包括:
      • get_current_time:返回当前时间
      • add_numbers:输入 a, b,返回 a+b
      • random_joke:返回一个随机笑话
      • reverse_string:输入 text,返回该文本反向结果
    • 通过工具调用接口,可以实现从LLM或其他客户端发起的功能调用
  • 运行与测试

    • 本地直接运行 simple_mcp_server.py 即可启动示例服务器
    • 可结合同仓库中的简单测试脚本(如 simple_mcp_test.py)对 server 的 list_tools、call_tool 进行基本测试
  • 额外信息

    • 本示例适合作为教育演示与入门模板,后续可扩展到完整的资源、模板渲染和更完整的JSON-RPC协议实现

服务器信息