Skip to main content
Glama
wr5912

openapi-mcp-server

by wr5912
README.md
# OpenAPI MCP Server

基于 OpenAPI specification 动态创建 MCP tools/resources,并提供 React 管理台创建、刷新、启停、预览和调用 MCP Resources。

## 本地运行

```bash
make install
make dev-backend     # 管理 API: http://127.0.0.1:8001
make dev-frontend    # 管理台: http://127.0.0.1:5173
make dev-mcp         # MCP stdio server
```

OpenAPI API 不随本项目打包,地址在管理台创建 MCP Resource 时填写。

## Docker 部署

```bash
make docker-build
make docker-up
```

访问:

```text
http://127.0.0.1:58001
```

容器内服务端口为 `8001`,按项目规则映射到宿主机 `58001`。SQLite 数据通过 `docker/volume/sqlite/` 持久化。

## Agent 接入 MCP

管理台用于配置 OpenAPI URL,Agent 连接 MCP 服务端点:

```text
http://127.0.0.1:58001/mcp
```

MCP transport 使用 Streamable HTTP。Agent 侧配置示例:

```json
{
  "mcpServers": {
    "openapi-mcp": {
      "url": "http://127.0.0.1:58001/mcp",
      "transport": "http"
    }
  }
}
```

配置为启用且状态为 `active` 的 MCP Resource 会动态暴露为 tools/resources。

## 验证

```bash
make test
make lint
make build
```

本地 SQLite 默认数据文件为 `backend/data/openapi_mcp.db`,Docker SQLite 数据文件为 `docker/volume/sqlite/openapi_mcp.db`,二者均不纳入版本控制。