Skip to main content
Glama
Timandes

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.

Related MCP server: MCP-OpenAPI

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ículo

Valor

Tipo de transporte

STDIO

Dominio

ultravioleta

Argumentos

ejecutar 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ículo

Descripción

nombre

Nombre del servidor

configuración

Pares 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ículo

Descripción

nombre

Nombre de la herramienta (nombre de la función), que se proporciona a LLM.

descripción

Descripción de la herramienta a través de la cual LLM puede comprender lo que la herramienta podría hacer.

argumentos

Argumentos de la herramienta (argumentos de la función).

Solicitud de plantilla

Solicitar mapeo a la API HTTP de destino.

Plantilla de respuesta

Mapeo de respuesta para la respuesta de la API HTTP de destino.

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

Artículo

Tipo

Descripción

nombre

Nombre del argumento, que se proporciona a LLM.

descripción

Descripción del argumento a través del cual LLM puede comprender y decidir qué valor debe ser llenado.

requerido

Booleano

Argumento requerido o no.

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

Artículo

Descripción

método

Método HTTP

URL

Plantilla de URL de API HTTP de destino

encabezados

encabezados HTTP

Los encabezados HTTP se definen de la siguiente manera:

Artículo

Descripción

llave

Clave de encabezado

valor

Plantilla de valor de encabezado

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

Artículo

Descripción

cuerpo

Plantilla de cuerpo de respuesta

Contribución

Todo tipo de contribuciones son bienvenidas.

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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

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