My Cool Proxy

io.github.karashiiro由 GitHub 帳號 karashiiro 發布v1.5.4更新於 Oct 25, 2026

An MCP server gateway that minimizes context usage via progressive Lua-driven discovery 🌙

發布方自己的服務:Cool Computers

概覽

AI 產生的概覽

一個本機 MCP 閘道,統一接入多個 MCP 伺服器,讓助理按需逐步探索工具並以 Lua 腳本串接呼叫,以節省上下文。

可以做什麼
依需求探索已設定的伺服器、其工具及完整工具詳情,而非一次全部載入,並透過閘道的 Lua 內建函式讀取轉送的伺服器說明、提示詞與資源。撰寫 Lua 腳本把已探索的工具當作非同步函式呼叫,支援依序串接、條件判斷與迴圈,並彙整進度,以執行多步驟工作流程。啟用後可將 Gateway Skills 當作 MCP 資源載入並呼叫其腳本。透過選用的網頁儀表板查看執行歷史、工具呼叫紀錄與工作階段。
適用情境
當你連接多個 MCP 伺服器、希望用單一整合點同步各用戶端設定時適用;也適合工具描述與結果佔滿上下文視窗的情況。需要在一次呼叫中組合多步驟工具流程的助理同樣適用。
執行需求
以 npm 套件形式在本機執行(需要 Node.js),可全域安裝或透過 npx 啟動,使用 stdio 傳輸。首次執行會自動建立設定檔,需編輯以列出上游 MCP 伺服器;README 的用戶端範例透過 localhost 上的 HTTP 位址連線。未宣告驗證、環境變數或標頭。
安裝前請注意
它是你所設定所有伺服器的單一入口,助理因此可存取這些伺服器的全部工具,包括會變更資料的工具;README 建議以工具篩選加以限制。Lua 腳本會實際執行工具呼叫,選用儀表板會在另一個連接埠顯示執行歷史與工具呼叫紀錄。尚不支援 OAuth 2.0 驗證挑戰;Gateway Skills 預設關閉,因為可能與助理自帶的技能系統衝突。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 My Cool Proxy,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

My Cool Proxy

[NPM Version]

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:

  • Tool descriptions bloat the context window: This is a problem with how most agents integrate with MCP. Rather than implementing abstractions that enable tools to be loaded as needed, most applications dump all MCP tools into the context at once. To mitigate this, My Cool Proxy wraps tools in a Lua interpreter and exposes higher-level tools for discovering tools incrementally. Refer to Progressive Disclosure for more information.
  • Tool results bloat the context window, why not use Bash? Rather than using MCP tools, agents could just execute terminal commands and use bash to filter their results - however, this means allowing the agent to perform high-risk actions more frequently. For example, you could allow an agent to use the 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.
  • Most MCP features are unsupported: Unfortunately, most applications only expose MCP tools to agents, neglecting the other client and server features offered by the protocol. My Cool Proxy aims to be a common abstraction layer for as many protocol features as possible, which allows developers to use the full capabilities of MCP in any MCP-compatible application. This is a work in progress - check the feature support table for more details.
  • Managing a config file for multiple agents is a pain: If you use more than a single MCP-compatible application, you'll quickly run into challenges keeping your MCP server configuration synchronized across them. My Cool Proxy solves this by acting as a single integration point for every server you use, reducing the number of servers to keep in sync down to just one.

Quick Start

0. Installation

Install it globally to use it as a CLI tool:

bash
npm install -g @karashiiro/my-cool-proxy

Or run it directly via npx:

bash
npx @karashiiro/my-cool-proxy

1. Configure

The gateway auto-creates a default config on first run. Just run it once to generate the config file:

bash
my-cool-proxy  # Creates config and starts (with no servers)
# Find your config locationmy-cool-proxy --config-path

Then edit the config to add your MCP servers.

Example config structure:

json
{  "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.

2. Run

bash
# If installed globallymy-cool-proxy
# If running via npxnpx @karashiiro/my-cool-proxy

3. Connect

Add it to your MCP client config in e.g. Claude Desktop:

json
{  "mcpServers": {    "my-cool-proxy": {      "url": "http://localhost:3000/mcp"    }  }}

4. Use It

Ask your agent to perform a task that your configured MCP servers can help with, and watch it run!

Progressive Disclosure

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:

  1. Check the server instructions - My Cool Proxy preloads a small prompt with brief excerpts of the configured servers and tools to prime the agent to use them.
  2. Call list-servers - The agent's context now includes names and descriptions of all available MCP servers (e.g., "github", "slack", "database")
  3. Call list-server-tools(server_name) - The agent's context expands to include all tool names and descriptions for that specific server
  4. Call tool-details(server_name, tool_name) - The agent's context now has complete parameter schemas, return types (if available), and usage examples for a specific tool
  5. Call execute(lua_script) - With full context, the agent can write Lua scripts that call the discovered tools

Rather 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:

lua
local raw_data = api_server.fetch({ id = 123 }):await()local processed = processor.transform({ input = raw_data }):await()result(processed)

Conditional logic:

lua
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:

lua
local results = {}for i = 1, 5 do  results[i] = worker.process({ index = i }):await()endresult({ total = #results, data = results })

Gateway Skills

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:

  • Discover skills via an automatically-injected prompt in the gateway's server instructions (or via the _gateway.list_resources() Lua builtin; look for gw-skill:// URIs)
  • Read skill content via the _gateway.read_resource() Lua builtin
  • Execute skill scripts via the _gateway.invoke_skill_script() Lua builtin

While 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.

Web Dashboard

[my-cool-proxy execution dashboard preview, showing a list of Lua executions on the left side and the script and script results on the right side. The selected example shows a Playwright tool execution which returned the JS code for that tool and a browser screenshot as its result. The Lua script had browser_click and browser_take_screenshot calls. Each of those is individually clickable to show the result of the specific tool call.]

My Cool Proxy includes an optional web dashboard for monitoring gateway activity. When enabled, it runs on a separate port and provides:

  • Execution history — Browse all Lua script executions with syntax-highlighted scripts and results
  • Tool call log — See which MCP tools were called during each execution
  • Session monitoring — View active sessions, connected servers, and capabilities
  • Real-time updates — New executions stream to the dashboard via WebSocket

Enable it by adding a dashboard section to your config:

json
{  "dashboard": {    "port": 3100,    "host": "localhost"  }}

Then visit http://localhost:3100 in your browser. See the Configuration Guide for details.

Configuration

See the Configuration Guide for the full config reference.

MCP Feature Support Table

FeatureSupported?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).

來源:README.md,提交 46bfe38

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.5.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Cool 整合