Paper MCP Server
The Paper MCP Server enables interaction with Paper's trading platform via natural language, providing tools for:
Account Management: Create, update, freeze, and retrieve account details; upgrade to margin accounts.
Portfolio Operations: Create, reset, and manage portfolios and positions.
Trading: Place, modify, cancel, and manage orders, including batch orders.
Market Data: Access real-time quotes, market hours, and status information.
Positions: View current holdings and P&L for equities and options.
Activity Tracking: Monitor trading activity and day trades.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Paper MCP Server show me my current portfolio positions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Paper MCP Server (@paperinvest/mcp-server)
Official Model Context Protocol (MCP) server for Paper's trading platform. Lets AI coding assistants (Cursor, Claude, etc.) interact with the Paper Trading API to fetch quotes, place paper orders, and inspect portfolios.
Install
# Global install (recommended for CLI usage)
npm i -g @paperinvest/mcp-server
# Or run with npx
npx @paperinvest/mcp-server --helpNode.js 16+ recommended.
Related MCP server: Alpaca MCP Server
Configure
Set your Paper API credentials via environment variables (shell or .env).
export PAPER_API_KEY=your_api_key
# Optional override
export PAPER_API_BASE_URL=https://api.paperinvest.ioIDE Integrations
Cursor
File: ~/.cursor/mcp.json
{
"mcpServers": {
"paper": {
"command": "paper-mcp-server",
"env": {
"PAPER_API_KEY": "your_api_key"
}
}
}
}Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"paper": {
"command": "paper-mcp-server",
"env": {
"PAPER_API_KEY": "your_api_key"
}
}
}
}Tools Reference
paper.quote(symbol)— Get real-time NBBO quote for a symbolpaper.quotesBatch(symbols[])— Get quotes for multiple symbols in one requestpaper.order({ ... })— Place a simulated order (market/limit/stop, etc.)paper.portfolio(id)— Retrieve portfolio positions and P&L
See more tools and examples in the repository and on the MCP landing: https://paperinvest.io/mcp
Examples
Configs and demo scripts are in examples/:
examples/.cursor/mcp.json— Cursor integrationexamples/claude/claude_desktop_config.json— Claude integrationexamples/scripts/get-quote.sh— Example prompt to fetch a quoteexamples/scripts/place-order.sh— Example prompt to place an order
Getting Started
Sign up at app.paperinvest.io
Generate an API key from your account settings
Add the configuration above with your API key
Restart Claude Desktop or Cursor
Troubleshooting
Ensure
paper-mcp-serveris in your PATH (npm prefix -gmay help).Verify
PAPER_API_KEYis set in the same environment as your client.Restart Cursor/Claude after changing config.
Check connectivity to
https://api.paperinvest.io.
Links
MCP Landing: https://paperinvest.io/mcp
API Docs: https://docs.paperinvest.io
Support
For support, visit paperinvest.io or email support@paperinvest.io
License
MIT © Paper Invest, Inc.
Available Tools
23 toolscancel_all_account_ordersC
Cancel all orders for an account
Inputs: accountId (required).
cancel_orderC
Cancel an existing order
Inputs: orderId (required).
create_batch_ordersC
Create multiple orders at once
Inputs: orders (required).
create_orderC
Create a new trading order
Inputs: portfolioId (required), quantity (required), side (required), symbol (required), +6 more.
create_portfolioC
Create a new portfolio
Inputs: accountId (required), name (required), type (required).
freeze_accountC
Freeze a trading account
Inputs: accountId (required).
get_accountC
Get account details by ID
Inputs: accountId (required).
get_account_ordersC
Get orders for an account
Inputs: accountId (required), limit, page.
get_account_portfoliosC
Get all portfolios for an account
Inputs: accountId (required).
get_batch_quotesC
Get real-time quotes for multiple symbols
Inputs: symbols (required).
get_day_tradesC
Get day trade activity for a portfolio
Inputs: portfolioId (required), limit, page.
get_market_hoursC
Get market hours for an exchange
Inputs: exchange.
get_orderC
Get order details by ID
Inputs: orderId (required).
get_portfolioC
Get portfolio details
Inputs: portfolioId (required).
get_portfolio_activitiesC
Get activity log for a portfolio
Inputs: portfolioId (required), category, limit, page.
get_portfolio_equitiesC
Get all equity positions in a portfolio
Inputs: portfolioId (required).
get_portfolio_optionsC
Get all option positions in a portfolio
Inputs: portfolioId (required).
get_quoteC
Get real-time quote for a symbol
Inputs: symbol (required).
get_today_filled_ordersC
Get all orders filled today
Inputs: limit, page.
is_market_openC
Check if market is open for a symbol
Inputs: symbol (required).
reset_portfolioC
Reset portfolio to initial state
Inputs: portfolioId (required).
update_accountC
Update account details
Inputs: accountId (required), name.
upgrade_to_marginC
Upgrade portfolio to margin account
Inputs: marginAgreement (required), portfolioId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 23 tools
Most tools have distinct purposes targeting specific resources like accounts, orders, portfolios, or market data, with clear action verbs. However, some potential overlap exists between 'get_account_orders' and 'get_today_filled_orders', as well as between portfolio-related 'get' tools, which could cause minor confusion in selection.
Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. Verbs like 'get', 'create', 'cancel', and 'update' are applied predictably to nouns such as 'account', 'order', 'portfolio', and 'quote', making the set easy to navigate and understand.
With 23 tools, the count is borderline high for a trading server, potentially feeling heavy but still manageable. It covers a broad scope including accounts, orders, portfolios, and market data, which justifies many tools, but it might benefit from consolidation or more focused scoping to avoid complexity.
The tool set provides comprehensive coverage for trading operations, including full CRUD for accounts, orders, and portfolios, along with market data queries and specialized actions like freezing accounts or upgrading to margin. No obvious gaps are present; agents can handle end-to-end workflows without dead ends.
Maintenance
Related MCP Connectors
Connect brokerage accounts to AI assistants: holdings, orders, asset lookup, and approved trading.
Trade Robinhood through natural language in Claude Code.
Connect your portfolio to Claude, ChatGPT, or Codex to analyze it and make smarter investments.
Unified financial infrastructure connecting AI agents directly to trade live/demo brokerage accounts, Web3 non-custodial wallets, real-time market data across equities, ETFs, crypto, forex, options, DeFi swaps, and prediction markets, institutional research feeds, and algorithmic strategy backtesters.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural language trading operations through Alpaca's Trading API, supporting stocks, options, crypto, portfolio management, and real-time market data access through AI assistants like Claude.MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language trading operations through AI assistants using Alpaca's Trading API. Supports stocks, options, crypto trading, portfolio management, and real-time market data access.MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language trading operations for stocks, options, crypto, and portfolio management via Alpaca's Trading API through AI assistants.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to run backtests, fetch market data, list strategies, and analyze trading algorithms via natural language.19 PyPI1,134GPL 3.0