mcp-agentapi

lord-dubious/mcp-agentapi

3.3

If you are the rightful owner of mcp-agentapi and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Agent API is a server that connects MCP clients with AI agents using the Model Context Protocol.

Tools
  1. list_available_agents

    Lists all available AI agents.

  2. switch_agent

    Switches the active agent to the specified type.

  3. start_agent

    Starts the specified agent, with an option for auto-installation.

MCP Agent API

A Model Context Protocol (MCP) server that bridges MCP clients with AI agents through the Agent API by Coder.

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”     ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”     ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│ MCP Client      │     │ MCP Server   │     │ Agent API   │
│ (Windsurf,      │◄───►│ (This tool)  │◄───►│ (AI Agent)  │
│  Augment, etc.) │     │              │     │             │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜     ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜     ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

This package enables you to use AI agents like Goose, Aider, and Claude through any MCP-compatible client. It implements the Model Context Protocol specification to provide a standardized interface for controlling multiple AI agents.

šŸš€ Key Features

  • Multi-Agent Support: Control Goose, Aider, Claude, and other agents through a unified interface
  • Agent Lifecycle Management: Detect, install, start, stop, and restart agents
  • Message Handling: Seamlessly send and receive messages between clients and agents
  • Health Monitoring: Monitor agent and API health status
  • Flexible Transport: Support for both stdio and SSE transport protocols
  • Command-Line Interface: Comprehensive CLI for all operations

šŸ“¦ Installation

# Using uv (Recommended)
pip install uv
uv pip install mcp-agentapi

# Using pip
pip install mcp-agentapi

# From source
git clone https://github.com/lord-dubious/mcp-agentapi.git
cd mcp-agentapi
./build.sh
uv pip install dist/*.whl

For development installation:

uv pip install -e ".[dev]"

šŸ”Œ Client Configuration

Quick Setup

Add to your MCP client configuration (Claude Desktop, Windsurf, Augment, etc.):

{
  "mcpServers": {
    "agent-controller": {
      "command": "python",
      "args": ["-m", "mcp_agentapi", "--transport", "stdio"],
      "env": {
        "TRANSPORT": "stdio"
      }
    }
  }
}

Agent-Specific Configuration

For Goose:

{
  "mcpServers": {
    "goose-agent": {
      "command": "python",
      "args": ["-m", "mcp_agentapi", "--agent", "goose", "--auto-start"],
      "env": {
        "GOOGLE_API_KEY": "YOUR-GOOGLE-API-KEY"
      }
    }
  }
}

For Aider:

{
  "mcpServers": {
    "aider-agent": {
      "command": "python",
      "args": ["-m", "mcp_agentapi", "--agent", "aider", "--auto-start"],
      "env": {
        "OPENAI_API_KEY": "YOUR-OPENAI-API-KEY",
        "AIDER_MODEL": "deepseek"
      }
    }
  }
}

For Claude:

{
  "mcpServers": {
    "claude-agent": {
      "command": "python",
      "args": ["-m", "mcp_agentapi", "--agent", "claude", "--auto-start"],
      "env": {
        "ANTHROPIC_API_KEY": "YOUR-ANTHROPIC-API-KEY"
      }
    }
  }
}

SSE Transport

  1. Start the server:

    mcp-agentapi server start --transport sse --port 8080 --agent goose --auto-start
    
  2. Configure your client:

    {
      "mcpServers": {
        "agent-api-server": {
          "transport": "sse",
          "serverUrl": "http://localhost:8080/sse"
        }
      }
    }
    

šŸ” Troubleshooting

Command Not Found

# Verify installation
pip list | grep mcp-agentapi

# Reinstall if needed
pip install mcp-agentapi

Manual Agent Installation

# Goose
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash

# Aider
pip install aider-chat

# Claude
npm install -g @anthropic-ai/claude-code

API Keys

  • Goose: GOOGLE_API_KEY
  • Aider: OPENAI_API_KEY, ANTHROPIC_API_KEY, or DEEPSEEK_API_KEY (depending on model)
  • Claude: ANTHROPIC_API_KEY

šŸ“ Project Structure

mcp-agentapi/
ā”œā”€ā”€ bin/
│   └── mcp-agentapi            # CLI executable
ā”œā”€ā”€ mcp_agentapi/               # Main package
│   ā”œā”€ā”€ server.py               # Server implementation
│   └── src/                    # Core modules
│       ā”œā”€ā”€ agent_manager.py    # Agent lifecycle management
│       ā”œā”€ā”€ api_client.py       # Agent API client
│       ā”œā”€ā”€ config.py           # Configuration management
│       └── utils/              # Utility functions

See for more details.

šŸ”„ Command-Line Interface

mcp-agentapi <command-group> <command> [options]

Server Commands

# Start the server
mcp-agentapi server start --transport stdio --agent goose --auto-start

# Check server status
mcp-agentapi server status

Agent Commands

# List available agents
mcp-agentapi agent list

# Start an agent
mcp-agentapi agent start goose --auto-install

# Switch agents
mcp-agentapi agent switch claude --restart

# Send a message
mcp-agentapi agent send --content "Hello, agent!" --type user

Configuration Commands

# Show configuration
mcp-agentapi config show

# Set configuration
mcp-agentapi config set transport=stdio agent_type=goose

Shortcuts

The CLI provides shortcuts for common commands:

mcp-agentapi list    # Same as agent list
mcp-agentapi start goose    # Same as agent start goose

šŸ¤– Multi-Agent Support

Supported Agents

  • Goose: Google's AI agent
  • Aider: AI pair programming assistant
  • Claude: Anthropic's AI assistant
  • Codex: OpenAI's code-focused model
  • Custom: Support for custom agents

MCP Tools for Agent Control

When using an MCP client (Claude Desktop, Windsurf, etc.), you can use these tools:

Tool: list_available_agents
Arguments: {}
Tool: switch_agent
Arguments: {"agent_type": "goose"}
Tool: start_agent
Arguments: {"agent_type": "aider", "auto_install": true}

šŸ“š Documentation

For more detailed documentation, see the docs/ directory:

šŸ¤ Contributing

Contributions are welcome! See for guidelines.

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.