iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0
生成式 AI

agent-brain: 從 0 開始打造一個 python package系列 第 28

Day 28: 支援 Claude MCP Server Config

  • 分享至 

  • xImage
  •  

昨天讓 agent-brain 可以掛載多種 tools:

  • "http://127.0.0.1:9000/mcp":自動連線並載入遠端所有 tools
  • "./server_stdio.py":啟動本地 server 並載入 tools
  • GetUserInfoTool():直接掛載自定義 tool

今天要處理的,是讓 agent-brain 也能支援 Claude 所使用的 MCP server config 格式。


MCP Server Config 形式

Claude Desktop 會透過 JSON config 註冊 MCP servers,例如:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
    },
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
    }
  }
}

這種結構讓每個 server 都以指令的方式啟動,並由 MCP client 自動管理連線。


在 agent-brain 的支援

今天新增了對這類 config-based MCP servers 的支援,現在 tools 參數除了可以放

  • string(URL / 本地路徑)
  • 直接的 BaseTool 物件

也能放入整份 config dict。

例如:

dc_config = {
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": ["./discordmcp/build/index.js"],
            "env": {
                "DISCORD_TOKEN": "..."
            },
        }
    }
}

tools: list[BaseTool | str | dict] = [
    "./mcp-server/server_stdio.py",  # add
    "http://127.0.0.1:9000/mcp",  # multiply
    dc_config,                    # dc operation
]

agent-brain 在啟動時會自動解析這類 config,啟動對應的 MCP server 並載入其中的 tools。


實測:Discord MCP Server

這次選用 v-3/discordmcp 作為測試。
它提供兩個工具:

  1. send-message
    向指定的 Discord channel 發送訊息。

    {
      "channel": "general",
      "message": "Hello from MCP!"
    }
    
  2. read-messages
    讀取 Discord channel 的近期訊息。

    {
      "channel": "general",
      "limit": 50
    }
    

Demo

掛上 dc_config 後,agent-brain 會自動啟動 Node server 並連線。
下圖是實際互動過程,可以看到:

  • tool 成功載入
  • agent 可以呼叫 Discord 的 read-messages
  • 也能使用 send-message 發送訊息

過程1
過程2

我的題目:
結果


小結

agent-brain 現在支援四種掛載方式:

  1. 直接掛 BaseTool
  2. 指定本地 stdio server
  3. 指定遠端 HTTP MCP endpoint
  4. Claude 風格的 MCP server config

這樣不論是自製 tool、本地調試、還是掛外部開源 MCP server,都能統一接入。


上一篇
Day 27: register MCP servers on agent-brain
系列文
agent-brain: 從 0 開始打造一個 python package28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言