composer-trade-mcp
Enables MCP-enabled LLMs to create, backtest, and trade automated investing strategies (symphonies) on Composer, with tools for monitoring performance and adjusting portfolio exposure.
README
<div class="title-block" style="text-align: center;" align="center">
</div>
<p align="center"> <strong>Vibe Trading is here!</strong> </p> <p align="center"> Official <a href="https://www.composer.trade">Composer</a> 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. </p>
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."
- 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."
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.
- Install
uv(Python package manager) withcurl -LsSf https://astral.sh/uv/install.sh | shor see theuvrepo for additional install methods. - Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
{
"mcpServers": {
"composer": {
"command": "uvx",
"args": [
"composer-trade-mcp"
]
}
}
}
- If the previous step doesn't work, you most likely need to replace
"command": "uvx"with the actual location ofuvxon your computer.- Run this command in your terminal:
which uvx - Copy the result and replace
"command": "uvx"with"command": "<The result of 'which uvx'>" - Close Claude and re-open to reload the MCP server.
- Run this command in your terminal:
- That's it. Your MCP client can now interact with Composer! Try asking Claude something like, "Create and backtest a basic 60-40 strategy."
If you're using Windows, you will have to enable "Developer Mode" in Claude Desktop to use the MCP server. Click "Help" in the hamburger menu at the top left and select "Enable Developer Mode".
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:
- If you haven't already done so, create an account.
- Open your "Accounts & Funding" page
- Request an API key <div align="center"> <img src="https://github.com/user-attachments/assets/df6d8f23-de5a-44fb-a1c7-0bffa7e3173f" alt="CleanShot 2025-06-25 at 14 35 15@2x" width="500"> </div>
- Save your API key and secret <div align="center"> <img src="https://github.com/user-attachments/assets/dd4d2828-6bfd-4db5-9fe0-6a78694f87c6" alt="CleanShot 2025-06-25 at 14 35 15@2x" width="500"> </div>
- Modify your
claude_desktop_config.jsonto 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 withcreate_symphonybacktest_symphony_by_id- Backtest an existing symphony given its IDsave_symphony- Save a symphony to the user's accountupdate_saved_symphony- Update a saved symphonylist_accounts- List all brokerage accounts available to the Composer userget_account_holdings- Get the holdings of a brokerage accountget_aggregate_portfolio_stats- Get the aggregate portfolio statistics of a brokerage accountget_aggregate_symphony_stats- Get stats for every symphony in a brokerage accountget_symphony_daily_performance- Get daily performance for a specific symphony in a brokerage accountget_portfolio_daily_performance- Get the daily performance for a brokerage accountget_saved_symphony- Get the definition about an existing symphony given its ID.get_market_hours- Get market hours for the next weekinvest_in_symphony- Invest in a symphony for a specific accountwithdraw_from_symphony- Withdraw money from a symphony for a specific accountcancel_invest_or_withdraw- Cancel an invest or withdraw request that has not been processed yetskip_automated_rebalance_for_symphony- Skip automated rebalance for a symphony in a specific accountgo_to_cash_for_symphony- Immediately sell all assets in a symphonyliquidate_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 recommendedpreview_rebalance_for_symphony- Perform a dry run of rebalancing for a specific symphony to see what trades would be recommendedrebalance_symphony_now- Rebalance a symphony NOW instead of waiting for the next automated rebalanceexecute_single_trade- Execute a single order for a specific symbol like you would in a traditional brokerage accountcancel_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
- The following tools should be handled with care:
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.