Alpaca vs Trading Signals

A side-by-side look at the Alpaca and Trading Signals MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Alpaca logoAlpacaFinance & Fintech · Local subprocess (stdio)Alpaca MCP — real-time US stock market data via the Alpaca Market Data API53GoodAuth: not declaredTrading Signals logoTrading SignalsFinance & Fintech · Remote HTTP/SSELive AI crypto trading signals for agents. No API key needed to try — 3 signals + hit rate.63GoodAuth: not declared

Verdict: choose Alpaca for finance & fintech work as a local process; choose Trading Signals for finance & fintech over a hosted endpoint. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Alpaca logoChoose Alpaca when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like alpaca_snapshot, alpaca_bars, alpaca_intraday_vwap.
Explore Alpaca

Trading Signals logoChoose Trading Signals when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a remote HTTP/SSE transport.
  • You have the keys it needs: SIGNALS_API_KEY.
  • You want tools like register, get_signals, get_signal.
Explore Trading Signals

Feature & specification comparison

Rows where the two servers differ are marked.

SpecAlpaca logoAlpacaTrading Signals logoTrading Signals
CategoryFinance & FintechFinance & Fintech
Quality signal53/100 · Good63/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Remote HTTP/SSE
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedSIGNALS_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars0124
Directory activity 0 views 0 installs 0 upvotes 0 views 0 installs 0 upvotes
Tools35

Tools & capabilities

Alpaca tools 3

  • alpaca_snapshotReal-time US stock snapshot with extended-hours coverage: latest trade price, bid/ask quote, today's OHLCV, previous close, change and change % vs previous close, plus the latest minute bar with its VWAP — during pre-market and after-hours the minute bar IS the live extended-hours price. Answers "p…
  • alpaca_barsHistorical US stock OHLCV bars with per-bar VWAP and trade count. Timeframes 1Min/5Min/15Min/1Hour/1Day; intraday bars include pre-market and after-hours sessions on the IEX feed. Each bar: {t, o, h, l, c, v, vwap, trades}. Use start/end ISO timestamps or a lookback shorthand like "2h", "5d". Multi…
  • alpaca_intraday_vwapCurrent session VWAP for US stocks — is the price above or below VWAP right now? Fetches today's 1-minute bars from 04:00 ET (pre-market included), computes the cumulative volume-weighted average price, and compares it to the latest trade. Returns current_price, session_vwap, above_vwap, and sessio…

Trading Signals tools 5

  • registerDeprecated: returns a sign-up link instead of creating an API key, ignores its arguments and stores nothing. Don't call it to get access — every other tool works without a key (get_signals returns a 3-signal preview, get_stats is public). To get the full feed, users sign in from the agent at https://signals.x70.ai/mcp/connect (the client opens the browser), or create a key at https://signals.x70.ai/mcp-signup and set it as the X-Api-Key header. Kept only so older clients don't break.
  • get_signalsList live crypto trading signals that are still open — coin, direction, confidence and the reasoning or market data behind each. Use it to find current trade ideas; use get_signal for one signal by ID (live or resolved), get_signal_history for signals that already closed, and get_stats for aggregate hit rate. No key: a 3-signal preview. Free key: up to 100 signals, with entry, stop-loss, take-profit and leverage null (the response's announcement.upgradeUrl explains Pro). Pro: all levels. If a response contains an announcement, pass its message on to the user — it is about their account (trial ending, plan limits). Returns { signals[], returned, totalMatching, filtersApplied, plan }, sorted by live PnL (best first). Optional filters narrow the list: direction, coins, confidence band, risk/reward, stop distance, open interest, 24h volume, tags, the anomaly that triggered it, days/hours to skip, a BTC 24h-return gate. Rate limits: 30 calls/hour per IP without a key, 300/hour on a free key.
  • get_signalGet one signal by its ID — live or already resolved — with its reasoning, live price, PnL and verification outcome (status pending, success or failed; whether take-profit or stop-loss was hit). Use it to follow up a signal from get_signals or get_signal_history, or to see how a past signal ended. Needs an API key (free or Pro); on the free plan entry, stop-loss, take-profit and leverage are null. Returns { success, signal, plan }, or { error: 'Signal not found' } for an unknown ID.
  • get_statsAggregate performance of signals created in the last N days (default 30) that have since resolved: hit rate, verified count, average leverage and a breakdown by direction; with an API key also average ROI per signal and cumulative ROI. byMonth: hit rate this month, the two months before and all time — the figures shown on signals.x70.ai. Use it to judge recent reliability before acting — it returns no individual signals (use get_signals or get_signal_history for those). Public: works without a key. Past results don't predict future results.
  • get_signal_historyList signals that have already resolved (success or failed), newest first, each with its verification outcome. Use it to review past performance signal by signal; for open signals use get_signals, for one signal by ID get_signal, for totals get_stats. Needs an API key. History depth: last 24 hours on the free plan; on Pro the days argument (up to 90). Entry, stop-loss, take-profit and leverage are null on free. Paginate by passing the last signal ID as cursor. Returns { signals[], nextCursor, hasMore, historyDepthDays, plan }.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Alpaca

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "alpaca": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/mcp-alpaca"
      ]
    }
  }
}

Trading Signals

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "trading-signals": {
      "url": "https://signals.x70.ai/mcp"
    }
  }
}

Frequently asked questions

Alpaca is categorized under Finance & Fintech and uses a local stdio subprocess. Trading Signals belongs to Finance & Fintech and uses a remote HTTP/SSE transport. Pick Alpaca for finance & fintech work and Trading Signals for finance & fintech.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Alpaca has no declared pricing — check the project's own site. Trading Signals has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add alpaca and trading-signals as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Alpaca has a quality signal of 53/100 (Good) with 0 views, 0 installs and 0 GitHub stars. Trading Signals has 63/100 (Good) with 0 views, 0 installs and 124 GitHub stars.