hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides code coverage reporting for the mcp-proxy project as indicated by the codecov badge at the top of the README.
Supports running and extending the proxy as a Docker container, with instructions for creating custom Docker images and Docker Compose setup.
Allows installation of the proxy via GitHub repository and displays GitHub license information through a badge.
proxy mcp
- proxy mcp
Acerca de
El mcp-proxy
es una herramienta que permite cambiar entre transportes de servidor. Se admiten dos modos:
- stdio a SSE
- SSE a stdio
1. stdio a SSE
Ejecute un servidor proxy desde stdio que se conecte a un servidor SSE remoto.
Este modo permite que clientes como Claude Desktop se comuniquen con un servidor remoto a través de SSE aunque no sea compatible de forma nativa.
1.1 Configuración
Este modo requiere pasar la URL al punto final SSE del servidor MCP como primer argumento al programa.
Argumentos
Nombre | Requerido | Descripción | Ejemplo |
---|---|---|---|
command_or_url | Sí | El punto final SSE del servidor MCP al que conectarse | http://ejemplo.io/sse |
--headers | No | Encabezados a utilizar para la conexión SSE del servidor MCP | Autorización 'Portador de mi token de acceso secreto' |
Variables de entorno
Nombre | Requerido | Descripción | Ejemplo |
---|---|---|---|
API_ACCESS_TOKEN | No | Se puede utilizar en lugar de --headers Authorization 'Bearer <API_ACCESS_TOKEN>' | TU_TOKEN |
1.2 Ejemplo de uso
Se supone que mcp-proxy
debe ser iniciado por el cliente MCP, por lo que la configuración debe realizarse en consecuencia.
Para Claude Desktop, la entrada de configuración puede verse así:
2. SSE a stdio
Ejecute un servidor proxy que exponga un servidor SSE que se conecta a un servidor stdio local.
Esto permite conexiones remotas al servidor stdio local. El mcp-proxy
abre un puerto para escuchar solicitudes SSE y genera un servidor stdio local que gestiona las solicitudes MCP.
2.1 Configuración
Este modo requiere el parámetro --sse-port
. El parámetro --sse-host
puede especificar la dirección IP del host en el que el servidor SSE escuchará. Se pueden pasar variables de entorno adicionales al servidor stdio local mediante el parámetro --env
. Los argumentos de la línea de comandos para el servidor stdio local deben pasarse después del separador --
.
Argumentos
Nombre | Requerido | Descripción | Ejemplo |
---|---|---|---|
command_or_url | Sí | El comando para generar el servidor stdio de MCP | uvx mcp-server-fetch |
--sse-port | No, disponible al azar | El puerto del servidor SSE para escuchar | 8080 |
--sse-host | No, 127.0.0.1 por defecto | La dirección IP del host en la que escuchará el servidor SSE | 0.0.0.0 |
--env | No | Variables de entorno adicionales para pasar al servidor stdio de MCP | FOO=BAR |
--pass-environment | No | Pasar por todas las variables de entorno al generar el servidor | --entorno sin pase |
--allow-origin | No | Pasar por todas las variables de entorno al generar el servidor | --allow-cors "*" |
2.2 Ejemplo de uso
Para iniciar el servidor mcp-proxy
que escucha en el puerto 8080 y se conecta al servidor MCP local:
Esto iniciará un servidor MCP al que se puede conectar en http://127.0.0.1:8080/sse
Instalación
Instalación mediante herrería
Para instalar MCP Proxy para Claude Desktop automáticamente a través de Smithery :
Instalación mediante PyPI
La versión estable del paquete está disponible en el repositorio de PyPI. Puede instalarla con el siguiente comando:
Una vez instalado, puede ejecutar el servidor con el comando mcp-proxy
. Consulte las opciones de configuración para cada modo más arriba.
Instalación a través del repositorio de Github (última versión)
La última versión del paquete se puede instalar desde el repositorio git usando el siguiente comando:
[!NOTA] Si ya ha instalado el servidor, puede actualizarlo utilizando el comando
uv tool upgrade --reinstall
.
[!NOTA] Si desea eliminar el servidor, utilice el comando
uv tool uninstall mcp-proxy
.
Instalación como contenedor
A partir de la versión 0.3.2, es posible extraer y ejecutar la imagen del contenedor correspondiente:
Solución de problemas
- Problema : Claude Desktop no puede iniciar el servidor: código ENOENT en los registrosSolución : Intente usar la ruta completa del binario. Para ello, abra una terminal y ejecute el comando
where mcp-proxy
(MacOS, Linux) owhere.exe mcp-proxy
(Windows). A continuación, use la ruta de salida como valor para el atributo 'command':Copy
Ampliación de la imagen del contenedor
Puedes ampliar la imagen del contenedor mcp-proxy
para incluir ejecutables adicionales. Por ejemplo, uv
no está incluido por defecto, pero puedes crear una imagen personalizada con él:
Configuración de Docker Compose
Con el Dockerfile personalizado, puedes definir un servicio en tu archivo Docker Compose:
[!NOTA] No olvides configurar el argumento
--pass-environment
; de lo contrario, obtendrás el error "No se encontró ningún intérprete en las instalaciones administradas ni en la ruta de búsqueda".
Argumentos de la línea de comandos
Pruebas
Compruebe el servidor mcp-proxy
ejecutándolo con el servidor mcp-server-fetch
. Puede usar la herramienta de inspección para probar el servidor de destino.
You must be authenticated.
Permite la interacción con servidores MCP remotos utilizando el transporte SSE en lugar de STDIO para mejorar las capacidades de comunicación.
- About
- 1. stdio to SSE
- 2. SSE to stdio
- Installation
- Extending the container image
- Docker Compose Setup
- Command line arguments
- Testing