Skip to main content
Component: MCPAgent Module: gaia.agents.base.mcp_agent Import: from gaia.agents.base import MCPAgent

Overview

MCPAgent is a base class for agents that support the Model Context Protocol (MCP). It provides the interface for exposing agent tools, prompts, and resources via MCP servers, allowing external tools like VSCode to interact with GAIA agents. MCPAgent defines abstract methods that subclasses must implement to provide MCP functionality. Key Features:
  • MCP tool definition and execution
  • Optional prompt templates
  • Optional resource providers
  • Server metadata
  • Abstract interface for protocol compliance
  • Multiple inheritance support (with ApiAgent)

Requirements

Functional Requirements

  1. Tool Management (Required)
    • get_mcp_tool_definitions() - Return list of MCP tool definitions
    • execute_mcp_tool() - Execute an MCP tool call
    • JSON Schema for tool parameters
  2. Prompt Templates (Optional)
    • get_mcp_prompts() - Return list of prompt templates
    • Pre-defined templates for common tasks
    • Default: empty list
  3. Resource Providers (Optional)
    • get_mcp_resources() - Return list of data resources
    • Agent-specific data sources
    • Default: empty list
  4. Server Metadata
    • get_mcp_server_info() - Return server name and version
    • Default: “GAIA ” v2.0.0
  5. Error Handling
    • ValueError for unknown tools
    • Clear error messages
    • JSON-serializable responses

Non-Functional Requirements

  1. Compatibility
    • MCP protocol compliance
    • JSON serialization support
    • Works with mcp_bridge
  2. Flexibility
    • Abstract methods enforce implementation
    • Optional methods have defaults
    • Extensible for custom behavior
  3. Simplicity
    • Clear interface
    • Minimal required methods
    • Easy to implement

API Specification

File Location

Public Interface


Implementation Details

Tool Definition Format

Tool Execution Pattern

Multiple Inheritance Pattern


Testing Requirements

Unit Tests

File: tests/agents/test_mcp_agent.py

Usage Examples

Example 1: Basic MCP Agent

Example 2: Agent with Prompts and Resources

Example 3: Multi-Protocol Agent


Documentation Updates Required

docs/sdk/core/agent-system.mdx

Add to Agent Section:

MCPAgent Technical Specification