Skip to main content
Glama
PublicDotCom

Public.com MCP Server

Official
by PublicDotCom

Public.com MCP Server

License Python MCP

An MCP (Model Context Protocol) server that connects AI assistants to your Public.com brokerage account. Trade stocks, options, and crypto — get quotes, manage orders, and view your portfolio — all through natural language.

Disclaimer: For illustrative and informational purposes only. Not investment advice or recommendations. Use at your own risk.

Tools

Read-Only

Tool

Description

check_setup

Verify API credentials and connectivity

get_accounts

List all brokerage accounts

get_portfolio

View positions, equity, buying power, open orders

get_orders

List active/open orders

get_order

Get status of a specific order

get_history

Transaction history (trades, deposits, dividends, etc.)

get_quotes

Real-time quotes for stocks, crypto, options

get_historic_bars

OHLCV historic bars for equities, crypto, options, or indices

get_instrument

Details about a specific tradeable instrument

get_all_instruments

List all available instruments with filters

get_option_expirations

Available expiration dates for options

get_option_chain

Full option chain (calls + puts) for a symbol

get_option_greeks

Greeks (delta, gamma, theta, vega, rho, IV) for multiple options

get_option_greek

Greeks for a single option symbol

preflight_order

Estimate costs/impact before placing a single-leg order

preflight_multileg_order

Estimate costs for multi-leg options strategies

preflight_short_order

Estimate costs before placing a short-sale order

preflight_call_credit_spread

Estimate costs for a Bear Call Spread

preflight_call_debit_spread

Estimate costs for a Bull Call Spread

preflight_put_credit_spread

Estimate costs for a Bull Put Spread

preflight_put_debit_spread

Estimate costs for a Bear Put Spread

Write (Destructive)

Tool

Description

place_order

Place a single-leg order (stocks, crypto, options)

place_multileg_order

Place multi-leg orders (spreads, straddles, etc.)

place_call_credit_spread

Place a Bear Call Spread

place_call_debit_spread

Place a Bull Call Spread

place_put_credit_spread

Place a Bull Put Spread

place_put_debit_spread

Place a Bear Put Spread

place_short_order

Place an equity short-sale order

flatten_and_go_short

Sell an existing long position then go short (experimental)

cancel_order

Cancel an existing order

cancel_and_replace_order

Atomically cancel and replace an order

Related MCP server: ibkr-mcp-server

Prerequisites

Installation

pip install publicdotcom-mcp-server

Or install from source:

git clone https://github.com/publicdotcom/publicdotcom-mcp-server.git
cd publicdotcom-mcp-server
pip install .

Configuration

Set your API credentials as environment variables:

# Required
export PUBLIC_COM_SECRET=your_api_secret_key

# Optional — sets a default account so you don't need to specify it each time
export PUBLIC_COM_ACCOUNT_ID=your_account_id

Usage

Claude Desktop

Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "public-com": {
      "command": "publicdotcom-mcp-server",
      "env": {
        "PUBLIC_COM_SECRET": "your_api_secret_key",
        "PUBLIC_COM_ACCOUNT_ID": "your_account_id"
      }
    }
  }
}

Claude Desktop (using uvx)

If you prefer using uvx (no pre-install needed):

{
  "mcpServers": {
    "public-com": {
      "command": "uvx",
      "args": ["publicdotcom-mcp-server"],
      "env": {
        "PUBLIC_COM_SECRET": "your_api_secret_key",
        "PUBLIC_COM_ACCOUNT_ID": "your_account_id"
      }
    }
  }
}

Running Directly

# stdio transport (default — for Claude Desktop, Claude Code, etc.)
publicdotcom-mcp-server

# Or run as a Python module
python -m publicdotcom_mcp_server

Hosted / Remote Deployment

For remote deployments (behind a reverse proxy or load balancer), switch to the streamable-HTTP transport:

export MCP_TRANSPORT=streamable-http
export PUBLIC_COM_SECRET=your_api_secret_key
export PORT=8000  # optional, defaults to 8000
export HOST=0.0.0.0  # optional, defaults to 0.0.0.0
publicdotcom-mcp-server

In this mode the server listens for MCP requests at POST /mcp. Clients authenticate per-request via an Authorization: Bearer <key> header, which takes priority over the PUBLIC_COM_SECRET environment variable — useful for multi-tenant deployments.

Testing with MCP Inspector

npx @modelcontextprotocol/inspector publicdotcom-mcp-server

Development

# Clone and install in development mode
git clone https://github.com/publicdotcom/publicdotcom-mcp-server.git
cd publicdotcom-mcp-server
pip install -e ".[dev]"

# Run tests
pytest

# Run the server locally
python -m publicdotcom_mcp_server

How It Works

This server wraps the publicdotcom-py Python SDK, exposing each API operation as an MCP tool. The MCP protocol allows AI clients to discover and call these tools through a standardized interface.

AI Client (Claude, etc.)
    ↕ MCP Protocol (stdio)
Public.com MCP Server
    ↕ HTTPS
Public.com Trading API

All tools include proper MCP tool annotations:

  • Read-only tools are marked with readOnlyHint: true

  • Write tools are marked with destructiveHint: true

License

Apache 2.0

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
4Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PublicDotCom/publicdotcom-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server