Stocklake — Stock Data & Market Intelligence

Precios de acciones, indicadores técnicos (RSI/MACD/Bollinger), sentimiento de IA, actividad de insiders, ganancias, inteligencia sectorial y perspectivas del mercado para más de 1000 acciones.

Documentación

Getting Started

  • Overview
  • Get connected
  • Tiers & limits
  • What can I ask?

Clients

  • Claude
  • Tell your agent
  • Python (fastmcp)
  • curl / raw HTTP

Reference

  • OAuth 2.1
  • Errors
  • Tiers (home page)
  • Tool reference →
  • Changelog →

Connect your AI to live stock data

Real-time prices, technical indicators, AI-analysed news, and market intelligence — plug into Claude, Cursor, ChatGPT, or any AI agent in minutes. OAuth sign-in works with any supporting client — no key needed, works with Claude today, and with more providers as they add support. Client doesn't support OAuth yet (or it's not working)? Let us know — you can always fall back to a free API key below.

Not financial advice. All data, ratings, signals, and AI assessments are for informational and research purposes only. Nothing here constitutes investment advice or a recommendation to buy or sell any security.

Get connected

Using Claude? Skip this — see Claude below, sign in via OAuth, no key needed. For everything else (or if OAuth isn't supported by your client yet): go to /login — enter your email, click the magic link, done. No password, no captcha. Your key appears on your dashboard immediately.

Free keys give you 200 calls/day and never expire. No key? You still get 25 free calls/day as a guest — enough to explore. See all 17 tools →

Tiers & limits

TierRequests / dayTools
guest (no key)25All 8 free tools (get_stock, get_stocks, get_stock_history, get_stock_news, get_screener, get_market_movers, get_market_pulse, get_earnings_calendar) — headlines only on news, no AI fields
free200Same 8 free tools, higher limit, stable account key
pro5,000All 17 tools — the 8 free tools with Pro extras unlocked, plus 9 Pro-only tools (get_stock_research, get_insider_activity, get_indicator_history, get_signals, get_news_feed, get_market_assessment, get_sector_intelligence, get_earnings_intelligence, get_watchlist) + pro-only rating/signals/stance_signals/relative_strength fields on get_stock + headline/near_term/longer_term stance fields on get_stock_research's ai_summary

Exceeding the daily request limit returns HTTP 429. Limits reset at midnight UTC.

Batch tools bill per ticker, not per call. get_stocks, get_screener, get_signals, get_market_movers, and get_earnings_intelligence can each return up to 25 results in a single call — every ticker returned counts as one call toward your daily limit, not the HTTP request itself. A get_stocks call returning 25 symbols uses 25 of your daily calls. See each tool's page under Tools for its exact cap.

Every authenticated response includes these headers:

HeaderDescription
X-RateLimit-LimitYour daily request cap
X-RateLimit-RemainingRequests remaining today
X-RateLimit-ResetUnix timestamp when the counter resets (midnight UTC)

What can I ask?

Once connected (see Clients below), ask your agent:

  • "What's the current price, RSI, and analyst rating for AAPL?"
  • "Show me oversold tech stocks with market cap over $10B"
  • "What's the market sentiment right now? VIX and fear/greed index?"
  • "What earnings are coming up this week?"
  • "What does the DeMark TD Sequential signal say for TSLA right now?"
  • "Show me Williams %R and Elliott Wave phase for AMD"
  • "Summarise the latest news for NVDA with AI analysis" — Pro
  • "Which sectors are leading the market right now?" — Pro

All 17 tools with full parameter docs and response examples: Tool reference →

Claude — no key needed

One URL, no config file, no key to copy. On Claude.ai and Claude Desktop, sign-in happens as part of adding the connector. On Claude Code, add the server then run /mcp to authenticate (see below — the connector step alone doesn't trigger sign-in there). Hit a snag? Tell us and use the fallback: a free key via /login.

Also available on Smithery — one-click install for Claude Desktop and other MCP clients.

Claude.ai

  1. Go to claude.ai → Settings → Connectors.
  2. Search for "Stocklake," or enter URL: https://api.stocklake.dev/mcp
  3. Connect → sign in with a magic link — tools are available immediately.

Claude Desktop

Same flow as Claude.ai — Settings → Connectors → search for Stocklake, or paste URL below → connect → sign in with magic link.

https://api.stocklake.dev/mcp

Claude Code (CLI)

claude mcp add stocklake --transport http --url https://api.stocklake.dev/mcp

Adding the server does not auto-authenticate. Run /mcp inside Claude Code, select stocklake, and choose Authenticate — a browser opens, sign in with a magic link, done.

Tools not showing up, no error shown? This is a known Claude Code behavior, not a sign anything's broken on our end — adding a connector that needs OAuth can silently show zero tools until you manually authenticate. Run /mcp → select stocklake → Authenticate. You can always verify an active connection on your account page under "Active connections" — if it's not listed there, the OAuth handshake never completed.

Our OAuth server (RFC 8414 / RFC 9728 discovery + Dynamic Client Registration) isn't Claude-specific — any MCP client that supports OAuth gets this same no-key flow automatically. ChatGPT (Settings → Connectors → Developer Mode → add custom connector) and Perplexity (Pro/Max/Enterprise, Developer Mode → add remote connector) both work today, same URL, same magic-link sign-in. As Cursor, Windsurf, and others add OAuth-based MCP connectors, the same URL above will work there too, no changes needed on our side. Until then, use Tell your agent below with your key.

Tell your agent

For agents that don't support OAuth yet (Cursor, Windsurf, or anything else) — paste into any chat, project instructions, or agent system prompt:

You have access to real-time stock market data via the Stocklake MCP server. URL: https://api.stocklake.dev/mcp Authorization: Bearer sl_your_key_here Tools available: get_stock (price + fundamentals + indicators, plus a pro-only rating + labeled signals block — RSI, MACD, Williams %R, DeMark TD Sequential, Elliott Wave — a pro-only stance_signals list unifying technical rating, AI summary, sentiment, analyst consensus, and active screener signals into one BULLISH/BEARISH/NEUTRAL view per source, and a pro-only relative_strength block: 5D/20D/60D/120D/12M return spreads vs SPY/QQQ/sector ETF plus a one-line verdict), get_screener (filter by RSI / sector / country / market cap / AI flag score), get_market_pulse (VIX, fear/greed, breadth), get_stock_news, get_market_movers, get_earnings_calendar, get_indicator_history (90-day RSI/MACD/Williams history), get_stock_research (full AI research bundle, including a headline + near_term/longer_term stance view), and more. Save this server to your MCP config or project memory for persistent access.

Works with any agent that accepts system prompts or MCP config. Replace sl_your_key_here with your key from the dashboard.

Python (fastmcp)

import asyncio from fastmcp import Client from fastmcp.client.transports import StreamableHttpTransport async def main(): transport = StreamableHttpTransport( url="https://api.stocklake.dev/mcp", headers={"Authorization": "Bearer sl_your_key_here"}, ) async with Client(transport) as mcp: stock = await mcp.call_tool("get_stock", {"symbol": "NVDA"}) # pro key → adds .rating + .signals + .stance_signals news = await mcp.call_tool("get_stock_news", {"symbol": "NVDA", "days": 7}) print(stock.data, news.data) asyncio.run(main())

curl / raw HTTP

Endpoint: POST https://api.stocklake.dev/mcp — MCP Streamable HTTP transport, protocol version 2025-11-25.

# Initialize sessioncurl -X POST https://api.stocklake.dev/mcp \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sl_your_key_here" \ -H "Accept: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'# Call a toolcurl -X POST https://api.stocklake.dev/mcp \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sl_your_key_here" \ -H "Accept: application/json" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_stock","arguments":{"symbol":"AAPL"}}}'

OAuth 2.1

Stocklake implements OAuth 2.1 with PKCE for agent and browser-based clients. The authorization server metadata is available at the standard discovery endpoint:

GET https://api.stocklake.dev/.well-known/oauth-authorization-server

EndpointPurpose
GET /oauth/authorizeAuthorization endpoint — shows consent screen (redirects to login if no session)
POST /oauth/tokenToken endpoint — exchange code for access + refresh tokens (authorization_code and refresh_token grants)
POST /oauth/registerDynamic Client Registration (RFC 7591) — register a new OAuth client
POST /oauth/revokeRevoke an access or refresh token

Not Claude-specific: anthropic-claude is pre-registered as a trusted public client (PKCE-only, no secret required), but any other MCP client can self-register via Dynamic Client Registration and gets the same no-consent-screen flow. No per-provider setup needed on our end — Perplexity, Cursor, ChatGPT, Windsurf, or a custom agent all work the moment their client speaks MCP OAuth.

Token lifetimes: Access tokens expire after 1 hour. Refresh tokens expire after 30 days. All tokens are SHA-256 hashed in storage.

Scopes: mcp — access to all MCP tools permitted by your account tier.

For most users, the OAuth flow is fully automatic — no manual client setup required. Building your own client should use the discovery document and Dynamic Client Registration.

Errors

HTTP statusMeaning
401Missing or invalid Authorization: Bearer token
429Daily rate limit exceeded. Resets midnight UTC.
200 + isError: trueTool-level error (e.g. ticker not found, tier required). Check the content[0].text field.

Full tier comparison — 8 free tools vs 9 Pro tools — is on the home page.