mcpGW

Una puerta de enlace y proxy MCP diseñada para simplificar aplicaciones que utilizan diversas herramientas.

Documentación

mcpGW

Una puerta de enlace/proxy MCP para simplificar aplicaciones que usan herramientas, derivado de https://github.com/mark3labs/mcphost

Esto es un trabajo en progreso y solo se ha probado con ollama

Configuración de demostración 🔧

  1. Configuración de Ollama:
ollama pull mistral
  • Asegúrate de que Ollama esté en ejecución:
ollama serve
  1. Soporte opcional de whisper.cpp para convertir voz en prompt
  1. Melotts opcional
  1. Crea una configuración de servidor... consulta config.sample.json
{
  "UI": {
    "Listen": ":8080",
    "TLS": true,
    "Root": "example/ui"
  },
  "_comment": "You don't need SpeechToText or TextToSpeech, current code only suports whisper-server and melotts",
  "SpeechToText": {
    "Provider": "whisper",
    "Host":  "http://10.0.0.10:8802",
    "Model": ""
  },
  "TextToSpeech": {
    "Provider": "melotts",
    "Host":  "http://10.0.0.10:7777",
    "Model": ""
  },
  "Inference": {
       "Provider": "ollama",
       "Host":  "http://localhost:11434",
       "Token": "",
       "Model": "mistral-small3.1",
       "SystemPrompt": ""
   },
   "Servers": {
     "mcpServers": {
       "reminders": {
         "command": "./reminders",
         "args": [
         ]
       }
     }
   }
}
  1. Compila y ejecuta
make all
./mcpgateway --config ./config.sample.json

Escribiendo tu propia aplicación

mcpGW proporciona un conjunto de APIs (consulta server/server.go) y ejecutará cualquier aplicación apuntada por la sección de configuración de la interfaz de usuario:

Incluimos una interfaz de usuario de muestra básica:

  "UI": {
    "Listen": ":8080",
    "TLS": true,
    "Root": "example/ui"
  },

Escribiendo tu propio servidor mcp

mcpGW ejecutará cualquier servidor mcp, pero también incluimos uno simple en examples/mcpservers/reminders

Luego puedes agregar el servidor a la sección mcpServers de la configuración

 "Servers": {
     "mcpServers": {
       "reminders": {
         "command": "./reminders",
         "args": [
         ]
       }
     }
   }