Server data from the Official MCP Registry
An MCP server gateway that minimizes context usage via progressive Lua-driven discovery ๐
An MCP server gateway that minimizes context usage via progressive Lua-driven discovery ๐
Valid MCP server (2 strong, 2 medium validity signals). No known CVEs in dependencies. โ ๏ธ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
13 files analyzed ยท 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-karashiiro-my-cool-proxy": {
"args": [
"-y",
"@karashiiro/my-cool-proxy"
],
"command": "npx"
}
}
}From the project's GitHub README.
My Cool Proxy is a Model Context Protocol (MCP) server gateway that tries to solve a lot of perceived problems with MCP as it exists today. In no particular order, those are that:
gh CLI to interact with GitHub, but it can then use the gh CLI to perform mutating or destructive operations, as well. With the GitHub MCP Server, you can instead scope things down to read-only tools trivially. MCP allows you to tightly control what tools agents have access to. To assist with this, My Cool Proxy allows you to further filter the tools exposed to agents.Install it globally to use it as a CLI tool:
npm install -g @karashiiro/my-cool-proxy
Or run it directly via npx:
npx @karashiiro/my-cool-proxy
The gateway auto-creates a default config on first run. Just run it once to generate the config file:
my-cool-proxy # Creates config and starts (with no servers)
# Find your config location
my-cool-proxy --config-path
Then edit the config to add your MCP servers.
Example config structure:
{
"port": 3000,
"host": "localhost",
"mcpClients": {
"my-server": {
"type": "http",
"url": "https://example.com/mcp"
}
}
}
Or, copy the example config for a more complete starting point.
# If installed globally
my-cool-proxy
# If running via npx
npx @karashiiro/my-cool-proxy
Add it to your MCP client config in e.g. Claude Desktop:
{
"mcpServers": {
"my-cool-proxy": {
"url": "http://localhost:3000/mcp"
}
}
}
Ask your agent to perform a task that your configured MCP servers can help with, and watch it run!
This proxy acts as a gateway between agents and multiple MCP (Model Context Protocol) servers. Instead of connecting to each MCP server individually, agents connect to this single proxy and gain access to all configured servers through a unified interface.
Agents start with minimal knowledge about what servers or tools are available. They build context progressively:
list-servers - The agent's context now includes names and descriptions of all available MCP servers (e.g., "github", "slack", "database")list-server-tools(server_name) - The agent's context expands to include all tool names and descriptions for that specific servertool-details(server_name, tool_name) - The agent's context now has complete parameter schemas, return types (if available), and usage examples for a specific toolexecute(lua_script) - With full context, the agent can write Lua scripts that call the discovered toolsRather than loading all tools and tool descriptions into the context upfront, this defers loading tools until the agent determines those tools are needed.
Tool Chaining with Lua: Once an agent knows what tools exist, they can compose complex multi-step workflows in a single execute() call, saving the context overhead of any intermediate tool results. The Lua runtime provides access to all discovered servers as globals, with tools callable as async functions.
Sequential tool chaining:
local raw_data = api_server.fetch({ id = 123 }):await()
local processed = processor.transform({ input = raw_data }):await()
result(processed)
Conditional logic:
local status = checker.validate({}):await()
if status.ok then
result(processor.run({}):await())
else
result(error_handler.notify({ error = status.message }):await())
end
Iteration with loops:
local results = {}
for i = 1, 5 do
results[i] = worker.process({ index = i }):await()
end
result({ total = #results, data = results })
Gateway Skills are My Cool Proxy's implementation of Agent Skills - reusable context documents that agents can load as MCP Resources. When enabled, agents can:
_gateway.list_resources() Lua builtin; look for gw-skill:// URIs)_gateway.read_resource() Lua builtin_gateway.invoke_skill_script() Lua builtinWhile many agents implement their own skill systems already, these systems are highly fragmented, and it is difficult to reuse the same skills across multiple separate agent applications. While some systems such as skills.sh solve this by copying skills between applications explicitly, My Cool Proxy solves this by centralizing all skills into its own skill management system and exposing them over MCP. To distinguish these from existing skill systems, My Cool Proxy refers to these as "Gateway Skills."
Gateway Skills are disabled by default as they may conflict with existing skill systems built into your agent. See the Configuration Guide for setup options.
For a deeper design discussion about why Gateway Skills are implemented this way, refer to this section in the design docs.
My Cool Proxy includes an optional web dashboard for monitoring gateway activity. When enabled, it runs on a separate port and provides:
Enable it by adding a dashboard section to your config:
{
"dashboard": {
"port": 3100,
"host": "localhost"
}
}
Then visit http://localhost:3100 in your browser. See the Configuration Guide for details.
See the Configuration Guide for the full config reference.
| Feature | Supported? | Details |
|---|---|---|
| Tools | โ | My Cool Proxy expects tools to be supported at a bare minimum. Fortunately, everything that supports MCP supports tools. |
| Prompts | โ | My Cool Proxy forwards prompts from your MCP servers to the connected client and provides _gateway.get_prompt() and _gateway.list_prompts() Lua builtins for agents to load them within scripts. |
| Resources | โ | My Cool Proxy both forwards resources from your MCP servers to the connected client and provides _gateway.read_resource() and _gateway.list_resources() Lua builtins for agents to load them within scripts. |
| Server Instructions | โ | My Cool Proxy loads excerpts of the instructions of connected MCP servers into its own server instructions, and also sends full copies through the list-servers tool when invoked. |
| Discovery Notifications | โ | My Cool Proxy listens to the tool/prompt/resource change notifications of connected MCP servers to automatically update its own internal registries, which reflects in subsequent tool calls. |
| Completions | โ | Prompt argument and resource template variable completions are forwarded from upstream servers to the connected client. Agents can also call _gateway.complete() within Lua scripts to discover valid values for resource template variables and prompt arguments. |
| Logging | โ | My Cool Proxy forwards logging notifications to the connected client, and logs them itself as well. |
| Roots | โ | roots/list requests are forwarded from upstream servers to the downstream client. notifications/roots/list_changed notifications from the downstream client are fanned out to all upstream servers. When the sampling shim is active, the first valid local root is used as the ACP agent's working directory. |
| Sampling | โ | My Cool Proxy supports shimming sampling support over ACP, though this is disabled by default. Refer to the configuration docs for more information. |
| Elicitation | โ ๏ธ | Elicitation requests (form and URL mode) are proxied from upstream servers to the connected client. No shim is (currently) available for clients that don't natively support elicitation (unlike sampling which can be shimmed via ACP). |
| Progress | โ | Progress notifications from upstream servers are forwarded to the connected client. When a Lua script calls multiple tools concurrently, their progress is aggregated (summed) into a single stream. |
| Tasks | โ ๏ธ | Calling tools that support tasks is supported, but without leveraging the status updates for anything interesting. Sampling/elicitation tasks are not currently supported. |
| OAuth 2.0 | โ | OAuth 2.0 authentication challenges are not yet supported (but will be) |
| MCP Apps | โ | MCP Apps are not yet supported (but will be). |
Be the first to review this server!
by Modelcontextprotocol ยท Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.
by Microsoft ยท Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace ยท Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm โ conversationally
by mcp-marketplace ยท Finance
Free stock data and market news for any MCP-compatible AI assistant.