Alpaca

listing.by

Trade stocks, ETFs, options and crypto and pull market data through Alpaca's Trading API.

state.local.long (state.local.title)listing.badge.runs_withstate.key.long

listing.install

listing.local.explain

uvx alpaca-mcp-server

listing.local.needs listing.local.note

  • ALPACA_API_KEY listing.env.secret Alpaca Trading API key
  • ALPACA_SECRET_KEY listing.env.secret Alpaca Trading API secret key
  • ALPACA_TOOLSETS listing.env.optional Comma-separated list of toolsets to enable (e.g. account,trading,stock-data). All enabled by default.

listing.share.h

listing.share.p_local

mcp.tc/i/alpaca

listing.about

Connects an AI assistant to Alpaca's Trading and Market Data APIs. It covers stocks, ETFs, options and crypto, and supports account and portfolio queries, order placement and market data lookups. Version 2 generates more than 60 tools from Alpaca's OpenAPI specs using FastMCP.

Runs locally over stdio with uvx alpaca-mcp-server and needs Python 3.10+ and uv. Set ALPACA_API_KEY and ALPACA_SECRET_KEY in the MCP client config; a free paper trading account is enough to start. The optional ALPACA_TOOLSETS variable limits which toolsets are enabled, such as account, trading or stock-data.

listing.can

  • Trade stocks, ETFs, options and crypto in plain language
  • Check account details and portfolio positions
  • Pull real-time and historical market data
  • Restrict enabled tools with ALPACA_TOOLSETS
  • Practice with a free paper trading account

listing.tools

listing.notools.key

listing.prompts

  • Show my Alpaca account balance and current positions.

  • Get the latest quote and recent daily bars for AAPL.

  • Place a paper limit order to buy 10 shares of MSFT at 400.

  • What crypto assets can I trade on Alpaca?

listing.setup.h

listing.setup.local

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio alpaca --env "ALPACA_API_KEY=<YOUR_ALPACA_API_KEY>" --env "ALPACA_SECRET_KEY=<YOUR_ALPACA_SECRET_KEY>" -- uvx alpaca-mcp-server
  1. Start Claude Code and type /mcp. alpaca should show as connected.

Add --scope user to make it available in every project. Replace the placeholders with your own values.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ],
      "env": {
        "ALPACA_API_KEY": "<YOUR_ALPACA_API_KEY>",
        "ALPACA_SECRET_KEY": "<YOUR_ALPACA_SECRET_KEY>"
      }
    }
  }
}
  1. Save the file and restart Claude Desktop. Replace the placeholders with your own values.

Needs uv (Python) on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ],
      "env": {
        "ALPACA_API_KEY": "<YOUR_ALPACA_API_KEY>",
        "ALPACA_SECRET_KEY": "<YOUR_ALPACA_SECRET_KEY>"
      }
    }
  }
}

Needs uv (Python) on your computer. Replace the placeholders with your own values.

VS Code

Add it to .vscode/mcp.json. VS Code asks for the secret the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "alpaca": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ],
      "env": {
        "ALPACA_API_KEY": "${input:alpaca-api-key}",
        "ALPACA_SECRET_KEY": "${input:alpaca-secret-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "alpaca-api-key",
      "description": "ALPACA_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "alpaca-secret-key",
      "description": "ALPACA_SECRET_KEY",
      "password": true
    }
  ]
}

Needs uv (Python) on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ],
      "env": {
        "ALPACA_API_KEY": "<YOUR_ALPACA_API_KEY>",
        "ALPACA_SECRET_KEY": "<YOUR_ALPACA_SECRET_KEY>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade. Replace the placeholders with your own values.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add alpaca --env "ALPACA_API_KEY=<YOUR_ALPACA_API_KEY>" --env "ALPACA_SECRET_KEY=<YOUR_ALPACA_SECRET_KEY>" -- uvx alpaca-mcp-server

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.alpaca]
command = "uvx"
args = ["alpaca-mcp-server"]
env = { ALPACA_API_KEY = "<YOUR_ALPACA_API_KEY>", ALPACA_SECRET_KEY = "<YOUR_ALPACA_SECRET_KEY>" }

Needs uv (Python) on your computer. Replace the placeholders with your own values.

Gemini CLI

gemini mcp add -e "ALPACA_API_KEY=<YOUR_ALPACA_API_KEY>" -e "ALPACA_SECRET_KEY=<YOUR_ALPACA_SECRET_KEY>" alpaca uvx alpaca-mcp-server

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ],
      "env": {
        "ALPACA_API_KEY": "<YOUR_ALPACA_API_KEY>",
        "ALPACA_SECRET_KEY": "<YOUR_ALPACA_SECRET_KEY>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs uv (Python) on your computer. Replace the placeholders with your own values.

listing.faq

Can I paste mcp.tc/i/alpaca into my MCP client?

No. Alpaca runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is uvx alpaca-mcp-server.

Does Alpaca need an API key?

Yes. It reads ALPACA_API_KEY and ALPACA_SECRET_KEY from its environment, and ALPACA_API_KEY and ALPACA_SECRET_KEY are secrets. Put the value in your client's config on your own machine, never in a shared file.

Is Alpaca a remote or a local server?

Local. Your client starts it as a process on your computer with uvx alpaca-mcp-server, which needs uv (Python).

What can Alpaca do?

You can trade stocks, ETFs, options and crypto in plain language, check account details and portfolio positions and pull real-time and historical market data.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Who wrote this page?

mcp.tc's robot read Alpaca's public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

listing.em.h

listing.em.lead_local listing.em.how

listing.em.badge

em.prev_lightem.prev_dark
Markdown
[![Alpaca on mcp.tc](https://mcp.tc/i/alpaca/badge.svg)](https://mcp.tc/i/alpaca)
HTML
<a href="https://mcp.tc/i/alpaca"><img src="https://mcp.tc/i/alpaca/badge.svg" alt="Alpaca on mcp.tc" height="20"></a>

listing.em.badge_note

listing.em.widget

HTML
<script src="https://mcp.tc/w/alpaca.js" async></script>

listing.em.widget_note

iframe

HTML
<iframe src="https://mcp.tc/embed/alpaca" title="Alpaca on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

listing.em.iframe_note

JSON

listing.em.json_local

https://mcp.tc/i/alpaca.json

listing.em.fields

listing.disclaimer_checked