mcp-gateway

MCP.Pizza Chef: acehoss

This is plumbing rather than a tool in its own right: it starts the assistant add-ons you list in a settings file and puts them behind a web address, so something like LibreChat running in a container can reach them. It adds no abilities of its own. Passwords and access tokens are supported and genuinely checked on every request, but the example settings ship with them switched off and with the service listening on every network connection, over unencrypted traffic. The code has not changed since December 2024.

Unmaintained · No commits in 21 months.
Coding
Other

Use This MCP server To

Run heavy tools on a spare machine and use them anywhere Give a chat app inside a container access to local tools Share one set of assistant tools across several devices Run several copies of the same tool without them clashing Reach the tools on my desktop from a different computer

README

MCP Gateway

A flexible gateway server that bridges Model Context Protocol (MCP) STDIO servers to MCP HTTP+SSE and REST API, enabling multi-instance MCP servers to be exposed over HTTP.

Features

  • Run multiple instances of the same MCP server type
  • Configure multiple different MCP server types
  • Flexible network binding configuration
  • Clean separation between server instances using session IDs
  • Automatic cleanup of server resources on connection close
  • YAML-based configuration
  • Optional Basic and Bearer token authentication
  • Configurable debug logging levels
  • REST API Support

REST API Support

MCP Gateway now provides a REST API interface to MCP servers, making them accessible to any HTTP client that supports OpenAPI/Swagger specifications. This feature is particularly useful for integrating with OpenAI's custom GPTs and other REST API clients.

REST API Endpoints

Before making tool calls, you need to get a session ID:

curl "http://localhost:3000/api/sessionid"
# Returns: {"sessionId": "<generated-id>"}

Each tool exposed by an MCP server is available at:

POST /api/{serverName}/{toolName}?sessionId={session-id}

Note: The sessionId query parameter is required for all tool calls.

For example, to call the directory_tree tool on a filesystem MCP server:

# First get a session ID
SESSION_ID=$(curl -s "http://localhost:3000/api/sessionid" | jq -r .sessionId)

# Then make the tool call
curl -X POST "http://localhost:3000/api/filesystem/directory_tree?sessionId=$SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{"path": "/some/path"}'

OpenAPI Schema Generation

The gateway can generate OpenAPI schemas for all configured tools, making it easy to integrate with OpenAPI-compatible clients:

mcp-gateway FAQ

Does this add any new abilities on its own?
No. It is a relay. Everything it can do comes from the assistant add-ons you point it at.
Do I need a key or an account?
Not to run it. You can set your own passwords or access tokens and they really are checked on every request, but they are switched off in the example settings you are given.
Is it safe to just leave running?
Only if you change the defaults. As shipped it listens on every network connection with no password at all, and the sample settings hand out access to a home folder. Anyone who can reach the machine gets what you have.
Is the connection encrypted?
No. It speaks plain unencrypted web traffic, so any password or token you do set travels in the clear unless you put something in front of it that adds encryption.
What can the relayed tools get at?
They inherit every setting and secret from the machine running the gateway, including any keys sitting in its environment.
Can I use this to reach my computer's tools from a chat app elsewhere?
Yes, that is exactly what it is for. Set a password first, and do not leave it open to the wider internet.
Which apps does it work in?
LibreChat is the documented case. It uses the older connection style from late 2024, which newer assistants may no longer accept.
How hard is setup?
This one is a developer job. You install from source, hand-write a settings file, and keep a long-running service alive.
Is it still being maintained?
No. The last code change was December 2024, well over a year and a half ago. It is MIT licensed.