多协议通信服务器

一个支持标准I/O、服务器发送事件(SSE)和OpenAPI/REST端点的多协议通信服务器框架,适用于需要灵活通信方式的开发场景。

  • by 3loc
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 3loc/openapi-mcp-server

使用说明

OpenAPI MCP服务器

这是一个骨架项目,您可以将其用作构建自己的MCP服务器的起点。示例添加函数演示了如何跨所有三种协议实现处理程序。

特性

当前实施状态:

  • ✅ 标准输入/输出(stdio)
  • ✅ 服务器发送事件(SSE)
  • ✅ OpenAPI/REST端点

运行模式

服务器支持三种不同的操作模式,由 MODE 环境变量:

  • stdio:作为标准I/O服务器运行
  • sse:作为服务器发送事件服务器运行(端口8001)
  • openapi:作为OpenAPI/REST服务器运行(端口8002)

建立和运行

使用Docker Compose

  1. 构建容器:
docker compose build
  1. 运行特定服务:
# Run all services
docker compose up

# Run only SSE server
docker compose up sse-mcp-server

# Run only OpenAPI server
docker compose up openapi-mcp-server

直接使用Docker

您也可以直接使用Docker运行服务器:

# Run in stdio mode
docker run -i --rm -e MODE=stdio 3loc/openapi-mcp-server

# Run in SSE mode
docker run -p 8001:8000 --rm -e MODE=sse 3loc/openapi-mcp-server

# Run in OpenAPI mode
docker run -p 8002:8000 --rm -e MODE=openapi 3loc/openapi-mcp-server

配置

服务器可以使用 mcp.json 文件。以下是一个配置示例:

{
  "mcpServers": {
    "stdio-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm", 
        "-i",
        "--name", "openapi-mcp-server",
        "-e", "MODE=stdio",
        "3loc/openapi-mcp-server"
      ]
    },
    "sse-mcp-server": {
      "url": "http://localhost:8001/sse"
    }
  }
}

发展

该项目为实现具有多种通信协议的MCP服务器提供了基础。现在,所有三种模式(stdio、SSE和OpenAPI)都已实现,可以根据您的需求互换使用。