An MCP gateway/proxy to simplify apps that use tools, derived from https://github.com/mark3labs/mcphost
This is a work in progress and only tested with ollama
- Ollama Setup:
- Install Ollama from https://ollama.ai
- Pull your desired model:
ollama pull mistral- Ensure Ollama is running:
ollama serve- Optional whisper.cpp support for speech to prompt
- Install Whisper.cpp from https://github.com/ggml-org/whisper.cpp
- Run whisper server https://github.com/ggml-org/whisper.cpp/tree/master/examples/server
- Install a copy of ffmpeg into /tools
- Optional melotts
- Create a server config.. see 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": [
]
}
}
}
}- Build and run
make all
./mcpgateway --config ./config.sample.jsonmcpGW provides a set of apis (see server/server.go) and will run any application pointed to by the config UI section:
We included a basic sample UI:
"UI": {
"Listen": ":8080",
"TLS": true,
"Root": "example/ui"
},
mcpGW will run any mcpserver, but we also included a simple one in examples/mcpservers/reminders
You can then add the server to the mcpServers section of the config
"Servers": {
"mcpServers": {
"reminders": {
"command": "./reminders",
"args": [
]
}
}
}