Skip to main content
Glama

MCP Gateway

by Timandes

Puerta de enlace MCP

La puerta de enlace MCP (Protocolo de Contexto de Modelo) puede traducir las llamadas a herramientas MCP a solicitudes API HTTP tradicionales. Ofrece una forma configurable de integrar la API HTTP existente en el entorno MCP.

Empezando

Crear archivo de configuración desde config.example.yaml :

$ cp config.example.yaml config.yaml

Edite el archivo config.yaml y asigne todas las API a las herramientas MCP.

Luego comience a ejecutarlo con el transporte SSE:

$ uv run mcp-gateway INFO: Started server process [15400] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:3001 (Press CTRL+C to quit)

El valor predeterminado es 3001.

Control del servidor

Cambiar puerto

Proporcionar el parámetro --port=<port_no> en la línea de comando cambiará el puerto al transporte SSE.

Iniciar puerta de enlace con el puerto 3002:

$ uv run mcp-gateway --port=3002 INFO: Started server process [15400] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:3002 (Press CTRL+C to quit)

Transporte de stdio

Proporcionar el parámetro --transport=stdio en la línea de comando cambiará el transporte a stdio.

P.EJ:

$ uv run mcp-gateway --transport=stdio

No tiene sentido iniciar la puerta de enlace manualmente en el transporte de stdio. Puedes configurarla en Cursor o Cline como:

{ "mcpServers": { "mcp-gateway": { "command": "uv", "args": ["run", "mcp-gateway", "--transport=stdio"] } } }

O Inspector MCP con valores de formulario:

ArtículoValor
Tipo de transporteSTDIO
Dominioultravioleta
Argumentosejecutar mcp-gateway --transport=stdio

Archivo de configuración

Hay dos partes en la configuración YAML: server y tools . server define la información básica para el uso del servidor de enlace. tools definen la asignación de una sola herramienta MCP a una solicitud de API HTTP.

server: name: rest-amap-server config: apiKey: foo tools: - name: maps-geo description: "将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标" args: - name: address description: "待解析的结构化地址信息" required: true - name: city description: "指定查询的城市" required: false requestTemplate: url: "https://restapi.amap.com/v3/geocode/geo?key={{.config.apiKey}}&address={{.args.address}}&city={{.args.city}}&source=ts_mcp" method: GET headers: - key: x-api-key value: "{{.config.apiKey}}" - key: Content-Type value: application/json responseTemplate: body: | # 地理编码信息 {{- range $index, $geo := .Geocodes }} ## 地点 {{add $index 1}} - **国家**: {{ $geo.Country }} - **省份**: {{ $geo.Province }} - **城市**: {{ $geo.City }} - **城市代码**: {{ $geo.Citycode }} - **区/县**: {{ $geo.District }} - **街道**: {{ $geo.Street }} - **门牌号**: {{ $geo.Number }} - **行政编码**: {{ $geo.Adcode }} - **坐标**: {{ $geo.Location }} - **级别**: {{ $geo.Level }} {{- end }}

Servidor

ArtículoDescripción
nombreNombre del servidor
configuraciónPares clave/valor a los que se puede hacer referencia mediante la variable {{.config.xxx}} en las plantillas

Herramientas

tools es una lista de asignaciones de herramientas MCP. Las propiedades de una sola herramienta se definen de la siguiente manera:

ArtículoDescripción
nombreNombre de la herramienta (nombre de la función), que se proporciona a LLM.
descripciónDescripción de la herramienta a través de la cual LLM puede comprender lo que la herramienta podría hacer.
argumentosArgumentos de la herramienta (argumentos de la función).
Solicitud de plantillaSolicitar mapeo a la API HTTP de destino.
Plantilla de respuestaMapeo de respuesta para la respuesta de la API HTTP de destino.

Las propiedades de argumento único se definen de la siguiente manera:

ArtículoTipoDescripción
nombreNombre del argumento, que se proporciona a LLM.
descripciónDescripción del argumento a través del cual LLM puede comprender y decidir qué valor debe ser llenado.
requeridoBooleanoArgumento requerido o no.

Las propiedades de la plantilla de solicitud se definen de la siguiente manera:

ArtículoDescripción
métodoMétodo HTTP
URLPlantilla de URL de API HTTP de destino
encabezadosencabezados HTTP

Los encabezados HTTP se definen de la siguiente manera:

ArtículoDescripción
llaveClave de encabezado
valorPlantilla de valor de encabezado

Las propiedades de la plantilla de respuesta se definen de la siguiente manera:

ArtículoDescripción
cuerpoPlantilla de cuerpo de respuesta

Contribución

Todo tipo de contribuciones son bienvenidas.

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor que traduce las llamadas a herramientas del Protocolo de contexto de modelo (MCP) a solicitudes de API HTTP tradicionales, lo que permite que las API HTTP existentes se integren en el territorio MCP a través de asignaciones configurables.

  1. Empezando
    1. Control del servidor
      1. Cambiar puerto
      2. Transporte de stdio
    2. Archivo de configuración
      1. Servidor
      2. Herramientas
    3. Contribución

      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
        A
        license
        -
        quality
        MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
        Last updated -
        13
        2
        TypeScript
        MIT License
      • -
        security
        A
        license
        -
        quality
        An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
        Last updated -
        2
        Python
        MIT License
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol (MCP) server that enables Claude or other LLMs to fetch content from URLs, supporting HTML, JSON, text, and images with configurable request parameters.
        Last updated -
        Python
        MIT License

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/Timandes/mcp-gateway'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server