MCP服务器实现

一个基于FastMCP的最小化MCP服务器实现,用于连接LLM与外部工具和数据源。

  • by rjmoggach
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rjmoggach/simple-mcp-server

使用说明

简单MCP服务器

使用FastMCP的模型上下文协议(MCP)服务器的最小实现。此示例演示了如何创建一个简单的MCP服务器,Windsurf IDE和Claude等客户端可以连接到该服务器。

什么是MCP?

模型上下文协议(MCP)是一种将LLM与外部工具和数据源连接起来的标准。MCP服务器通过提供对专用工具、外部信息和服务的访问来扩展AI功能。

特性

  • 双传输支持(HTTP和stdio)
  • 用于HTTP传输的简单身份验证中间件
  • 示例工具实现
  • 与Windsurf IDE和Claude等MCP客户端兼容

先决条件

安装

  1. 克隆此存储库:

    git clone https://github.com/rjmoggach/simple-mcp-server.git
    cd simple-mcp-server
    
  2. 安装依赖项:

    uv sync
    

用法

您可以在三种不同的模式下运行服务器:

使用两种传输方式运行(默认)

python run_server.py

这将同时启动端口9876上的HTTP服务器和stdio服务器。

仅限HTTP传输

python run_server.py --http-only

仅限stdio传输

python run_server.py --stdio-only

可用工具

服务器提供以下示例工具:

  1. 你好_世界 -一个简单的问候工具

    • 参数:
      • name (字符串,默认值:“World”):要问候的名称
      • delay (整数,默认值:0):可选延迟(秒)
    • 返回:问候语
  2. 获取版本 -返回服务器版本信息

    • 返回:版本详细信息,包括服务器名称和API版本
  3. 系统信息 -返回基本系统信息

    • 返回:Python版本和平台详细信息

连接到AI系统

Windsurf IDE配置

将以下配置添加到Windsurf IDE设置中:

"simple-mcp": {
  "command": "npx",
  "args": [
    "mcp-remote", 
    "http://localhost:9876/", 
    "--allow-http", 
    "--header", 
    "Authorization: Bearer SIMPLE_MCP_SERVER"
  ]
}

Claude桌面配置

将以下内容添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "simple-mcp": {
      "command": "uv",
      "args": [
        "run", 
        "--project", "/path/to/simple-mcp-server", 
        "python", "/path/to/simple-mcp-server/run_server.py", 
        "--stdio-only"
      ],
      "cwd": "/path/to/simple-mcp-server"
    }
  }
}

替换 /path/to/simple-mcp-server 了解项目的实际路径。

认证

对于HTTP传输,服务器使用简单的基于令牌的身份验证:

  • 令牌: SIMPLE_MCP_SERVER (定义见 run_server.py)
  • 标题格式: Authorization: Bearer SIMPLE_MCP_SERVER

扩展服务器

要添加自己的工具,请修改 create_mcp_server() 功能在 run_server.py:

@mcp.tool()
async def your_custom_tool(param1: str, param2: int = 0) -> dict:
    """Your custom tool description."""
    # Implementation here
    return {"result": "Your output"}

许可证

MIT许可证