MCP-OpenAPI

by rmasters
MIT License
2

Integrations

  • Mentioned in the example configuration where a FastAPI server is running, and the README notes it uses a FastMCP server with registered tools

  • The package is available on PyPI as 'mcp-openapi'

  • Supports Swagger/OpenAPI specifications (versions 3.0 and 3.1) to expose HTTP methods as tools

MCP-OpenAPI

Un servidor de protocolo de contexto de modelo que expone métodos HTTP de una especificación OpenAPI como herramientas.

[!ADVERTENCIA] Esta es una prueba de concepto que aún debe probarse y documentarse por completo.

Uso

Cada servidor MCP-OpenAPI expone operaciones de una única especificación OpenAPI. Se pueden ejecutar varias instancias para exponer varias especificaciones.

Este paquete está disponible en PyPI @ [ mcp-openapi ] [pypi]. Puede iniciar un servidor con uvx mcp-openapi --openapi-url https://httpbin.org/spec.json (sse | stdio) .

Un ejemplo de configuración de Claude (mientras se ejecuta fastapi dev tests/todos.py con el puerto 8000):

{ "mcpServers": { "todos": { "command": "uvx", "args": [ "mcp-openapi", "--openapi-url=http://localhost:8000/openapi.json", "stdio" ] } } }

La URL de OpenAPI también se puede pasar como una variable de entorno, MCP_OPENAPI_URL .

Al ejecutar como SSE, puede configurar el servidor con:

  • --fastmcp-sse-host : el host en el que servirá el servidor MCP
  • --fastmcp-sse-port : el puerto en el que se servirá el servidor MCP

Hay opciones globales adicionales:

  • --fastmcp-debug - habilita el modo de depuración para el servidor MCP
  • --fastmcp-log-level : el nivel de registro del servidor MCP

Estos también se pueden configurar a través de variables de entorno usando el prefijo FASTMCP_ , por ejemplo, FASTMCP_LOG_LEVEL=DEBUG .

Cómo funciona

  1. El servidor MCP-OpenAPI se inicializa con una URL de especificación OpenAPI.
  2. El servidor obtiene y analiza la especificación OpenAPI y registra cada operación de ruta como una herramienta.
  3. Se inicia un servidor FastMCP con las herramientas registradas.
  4. Cuando un cliente solicita una herramienta, el servidor MCP realiza una solicitud HTTP a la API y devuelve la respuesta.

Versiones compatibles de OpenAPI/Swagger

Fanfarronería 2.0OpenAPI 3.0OpenAPI 3.1
:incógnita::marca de verificación pesada::marca de verificación pesada:

Este paquete es compatible con las especificaciones OpenAPI 3.0 y 3.1, en formatos JSON y YAML.

Estamos usando openapi-parser internamente, que parece ser bastante completo y admite la resolución de referencias a especificaciones externas.

Opciones de configuración futuras

[!INFO] Estas medidas aún están por implementarse.

Restricción de puntos finales

De forma predeterminada, todos los endpoints se exponen como herramientas. Puede restringir qué endpoints se exponen:

  • Por patrones de trayectoria,
  • Por el método HTTP,
  • Enumerar explícitamente las operaciones individuales a exponer,
  • Seleccionar rutas mediante etiquetas OpenAPI.

Manejo de la autenticación de API

MCP-OpenAPI realiza solicitudes de API a la API de destino: puede usar un token de autenticación global:

  • --auth-token : un token portador, o credenciales básicas en formato base64, utilizado según la especificación de OpenAPI.

Sería bueno poder realizar solicitudes utilizando diferentes tokens de autenticación (por ejemplo, por usuario cliente), pero sin que el LLM vea los tokens. TBD.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor MCP que expone métodos HTTP definidos en una especificación OpenAPI como herramientas, lo que permite la interacción con las API a través del Protocolo de Contexto de Modelo.

  1. Usage
    1. How it works
    2. Supported OpenAPI/Swagger versions
    3. Future configuration options
    4. Handling API authentication

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
    Last updated -
    4
    3
    TypeScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server implementation that enables connection between OpenAI APIs and MCP clients for coding assistance with features like CLI interaction, web API integration, and tool-based architecture.
    Last updated -
    9
    Python
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    A server that enables interaction with any API that has a Swagger/OpenAPI specification through Model Context Protocol (MCP), automatically generating tools from API endpoints and supporting multiple authentication methods.
    Last updated -
    11
    TypeScript
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    A server that translates Model Context Protocol (MCP) tool callings to traditional HTTP API requests, allowing existing HTTP APIs to be integrated into MCP territory through configurable mappings.
    Last updated -
    Python
    Apache 2.0

View all related MCP servers

ID: ggsylex73e