gtwmcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
gtwmcp — MCP Gateway
A zero-dependency MCP gateway. Connect multiple AI harnesses to multiple MCP servers through a single, centrally-managed stdio interface. No overhead, no bloat — just the Node.js stdlib. Secrets stay in the OS keychain, never in config files.

Install
npm install -g gtwmcpRequires Node.js >= 22.
Related MCP server: MCP Proxy Server
Quick Start
Add a stdio MCP server:
$ gtwmcp add github --type stdio --command npx --args "-y,@modelcontextprotocol/server-github" --description "GitHub MCP"
Server "github" added.Add an SSE MCP server with OAuth:
$ gtwmcp add jira --type sse --url https://mcp.jira.example.com/sse --oauth --description "Jira MCP"
Server "jira" added.List servers:
$ gtwmcp list
NAME TYPE STATUS DESCRIPTION
------ ----- ----------- -----------
github stdio ✅ enabled GitHub MCP
jira sse ✅ enabled Jira MCPAuthenticate an OAuth server:
$ gtwmcp auth jira
[jira] https://mcp.jira.example.com/sse
✅ Token valid (expires in 45m)
$ gtwmcp auth --force # re-authenticate all OAuth serversList tools from a server:
$ gtwmcp get jira
jira (sse) — https://mcp.jira.example.com/sse
Listing tools...
1. search_jira_issues: Search Jira issues using JQL
2. get_jira_issue: Get a specific Jira issue
2 tools available.CLI Reference
gtwmcp add <name> Add or update an MCP server
gtwmcp remove <name> Remove an MCP server
gtwmcp get <name> List tools and descriptions from a server
gtwmcp list List all servers with status
gtwmcp auth [name] Authenticate OAuth servers (--force to re-auth)
gtwmcp enable <name> Enable a server
gtwmcp disable <name> Disable a server
gtwmcp serve Start the MCP gateway in stdio modeGateway
The gateway (gtwmcp serve) speaks MCP over stdio to the client. On startup it:
Reads
~/.gtwmcp.jsonConnects to all enabled upstream servers in parallel
Calls
initializeandtools/liston eachPrefixes every tool with the server name:
<server>__<tool>Applies allow/block list filters
Presents a single consolidated tool list

Tool Filtering
Control which tools are exposed via environment variables:
Variable | Behavior |
| Only matching tools pass |
| All tools except matching pass |
Both set | Allow first, then block removes from that subset |
Neither set | All tools pass |
Patterns support trailing * wildcard:
# Expose only read tools
GTWMCP_ALLOW_LIST="github__read_*,github__search_*,github__list_*"
# Expose everything except destructive tools
GTWMCP_BLOCK_LIST="github__delete_*,github__admin_*"Configuration
~/.gtwmcp.json:
{
"version": 1,
"servers": {
"github": {
"type": "stdio",
"enabled": true,
"description": "GitHub MCP server",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
},
"jira": {
"type": "sse",
"enabled": true,
"description": "Jira MCP",
"url": "https://mcp.jira.example.com/sse",
"headers": {
"X-Custom-Header": "value"
},
"oauth": true
}
}
}stdio:
command,args, optionalenvanddescriptionsse:
url, optionalheaders,oauth, anddescription"oauth": truemeans all OAuth data lives in the OS keychain (never in this file)
OAuth
The gateway supports Authorization Code Flow with PKCE for SSE servers.

At runtime, gtwmcp serve auto-refreshes expired tokens before each call.
Keychain
Platform | Backend |
macOS |
|
Linux |
|
Use with Claude Code
Point Claude Code's MCP config at the gateway:
{
"mcpServers": {
"gtwmcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "gtwmcp", "serve"]
}
}
}All your upstream MCP tools appear prefixed and unified in Claude Code.
Development
npm install
npm run check # syntax validation
npm test # 57 testsZero external dependencies. Node.js 22+ stdlib only.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
One OAuth connector for your team's remote MCP servers, with Tool Packs, guardrails and logs.
Streamable HTTP MCP gateway for NV oOS fleets — one API key, namespaced tools, quotas and policy.
Stateless MCP gateway and OTel span-streaming bridge for hosted MCP servers.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAggregates multiple upstream MCP servers (stdio, streamable-http, sse, websocket) behind a single streamable-HTTP endpoint with declarative configuration, namespacing, filtering, and auto-reload.MIT
- AlicenseNot gradedqualityBmaintenanceConnects to and aggregates multiple backend MCP servers (Stdio, SSE, and Streamable HTTP), exposing their combined tools and resources through a single unified SSE or Streamable HTTP endpoint, or as a standalone Stdio server. Handles request routing to the correct backend, supports optional API key/bearer token authentication, concurrent client connections, and a web admin UI for managing servers and individually enabling or renaming tools.105 npmMIT
- AlicenseNot gradedqualityAmaintenanceAggregates multiple backend MCP servers (Stdio, SSE, and Streamable HTTP) into a single unified endpoint, exposing their combined tools and resources via SSE, Streamable HTTP, or Stdio. It also offers an optional web admin UI for managing server connections, tool enablement, and live configuration reloads.105 npmMIT
- AlicenseNot gradedqualityAmaintenanceAggregates multiple backend MCP resource servers (Stdio, SSE, and Streamable HTTP) into a single unified endpoint exposed over SSE, Streamable HTTP, or Stdio. Enables routing of tool calls, resource access, and per-tool enable/disable or rename overrides through an optional web admin UI with configurable API key or bearer-token authentication.105 npmMIT