/ 目錄 / 演練場 / agent
● 社群 1mcp-app ⚡ 即開即用

agent

作者 1mcp-app · 1mcp-app/agent

單一統一的 MCP 端點,內建 OAuth 2.1、熱重載與稽核日誌——為多個上游伺服器打造的生產級前端入口。

1mcp/agent 是基於 Node/TS 的 MCP 聚合器。與較簡單的代理不同,它內建 OAuth 2.1 範圍授權、熱重載設定、輸入過濾、稽核日誌與健康檢查端點——這些功能原本需要透過 nginx、Caddy 和 cron 拼湊實現。

為什麼要用

核心特性

即時演示

實際使用效果

agent.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "agent": {
      "command": "npx",
      "args": [
        "-y",
        "agent"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "agent": {
      "command": "npx",
      "args": [
        "-y",
        "agent"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "agent": {
      "command": "npx",
      "args": [
        "-y",
        "agent"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "agent": {
      "command": "npx",
      "args": [
        "-y",
        "agent"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "agent",
      "command": "npx",
      "args": [
        "-y",
        "agent"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "agent": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "agent"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add agent -- npx -y agent

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: agent

為不同團隊建立多租戶 MCP 閘道

👤 為多個小組提供不同工具需求的平台團隊 ⏱ ~45 min advanced

何時使用: 設計部門與工程部門需要不同的 MCP,但你不想同時維運兩個閘道。

前置條件
  • 具備 Node 20+ 或 Docker 的主機 — 任何小型虛擬機即可
  • OAuth 身份提供者(本地開發可使用內建方案) — Dex、Auth0、Okta——任何支援 OIDC 的服務皆可
步驟
  1. 在代理設定中定義範圍
    草擬一份代理設定,讓 'design' 範圍開放 figma 與 davinci-resolve MCP,'eng' 範圍開放 github、sentry、postgres。✓ 已複製
    → 包含範圍上游對應的設定檔
  2. 串接 OAuth
    將代理連接至我們的 Auth0 租戶,並將群組對應至範圍。✓ 已複製
    → 使用者只能看到其範圍內的工具
  3. 稽核使用情況
    顯示過去 24 小時內依使用者分組、按工具名稱彙整的工具呼叫紀錄。✓ 已複製
    → 使用量報告

結果: 單一閘道、各團隊獨立的工具視圖,並保有完整的稽核記錄。

注意事項
  • 範圍設計很容易變得混亂複雜 — 從 2-3 個粗粒度的範圍開始(例如 eng-read、eng-write、design),而非針對每個工具設定範圍
  • 稽核日誌會迅速佔滿磁碟空間 — 每週輪換日誌,或將日誌傳送至日誌聚合器
搭配使用: github · sentry

使用熱重載開發自訂 MCP

👤 正在迭代開發自有 MCP 伺服器的開發者 ⏱ ~20 min intermediate

何時使用: 你正在撰寫新的 MCP,不想每次修改後都重新載入 IDE。

步驟
  1. 在代理下註冊你的開發用 MCP
    在代理設定中,將位於 node ./my-mcp/dist/index.js 的本地開發 MCP 加入,並標記為 'dev'。✓ 已複製
    → 工具出現在客戶端中
  2. 編輯、儲存、重試
    我已修改工具,請確認新版本是否已生效,無需重啟。✓ 已複製
    → 確認熱重載已作用

結果: MCP 開發的快速迭代內部循環。

注意事項
  • 若客戶端有快取,熱重載可能造成舊工具控制代碼洩漏 — 大幅變更介面時,還是重啟客戶端比較保險

為不受信任的上游 MCP 加上過濾防護

👤 運行社群 MCP 且注重資安的管理員 ⏱ ~15 min intermediate

何時使用: 你想試用社群 MCP,但希望有額外的輸入防護機制。

步驟
  1. 啟用輸入過濾
    設定 1mcp agent,對上游 'community-x' 啟用輸入過濾,並封鎖任何回傳內容過大的工具。✓ 已複製
    → 限制已套用
  2. 驗證效果
    呼叫該上游的工具,並確認稽核日誌中有過濾紀錄。✓ 已複製
    → 日誌顯示已過濾的呼叫

結果: 在試用社群工具時,降低潛在的風險範圍。

組合

與其他 MCP 搭配,撬動十倍槓桿

agent + proxy-2

比較功能豐富的 1mcp 與輕量的 tbxark/mcp-proxy

在同一台主機上同時執行 1mcp/agent 與 tbxark/mcp-proxy,並比較兩者的工具呼叫延遲。✓ 已複製
agent + jetski

在 1mcp 之上疊加分析功能

將 1mcp/agent 放在 Jetski 後面,同時獲得 OAuth 與提示詞層級的分析能力。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
list_tools (none) 握手階段——由客戶端自動處理 free
call_tool name, args 任何工具呼叫時使用 1 upstream call
mcp_add name, command, args 動態新增上游服務(僅限管理員) free

成本與限制

運行它的成本

API 配額
本身無配額限制;受上游服務的配額約束
每次呼叫 Token 數
僅有少量代理轉發的額外開銷
費用
免費,MIT 授權
提示
僅對具備寫入權限的上游啟用稽核日誌——唯讀操作的日誌量大卻沒有實質效益,容易塞滿磁碟。

安全

權限、密鑰、影響範圍

最小權限: OAuth client config + upstream server credentials
憑證儲存: 透過環境變數與設定檔管理;生產環境請使用金鑰管理服務
資料出站: 代理僅轉發至已設定的上游服務
切勿授予: admin scope to end users — reserve for platform team

故障排查

常見錯誤與修復

Hot reload didn't pick up my config change

確認檔案監控器對掛載目錄有讀取權限(macOS 上的 Docker bind mount 有時會漏掉事件)。可改用 SIGHUP 手動觸發。

驗證: docker exec agent kill -HUP 1
OAuth token rejected

範圍宣告與任何已設定的範圍均不符。查閱代理日誌中的宣告內容,並調整設定使其一致。

驗證: Decode JWT at jwt.io
Upstream MCP fails health check

手動執行上游指令以查看其 stderr 輸出。代理日誌只會回報結束碼。

驗證: docker exec agent sh -c '<upstream command>'
Tool list empty for a user

該使用者的範圍與任何工具所需的範圍標籤均不相符。

驗證: Check scope mapping in config vs JWT claims

替代方案

agent 對比其他方案

替代方案何時用它替代權衡
tbxark/mcp-proxy你需要一個無需 OAuth 的輕量 Go 執行檔無認證、無熱重載、無範圍控制
Jetski你需要完整的分析儀表板與 DCR 功能需要 K8s + Postgres 基礎架構

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills