Skip to main content
Trading Agents interact with exchanges and local operations through MCP (Model Context Protocol) servers. MCP provides a standardized way for LLMs to call tools via JSON-RPC 2.0.

Architecture

Condor runs two MCP servers:

Hummingbot MCP Tools

Account Management

Portfolio & Holdings

Trading Operations

Executor Management

The primary trading interface for agents: Supported executor types:
  • order_executor - Single limit/market orders
  • position_executor - Directional trades with triple barrier
  • grid_executor - Multi-level grid trading
  • dca_executor - Dollar-cost averaging
  • lp_executor - Liquidity provision
Actions: create, search, stop, get_logs

Bot Management

For advanced multi-strategy deployments:

Market Data & Discovery

Backtesting

DEX liquidity positions are created through manage_executors() (the lp_executor type), and Gateway itself is managed from the Condor dashboard (Settings → Gateway) rather than through a dedicated MCP tool.

Condor MCP Tools

Skills and domain agents

The routing model, and the part most worth knowing: before reaching for a raw tool, an assistant looks for a skill (a playbook, sometimes bound to a runnable routine) and then for a domain agent to hand the work to.
Authoring or debugging a routine goes through delegate() to a background Condor worker rather than being written by hand — the worker reads the routine cookbook, writes the routine, tests it, and reports back. Running an existing routine is not authoring: that is just manage_routines().

Memory and code

run_code() executes arbitrary Python inside the bot process. Granting it to a non-admin is the code_run permission in Settings → Admin, which spells out what it reaches before you grant it.

Notifications and routines

Trading agent operations

Environment

Progressive Disclosure

Many tools support step-by-step discovery:
Example: Creating an executor

Configuration

Server Settings

MCP servers read configuration from environment variables or ~/.hummingbot_mcp/server.yml:

Runtime Configuration

Agents can switch servers at runtime:

Error Handling

MCP servers provide contextual error messages:
  • Connection errors: Suggests checking server URL and Docker networking
  • Auth errors: Prompts to verify credentials via configure_server()
  • Validation errors: Shows required fields and valid values
All tools use retry logic (3 attempts with 2-second delays) for transient failures.

Running MCP Servers

MCP servers are started automatically when agents launch via ACP. For manual testing:

Adding Custom Tools

To add tools to an MCP server, create a function with the @mcp.tool() decorator:
Register the tool in server.py: