Skip to main content

Composer MCP Server - Backtest and Automate your trades with LLMs

Project description

composermcpheader

Twitter PyPI Reddit Community

Vibe Trading is here!

Official Composer Model Context Protocol (MCP) server that allows MCP-enabled LLMs like Claude Desktop, Cursor, OpenAI Agents and others to validate investment ideas via backtests and even trade multiple strategies (called "symphonies") in parallel to compare their live performance.

Features

  • Create automated investing strategies
    • Use indicators like Relative Strength Index (RSI), Moving Average (MA), and Exponential Moving Average (EMA) with a diverse range of equity and crypto offerings to build your ideal portfolio.
    • Don't just make one-off trades. Composer symphonies constantly monitor the market and rebalance accordingly.
    • Try asking Claude: "Build me a crypto strategy with a maximum drawdown of 30% or less."
  • Backtest your ideas
    • Our Backtesting API provides a fast feedback loop for AI to iterate and validate its hypotheses.
    • Try asking Claude: "Compare the strategy's performance against the S&P 500. Plot the results."
  • Find a strategy tailored for you
    • Provide your criteria to the AI and it will search through our database of 1000+ strategies to find one that suits your needs.
    • Try asking Claude: "Find me a strategy with better risk-reward characteristics than Bitcoin."
  • Monitor performance (requires API Key)
    • View performance statistics for your overall account as well as for individual symphonies.
    • Try asking Claude: "Identify my best-performing symphonies. Analyze why they are working."
  • Control your investments (requires API Key + Composer subscription)
    • Ask AI to analyze your investments and adjust your exposure accordingly!
    • Try asking Claude: "Research the latest trends and news. Analyze my symphonies and determine whether I should increase / decrease my investments."

‼️ WARNING: Composer's symphony schema takes up nearly all of the available context window on Claude's free plan. Please upgrade your Anthropic plan to get the full benefit of the MCP server. ‼️

Quickstart with Claude Desktop

This section will get you started with creating symphonies and backtesting them. You don't even need a Composer account to use these features!

Note that other tools will require an API Key.

  1. Make sure you have Python 3.10 (or higher).
    • Check your version by running python3 --version in the terminal.
  2. Install uv (Python package manager) with curl -LsSf https://astral.sh/uv/install.sh | sh or see the uv repo for additional install methods.
  3. Download composer-trade-mcp.dxt
  4. Go to Claude > Settings > Extensions then drag the composer-trade-mcp.dxt file into the window.
CleanShot 2025-06-25 at 14 35 15@2x
  1. Click "Install"
    • You can choose to add your API Key here for more advanced features but it's not necessary for backtesting.
  2. That's it. Your MCP client can now interact with Composer! Try asking Claude something like, "Create and backtest a basic 60-40 strategy."

Manual install

If the approach above did not work or your AI client doesn't support DXT, you can try the following:

  1. Make sure you have Python 3.10 (or higher).
    • Check your version by running python3 --version in the terminal.
  2. Install uv (Python package manager) with curl -LsSf https://astral.sh/uv/install.sh | sh or see the uv repo for additional install methods.
  3. Open your Terminal and run which uvx
  4. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
{
  "mcpServers": {
    "composer": {
      "command": "uvx",  <--------- Replace "uvx" with the result of `which uvx` in the prior step
      "args": [
        "composer-trade-mcp"
      ]
    }
  }
}
  1. Close and re-open Claude and you can now interact with Composer!

Getting your API Key

An API key will be necessary to interact with your Composer account. For example, saving a Composer Symphony for later or viewing statistics about your portfolio.

Trading a symphony will require a paid subscription, although you can always liquidate a position regardless of your subscription status. Composer also includes a 14-day free trial so you can try without any commitment.

Get your API key from Composer by following these steps:

  1. If you haven't already done so, create an account.
  2. Open your "Accounts & Funding" page CleanShot 2025-06-25 at 14 28 12@2x
  3. Request an API key
    CleanShot 2025-06-25 at 14 35 15@2x
  4. Save your API key and secret
    CleanShot 2025-06-25 at 14 35 15@2x
  5. Depending on how you installed the Composer MCP server, do the following:
    1. If you installed via composer-trade-mcp.dxt:
      • Go to Claude > Settings > Extensions > Composer MCP Server > Configure
      • Add your API Key and Secret
    2. If you installed via claude_desktop_config.json:
      • Modify your claude_desktop_config.json to include your API key and secret:
{
  "mcpServers": {
    "composer": {
      "command": "uvx",
      "args": [
        "composer-trade-mcp"
      ],
      "env": {
        "COMPOSER_API_KEY": "<insert-your-api-key-here>",
        "COMPOSER_SECRET_KEY": "<insert-your-api-secret-here>"
      }
    }
  }
}

Available tools

Once your LLM is connected to the Composer MCP Server, it will have access to the following tools:

  • create_symphony - Define an automated strategy using Composer's system.
  • backtest_symphony - Backtest a symphony that was created with create_symphony
  • search_symphonies - Search through a database of existing Composer symphonies.
  • backtest_symphony_by_id - Backtest an existing symphony given its ID
  • save_symphony - Save a symphony to the user's account
  • copy_symphony - Copy an existing symphony to the user's account
  • update_saved_symphony - Update a saved symphony
  • list_accounts - List all brokerage accounts available to the Composer user
  • get_account_holdings - Get the holdings of a brokerage account
  • get_aggregate_portfolio_stats - Get the aggregate portfolio statistics of a brokerage account
  • get_aggregate_symphony_stats - Get stats for every symphony in a brokerage account
  • get_symphony_daily_performance - Get daily performance for a specific symphony in a brokerage account
  • get_portfolio_daily_performance - Get the daily performance for a brokerage account
  • get_saved_symphony - Get the definition about an existing symphony given its ID.
  • get_market_hours - Get market hours for the next week
  • invest_in_symphony - Invest in a symphony for a specific account
  • withdraw_from_symphony - Withdraw money from a symphony for a specific account
  • cancel_invest_or_withdraw - Cancel an invest or withdraw request that has not been processed yet
  • skip_automated_rebalance_for_symphony - Skip automated rebalance for a symphony in a specific account
  • go_to_cash_for_symphony - Immediately sell all assets in a symphony
  • liquidate_symphony - Immediately sell all assets in a symphony (or queue for market open if outside of market hours)
  • preview_rebalance_for_user - Perform a dry run of rebalancing across all accounts to see what trades would be recommended
  • preview_rebalance_for_symphony - Perform a dry run of rebalancing for a specific symphony to see what trades would be recommended
  • rebalance_symphony_now - Rebalance a symphony NOW instead of waiting for the next automated rebalance
  • execute_single_trade - Execute a single order for a specific symbol like you would in a traditional brokerage account
  • cancel_single_trade - Cancel a request for a single trade that has not executed yet

Recommendations

We recommend the following for the best experience with Composer:

  • Use Claude Opus 4 instead of Sonnet. Opus is much better at tool use.
  • Turn on Claude's Research mode if you need the latest financial data and news.
  • Tools that execute trades or affect your funds should only be allowed once. Do not set them to "Always Allow".
    • The following tools should be handled with care: invest_in_symphony, withdraw_from_symphony, skip_automated_rebalance_for_symphony, go_to_cash_for_symphony, liquidate_symphony, rebalance_symphony_now, execute_single_trade

Troubleshooting

Logs when running with Claude Desktop can be found at:

  • Windows: %APPDATA%\Claude\logs\mcp-server-composer.log
  • macOS: ~/Library/Logs/Claude/mcp-server-composer.log

Please review the API & MCP Server Disclosure before using the API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

composer_trade_mcp-0.1.5.tar.gz (832.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

composer_trade_mcp-0.1.5-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file composer_trade_mcp-0.1.5.tar.gz.

File metadata

  • Download URL: composer_trade_mcp-0.1.5.tar.gz
  • Upload date:
  • Size: 832.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for composer_trade_mcp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 9717a0052b571422296ded7800feed6d1a3426aceaae52c8dc01cd776f30e374
MD5 78cd1da2e6a915887b0caf8a820a82bd
BLAKE2b-256 6c63f60ebd7af0ff9a78986752e25b0262ea649a9495637bd3a7130d7e676678

See more details on using hashes here.

File details

Details for the file composer_trade_mcp-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for composer_trade_mcp-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5091fc6c07c9e3784e3eda4b8307553f13e93960c524c4864cee68f5179ebd83
MD5 dcdf35b18c595493d60df8ef9355ddf3
BLAKE2b-256 124167efba2f7988fcf5450e08650220d5606faccda86c477fa34b1473017f73

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page