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.yamlEdite 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=stdioNo 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 |
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.
This server cannot be installed
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.