Alpaca
Interact with the Alpaca trading API for stock trading, market data, and account management.
Alpaca MCP Server
This is a Model Context Protocol (MCP) server for Alpaca, allowing LLMs like Claude to interact with the Alpaca trading API. It enables trading stocks, checking positions, fetching market data, and managing your account - all through natural language.
Features
- 📚 Alpaca Documentation - Access Alpaca SDK documentation to build
- 📊 Market Data - Get real-time stock quotes and historical price data
- 💵 Account Information - Check your balances, buying power, and status
- 📈 Position Management - View current positions and their performance
- 🛒 Order Placement - Place market and limit orders through natural language
- 📋 Order Management - List, track, and cancel orders
Prerequisites
- Python 3.10+
- Alpaca API keys
- Claude for Desktop or another MCP client
Installation
-
Clone this repository:
git clone https://github.com/YOUR_USERNAME/alpaca-mcp.git cd alpaca-mcp -
Install the required packages:
pip install mcp alpaca-py python-dotenv -
Create a
.envfile with your Alpaca API credentials:API_KEY_ID=your_alpaca_api_key API_SECRET_KEY=your_alpaca_secret_key
Usage
Running the server
Start the server by running:
python alpaca_mcp_server.py
Configuring Claude for Desktop
- Open Claude for Desktop
- Go to Settings
- Click on "Developer" and then "Edit Config"
- Add the server configuration to
claude_desktop_config.json:
{
"mcpServers": {
"alpaca": {
"command": "python",
"args": [
"/path/to/alpaca_mcp_server.py"
],
"env": {
"API_KEY_ID": "your_alpaca_api_key",
"API_SECRET_KEY": "your_alpaca_secret_key"
}
}
}
}
- Save and restart Claude for Desktop
Available Tools
The server exposes the following tools:
get_account_info()- Get account balances and statusget_positions()- List all current positions in the portfolioget_stock_quote(symbol)- Get the latest quote for a stockget_stock_bars(symbol, days)- Get historical price bars for a stockget_orders(status, limit)- List orders with specified statusplace_market_order(symbol, side, quantity)- Place a market orderplace_limit_order(symbol, side, quantity, limit_price)- Place a limit ordercancel_all_orders()- Cancel all open ordersclose_all_positions(cancel_orders)- Close all open positions
Example Queries
Once the server is connected to Claude, you can ask questions like:
- "What's my current account balance and buying power?"
- "Show me my current positions"
- "Get the latest quote for AAPL"
- "Show me the price history for TSLA over the last 10 days"
- "Buy 5 shares of MSFT at market price"
- "Sell 10 shares of AMZN with a limit price of $130"
- "Cancel all my open orders"
Note
This server uses Alpaca's paper trading by default. To use real money trading, change paper=True to paper=False in the TradingClient initialization.
Security Notice
This MCP server will have access to your Alpaca account and can place real trades. Always review what Claude is suggesting before approving any trades.
License
MIT
Related Servers
Aiven
Navigate your Aiven projects and interact with the PostgreSQL®, Apache Kafka®, ClickHouse® and OpenSearch® services
AWS News
Fetches the latest announcements, blog posts, and news for specific AWS services.
CISA M365 MCP Server
Implements CISA Binding Operational Directive 25-01 security controls for Microsoft 365 and Azure AD/Entra ID.
commercetools MCP Essentials
An MCP server and toolkit for integrating with the commercetools platform APIs.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, operating without authentication.
My MCP Server
A remote MCP server deployable on Cloudflare Workers without authentication.
AWS MCP Servers
A suite of MCP servers providing AI applications with access to AWS documentation, contextual guidance, and best practices.
Kubectl MCP Server
Enables AI assistants to interact with Kubernetes clusters using natural language.
CData SAP Ariba Source
An MCP server for SAP Ariba Source, powered by CData. Requires the external CData JDBC Driver for SAP Ariba Source.
Hygraph
Integrate Hygraph directly into MCP-compatible tools like Claude and Cursor, executing content operations via natural language