Token导航 LogoToken导航TokenDH.com
MCP Swagger Search logo
搜索检索未说明官方级别未说明来源级核验

MCP Swagger Search

MCP Server

MCP Swagger Search是一个用于搜索和探索Swagger/OpenAPI文档的服务器,支持本地和远程传输模式,适用于微服务架构环境。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
API集成微服务TypeScriptClaudeHTTP传输Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chiman-jang

提供方

chiman-jang

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP Swagger搜索

MCP(模型上下文协议)服务器,用于搜索和探索Swagger/OpenAPI文档。

支持两者 标准 (当地)和 可流式传输的HTTP (远程)运输。

特性

  • 🔍 按关键字搜索API端点
  • 📖 获取详细的API规范
  • 🌐 多种传输模式(stdio和HTTP)
  • 🚀 MSA环境的无状态架构
  • 🔄 支持多个Swagger源

安装

npm install
npm run build

用法

1.标准传输(本地/Claude代码CLI)

对于使用Claude Code CLI的本地执行:

# Development
npm run dev

# Production
npm start

Claude代码配置 (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mcp-swagger-search": {
      "command": "node",
      "args": ["/path/to/mcp-swagger-search/dist/index.js"]
    }
  }
}

2.可流式HTTP传输(远程/MSA)

对于远程部署和微服务架构:

# Development with HTTP transport (default port: 3000)
npm run dev:http

# Production with HTTP transport
npm run start:http

# Custom port
npm run start:http:custom-port
# or
node dist/index.js --http --port=8080
# or
MCP_TRANSPORT=http MCP_PORT=8080 node dist/index.js

HTTP端点:

  • POST /mcp -主MCP端点(JSON-RPC 2.0)
  • GET /health -健康检查
  • GET /mcp/stream -SSE端点(未来使用)

HTTP请求示例:

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "search_api",
      "arguments": {
        "query": "pet"
      }
    },
    "id": 1
  }'

可用工具

1. search_api

按关键字搜索API端点。

参数:

  • query (string):搜索关键字(例如“宠物”、“用户”、“订单”)

例子:

{
  "name": "search_api",
  "arguments": {
    "query": "pet"
  }
}

2. get_api_detail

获取有关特定API终结点的详细信息。

参数:

  • service (string):服务名称(例如“petstore”)
  • path (字符串):API路径(例如,“/pet/{petId}”)
  • method (string):HTTP方法(例如,“GET”、“POST”)

例子:

{
  "name": "get_api_detail",
  "arguments": {
    "service": "petstore",
    "path": "/pet/{petId}",
    "method": "GET"
  }
}

3. list_services

列出所有可用的Swagger服务。

例子:

{
  "name": "list_services",
  "arguments": {}
}

配置

添加Swagger源

编辑 src/index.ts 添加您的Swagger/OpenAPI网址:

const SWAGGER_SOURCES: SwaggerSource[] = [
  {
    name: 'petstore',
    url: 'https://petstore3.swagger.io/api/v3/openapi.json',
  },
  {
    name: 'your-api',
    url: 'https://your-api.com/swagger.json',
  },
];

运输选择

优先级顺序:

  1. CLI标志: --http
  2. 环境变量: MCP_TRANSPORT=http
  3. 违约: stdio

端口选择:

  1. CLI标志: --port=8080
  2. 环境变量: MCP_PORT=8080
  3. 违约: 3000

建筑

┌─────────────────────────────────────┐
│         SwaggerMCPServer            │
│   (Transport-agnostic core logic)   │
└──────────────┬──────────────────────┘
               │
       ┌───────┴───────┐
       │               │
┌──────▼─────┐  ┌─────▼──────┐
│   Stdio    │  │   HTTP     │
│ Transport  │  │ Transport  │
└────────────┘  └────────────┘
     │               │
     │               │
┌────▼─────┐  ┌─────▼──────────┐
│  Claude  │  │  Remote Client │
│   Code   │  │  (MSA/Cloud)   │
└──────────┘  └────────────────┘

为什么是流式HTTP?

流式HTTP传输(MCP规范2025-03-26)是微服务架构的理想选择:

  • 无状态:90%以上的用例不需要会话管理
  • 可扩展的:使用负载平衡器轻松实现水平扩展
  • 灵活的:需要时提供可选会话支持
  • 云原生:适用于Kubernetes、无服务器等。
  • 简单:单端点,无粘性会话

发展

# Install dependencies
npm install

# Run in development mode (stdio)
npm run dev

# Run in development mode (HTTP)
npm run dev:http

# Build
npm run build

# Run production build
npm start

部署

码头工人

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY dist ./dist
EXPOSE 3000
CMD ["node", "dist/index.js", "--http"]

Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mcp-swagger-search
spec:
  replicas: 3
  selector:
    matchLabels:
      app: mcp-swagger-search
  template:
    metadata:
      labels:
        app: mcp-swagger-search
    spec:
      containers:
      - name: mcp-swagger-search
        image: mcp-swagger-search:latest
        env:
        - name: MCP_TRANSPORT
          value: "http"
        - name: MCP_PORT
          value: "3000"
        ports:
        - containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
  name: mcp-swagger-search
spec:
  selector:
    app: mcp-swagger-search
  ports:
  - port: 80
    targetPort: 3000
  type: LoadBalancer

许可证

ISC

贡献

欢迎投稿!请随时提交拉取请求。

目录标签

目录标签

API集成微服务TypeScriptClaudeHTTP传输API搜索本地部署Swagger文档OpenAPI

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP