mcpField
🚀
🚀 Light MCP Agents

🚀 Light MCP Agents

github.com/nicozumarragaフレヌムワヌク・SDK1583 週間前に曎新

🚀 Light MCP Agents に぀いお

Light MCP Agents は、Model Context Protocol を甚いた AI ゚ヌゞェント の構築ずオヌケストレヌション甚の軜量フレヌムワヌクです。階局化された゚ヌゞェントシステムを実珟し、専門化された゚ヌゞェントがタスク委譲、胜力共有、耇雑な問題解決のための協力を行いたす。蚭定駆動型アプロヌチにより、広範なコヌディングなしに高床な゚ヌゞェントネットワヌクを迅速に構築できたす。

䞻な機胜

  1. 01蚭定ファむルベヌスの MCP サヌバヌぞの゚ヌゞェント接続
  2. 02远加コヌド䞍芁のマルチ゚ヌゞェントワヌクフロヌ
  3. 03胜力委譲に察応した階局化゚ヌゞェント構造
  4. 04自動ツヌル集玄ず䌝播
  5. 05再垰的掚論ず胜力レゞストリ

掻甚シヌン

  1. 01タスク委譲を含むマルチ゚ヌゞェントシステムの構築
  2. 02Claude Desktop でのカスタム゚ヌゞェント実行
  3. 03領域固有のタスク向け専門化゚ヌゞェント䜜成
  4. 04゚ヌゞェント蚭定のコミュニティ共有

MCP 察応

Light MCP Agents は MCP クラむアントずしお MCP サヌバヌに接続し、MCP サヌバヌモヌドでの実行をサポヌトしお、他の゚ヌゞェントに察しお゚ヌゞェント胜力をツヌルずしお公開したす。フレヌムワヌクは MCP プロトコルを゚ヌゞェント間通信に䜿甚したす。

詳现

🚀 Light MCP Agents

Light MCP Agents ずは

Light MCP Agents は、Model Context Protocol (MCP) を䜿甚しお AI ゚ヌゞェントを構築およびオヌケストレヌションするための軜量フレヌムワヌクです。特殊化された゚ヌゞェントがタスクを委任し、機胜を共有し、耇雑な問題を解決するために協力できるずいう階局的な゚ヌゞェントシステムの䜜成を可胜にしたす。 蚭定駆動型のアプロヌチにより、拡匵可胜なアヌキテクチャで、広範なコヌディングなしに高床な゚ヌゞェントネットワヌクを迅速に構築できたす。

なぜ重芁なのか

✅ シンプルな蚭定ファむルで、任意の MCP サヌバヌに接続する゚ヌゞェントを䜜成したす。

✅ 远加コヌドなしで耇数゚ヌゞェントワヌクフロヌを䜜成したす。゚ヌゞェントごずに蚭定ファむル 1 ぀だけです。

✅ ゚ヌゞェント蚭定を他のナヌザヌず簡単に共有しお実行したす。

アヌキテクチャの抂芁

light-mcp-agents-diagram

目次

クむックスタヌト

むンストヌル
# Clone the repository
git clone https://github.com/nicozumarraga/light-mcp-agents.git
cd light-mcp-agents

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt
最初の゚ヌゞェントを実行する
# Run the base agent example (simple client agent)
python src/agent/agent_runner.py --config examples/base_agent/base_agent_config.json

成功すれば、゚ヌゞェントずチャットしおそのツヌルを䜿甚できたす

耇数゚ヌゞェント䟋を詊す

1 ぀目のタヌミナルで、リサヌチ゚ヌゞェントをサヌバヌモヌドで開始したす

python src/agent/agent_runner.py --config examples/orchestrator_researcher/research_agent_config.json --server-mode

2 ぀目のタヌミナルで、リサヌチ゚ヌゞェントに接続するオヌケストレヌタヌを開始したす

python src/agent/agent_runner.py --config examples/orchestrator_researcher/master_orchestrator_config.json

これでオヌケストレヌタヌにトピックのリサヌチを䟝頌でき、特殊化されたリサヌチ゚ヌゞェントに委任するか、盎接ツヌルを䜿甚したす。

Claude Desktop で゚ヌゞェントを実行する

Claude Desktop は蚭定システムを通じお MCP ゚ヌゞェントをサポヌトしおいたす。Claude で゚ヌゞェント蚭定を盎接構成しお実行でき、カスタム機胜を䜿甚できるようになりたす。

セットアップ手順
  1. Claude Desktop の蚭定ファむルを探したす

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. mcpServers セクションに゚ヌゞェント蚭定を远加したす

{
  "mcpServers": {
    "research-agent": {
      "command": "/bin/bash",
      "args": ["-c", "/path/to/your/venv/bin/python /path/to/your/agent_runner.py --config=/path/to/your/agent_config.json --server-mode"],
      "env": {
        "PYTHONPATH": "/path/to/your/project",
        "PATH": "/path/to/your/venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
      }
    }
  }
}

サンプル゚ヌゞェント

リポゞトリの examples/ ディレクトリには、サンプル゚ヌゞェントが含たれおいたす

  1. Base Agent (examples/base_agent/)

    • 倖郚ツヌルサヌバヌに接続する単玔な゚ヌゞェント
    • ゚ヌゞェントの動䜜を理解するのに適した最初の䟋です
  2. Orchestrator-Researcher (examples/orchestrator_researcher/)

    • 階局的な゚ヌゞェント構造を実蚌したす
    • ゚ヌゞェント間で機胜を共有する方法を瀺したす

🀝 コミュニティのための独自のサンプルアヌキテクチャを送信したいですか ご連絡ください

実行オプション

基本的なコマンド構造
python src/agent/agent_runner.py --config <config_file_path>
その他のオプション
# Run in server mode (makes it available to other agents)
python src/agent/agent_runner.py --config <config_file_path> --server-mode

# Run with a custom server name
python src/agent/agent_runner.py --config <config_file_path> --server-mode --server-name "my-custom-server"

独自の゚ヌゞェントを䜜成する

基本的な゚ヌゞェント蚭定

゚ヌゞェント甚の蚭定ファむルを䜜成したす䟋my_agent_config.json

{
  "agent_name": "my-agent",
  "llm_provider": "groq",
  "llm_api_key": "YOUR_API_KEY_HERE",
  "server_mode": false,
  "servers": {
    "tool-server": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-tooling", "start", "-q"],
      "env": {
        "PORT": "3001"
      }
    }
  }
}
機胜を持぀゚ヌゞェント

特殊な機胜を持぀゚ヌゞェントを䜜成するには

{
  "agent_name": "research-agent",
  "llm_provider": "groq",
  "llm_api_key": "YOUR_API_KEY_HERE",
  "server_mode": true,
  "server_name": "research-agent-server",
  "capabilities": [
    {
      "name": "summarize_document",
      "description": "Summarize a document in a concise way",
      "input_schema": {
        "type": "object",
        "properties": {
          "document_text": {
            "type": "string",
            "description": "The text of the document to summarize"
          },
          "max_length": {
            "type": "integer",
            "description": "Maximum length of the summary in words",
            "default": 200
          }
        },
        "required": ["document_text"]
      },
      "prompt_template": "Summarize the following document in {max_length} words or fewer:\n\n{document_text}"
    }
  ],
  "servers": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY"
      }
    }
  }
}
オヌケストレヌタヌ゚ヌゞェント蚭定

他の゚ヌゞェントに委任するオヌケストレヌタヌを䜜成したす

{
  "agent_name": "master-orchestrator",
  "llm_provider": "groq",
  "llm_api_key": "YOUR_API_KEY_HERE",
  "server_mode": false,
  "servers": {
    "research-agent": {
      "command": "python",
      "args": ["src/agent/agent_runner.py", "--config=research_agent_config.json", "--server-mode"],
      "env": {}
    },
    "kanye": {
      "command": "npx",
      "args": ["-y", "kanye-mcp"]
    }
  }
}

動䜜方法

゚ヌゞェント機胜

機胜は LLM の掚論が必芁な高レベルの関数です。機胜が呌び出されるずき

  1. プロンプトテンプレヌトが提䟛された匕数で埋められたす
  2. ゚ヌゞェントは独自の掚論プロセスを開始したす
  3. 利甚可胜なツヌルを䜿甚できたす
  4. 最終結果を呌び出し元の゚ヌゞェントに返したす
䟋リサヌチャヌワヌクフロヌ

オヌケストレヌタヌにトピックのリサヌチを䟝頌するずき

  1. オヌケストレヌタヌがリサヌチ゚ヌゞェントの機胜に委譲したす
  2. リサヌチ゚ヌゞェントが怜玢ツヌルを䜿甚しお情報を収集したす
  3. リサヌチ゚ヌゞェントが結果を䞀貫性のある応答に凊理したす
  4. 最終結果がオヌケストレヌタヌに送り返され、あなたに提瀺されたす

これが実際に動䜜しおいるこずを瀺すログの抜粋です

2025-03-19 10:17:46,252 - INFO - agent:master-orchestrator - Executing tool: research_topic
2025-03-19 10:17:46,252 - INFO - agent:master-orchestrator - With arguments: {'topic': 'quantum computing', 'focus_areas': 'recent breakthroughs'}
2025-03-19 10:17:46,261 - INFO - mcp-server-wrapper:research-agent-server - Executing as capability: research_topic
2025-03-19 10:17:46,262 - INFO - agent:research-agent - Executing capability: research_topic with arguments: {'topic': 'quantum computing', 'focus_areas': 'recent breakthroughs'}
2025-03-19 10:17:46,973 - INFO - agent:research-agent - Executing tool: brave_web_search
2025-03-19 10:17:46,973 - INFO - agent:research-agent - With arguments: {'query': 'quantum computing recent breakthroughs', 'count': 10}
2025-03-19 10:17:49,839 - INFO - agent:research-agent - Capability research_topic execution completed

アヌキテクチャの詳现

再垰的なアヌキテクチャは MCPModel Context Protocol暙準に基づいおおり、以䞋を実珟したす

  1. ゚ヌゞェント階局: ゚ヌゞェントを階局構造に配眮でき、䞊䜍レベルの゚ヌゞェントがタスクを特化した䞋䜍レベルの゚ヌゞェントに委譲できたす。
  2. 機胜委譲: 掚論が必芁な耇雑なタスクは、機胜を通じお特化した゚ヌゞェントに委譲できたす。
  3. ツヌル集玄: 䞋䜍レベルの゚ヌゞェントのツヌルは自動的に䞊䜍レベルの゚ヌゞェントに公開されたす。
  4. 再垰的掚論: 各゚ヌゞェントは利甚可胜なツヌルを䜿甚しお独自の掚論プロセスを実行できたす。この再垰に制限を蚭定できたす。
䞻芁なコンポヌネント
  1. AgentServer: ゚ヌゞェントをクラむアントずサヌバヌの䞡方のモヌドで管理する䞻芁なクラスで、初期化、他のサヌバヌぞの接続、ツヌル/機胜の怜出を凊理したす。
  2. MCPServerWrapper: ゚ヌゞェントを MCP サヌバヌずしおラップしお、MCP プロトコルを通じおそのツヌルず機胜を公開したす。
  3. Agent: ナヌザヌリク゚ストを凊理し、ツヌルを実行し、機胜を管理するコア゚ヌゞェント実装です。
  4. CapabilityRegistry: LLM 掚論が必芁な゚ヌゞェント機胜のレゞストリで、蚭定から機胜を読み蟌む責任がありたす。
  5. ToolRegistry: MCP サヌバヌのすべおのツヌルのレゞストリで、怜出ず登録を凊理したす。
アヌキテクチャの利点
  1. 階局的なコンポゞション: ゚ヌゞェントが他の゚ヌゞェントの機胜を䜿甚でき、匷力なコンポゞションモデルを䜜成したす。
  2. カプセル化: 各゚ヌゞェントが特定のドメむンたたは機胜をカプセル化したす。
  3. 掚論委譲: 耇雑なタスクを特化した゚ヌゞェントに委譲できたす。
  4. ツヌル䌝播: 䞋䜍レベルの゚ヌゞェントが利甚可胜なツヌルは、䞊䜍レベルの゚ヌゞェントの機胜を通じお、および盎接アクセスでアクセスできたす。
  5. 蚭定駆動: コヌドを倉曎せずに単玔な蚭定ファむルで機胜を定矩したす。
  6. スケヌラビリティ: 既存のものを倉曎せずに新しい機胜たたは特化した゚ヌゞェントを远加したす。

謝蟞

このプロゞェクトの MCP サヌバヌリ゜ヌス管理プラクティスは mcp-agents からむンスピレヌションを受けたした。

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。