siftingio-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for HTTP transport (default: 3000) | |
| MCP_HTTP_PORT | No | Alternative port for HTTP transport | |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP transport authentication | |
| SIFTING_WS_URL | No | Override the default WebSocket URL | |
| SIFTING_API_KEY | Yes | Your SiftingIO API key, obtainable at https://sifting.io | |
| SIFTING_BASE_URL | No | Override the default backend URL |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| last_tradeA | Latest trade snapshot (price and size) for a symbol on a venue, read straight from the live engine and never cached. For the best bid/ask instead use last_quote; for historical bars use stocks_bars / crypto_bars / forex_bars. Returns structuredContent alongside the text. |
| last_quoteA | Top-of-book quote — best bid and ask with their sizes — for a symbol on a venue, read live from the engine and never cached. For the last traded price use last_trade instead. Returns structuredContent alongside the text. |
| last_tvlA | Current aggregated total value locked (TVL) for a DEX trading pair on an EVM chain, read live. Provide the canonical pair (e.g. WETH-USDC); for a wallet's token balances use dex_wallet. Returns structuredContent alongside the text. |
| crypto_barsA | Fetch historical OHLCV bars for a USD-quoted crypto symbol (e.g. BTCUSD) over a time range at a chosen interval (default 1m); volume is fractional base-asset volume. Large ranges are size-capped (watch for the _truncated note) — narrow the range or paginate with cursor/limit (max 5000/page). For the current price use last_trade. |
| forex_barsA | Fetch historical OHLC bars for a 6-character FX pair (e.g. EURUSD) over a time range at a chosen interval (default 1m); volume is always 0 for OTC spot forex. Large ranges are size-capped (watch for the _truncated note) — narrow the range or paginate with cursor/limit. For the current rate use last_quote. |
| ws_subscribeA | Open (if needed) the live WebSocket and subscribe to symbols on a channel. Incoming ticks are buffered; read them with ws_poll. Returns current connection status. |
| ws_unsubscribeA | Stop receiving the given symbols on a channel; the WebSocket stays open for any remaining subscriptions. Returns current connection status. Pair with ws_subscribe; to close the connection entirely use ws_disconnect. |
| ws_pollA | Read buffered live frames. Omit after_seq to get the most recent frames (a tail snapshot); then pass the returned next_seq on subsequent calls to get only newer frames. Non-blocking. |
| ws_collectA | One-shot: subscribe, wait up to duration_ms collecting matching ticks (or until max reached), then return them. Subscriptions this call newly creates are removed afterwards. Use this for a quick 'sample N seconds of live data' request. |
| ws_statusA | Report the live stream's connection state, active subscriptions, buffered frame count, and last error, without opening a connection or consuming buffered frames. Use it to check what's subscribed before ws_poll; read buffered ticks with ws_poll. |
| ws_disconnectA | Close the live WebSocket and clear all subscriptions and the buffered frames. Use this to tear everything down; to drop only some symbols while keeping the connection open use ws_unsubscribe. Idempotent — safe to call when already disconnected. |
| stocks_searchA | Search the US equity universe by ticker, company name, or CIK substring, returning matching companies with their ticker, name, and CIK. Start here to resolve a name or partial symbol into the exact ticker the other stocks_* tools require. Returns structuredContent alongside the text. |
| stocks_profileA | Fetch a company's reference profile — name, CIK, SIC/industry, exchange, and address — assembled from SEC EDGAR submissions metadata. Use it for company identity details; for financial statements use stocks_financials and for the filing history use stocks_filings. Returns structuredContent alongside the text. |
| stocks_filingsA | List a company's SEC EDGAR filings (most recent first), optionally filtered by form type and filed-date range. Paginate with cursor/limit, or set max_items to auto-collect across pages in one call. Returns filing metadata and accession numbers; pass an accession to stocks_filing for its document list, or to stocks_sections / stocks_section for its extracted text. |
| stocks_filingA | Fetch one SEC filing's detail — header metadata plus its list of document files — identified by ticker and accession number. Get accession numbers from stocks_filings; for the filing's extracted narrative text use stocks_sections (all sections) or stocks_section (one section's body). |
| stocks_sectionsA | Fetch every extracted narrative section of one SEC filing at once — e.g. business, risk-factors, mda, legal-proceedings — each with its section code and full text, identified by ticker and accession. Use this to pull a whole filing's readable text; when you only need one section, stocks_section returns far less. Large filings may be size-capped (watch for the _truncated note). Get accession numbers from stocks_filings. |
| stocks_sectionA | Fetch the full text of a single narrative section from one SEC filing, selected by section code (e.g. business, risk-factors, mda). Prefer this over stocks_sections when you need just one section — it returns far less text. Discover the available section codes with stocks_sections and get accession numbers from stocks_filings. |
| stocks_risk_factors_diffA | Compute the year-over-year diff of a company's risk factors (10-K Item 1A), highlighting added, removed, and changed language between its two most recent annual reports. Use it to see how disclosed risks evolved; for the raw text use stocks_section with section 'risk-factors'. |
| stocks_ratiosA | Fetch a company's fundamental financial ratios (valuation, profitability, liquidity, leverage) for the latest reporting period plus the full historical series, derived from its XBRL financials. For raw statement line items use stocks_financials or stocks_financial_concept. |
| stocks_earningsA | List a company's earnings-release history, sourced from 8-K Item 2.02 filings, most recent first. Paginate with cursor/limit, or set max_items to auto-collect across pages. For all 8-K material events (not just earnings) use stocks_events. |
| stocks_financialsA | Fetch a company's complete XBRL financials bundle — every reported concept across every period — from its SEC filings. This is a large payload and may be size-capped (watch for the _truncated note); for a single line item's time series use stocks_financial_concept, and for computed ratios use stocks_ratios. |
| stocks_financial_conceptA | Fetch the full reported time series for one XBRL concept (e.g. Revenues, NetIncomeLoss) for a single company. Use this instead of stocks_financials when you need one line item rather than the whole statement bundle; to screen the same concept across all companies use stocks_screener. |
| stocks_insidersA | List a company's insider transactions from SEC Form 3/4/5 filings (officers, directors, 10% owners), most recent first. Paginate with cursor/limit (default 10, max 25), or set max_items to auto-collect across pages. For large outside stakeholders (13D/13G) use stocks_ownership. |
| stocks_ownershipA | List a company's Schedule 13D/13G beneficial-ownership filings (holders of large stakes), most recent first. Paginate with cursor/limit, or set max_items to auto-collect across pages. For officer/director trades use stocks_insiders; for institutional 13F positions use filers_holdings. |
| stocks_eventsA | List a company's 8-K material-event filings, optionally filtered to a single item code (e.g. 2.02). Most recent first; paginate with cursor/limit, or set max_items to auto-collect across pages. For earnings releases specifically use stocks_earnings. |
| stocks_compensationA | List a company's DEF 14A proxy statements, which cover executive compensation and shareholder-vote matters, most recent first. Paginate with cursor/limit, or set max_items to auto-collect across pages. |
| stocks_screenerA | Screen one XBRL concept for a single fiscal period across all filers at once (e.g. Revenues for FY2023), returning each company's reported value. This is the cross-sectional counterpart to stocks_financial_concept, which returns one company's series over time. Paginate with cursor/limit. |
| stocks_barsA | Fetch historical OHLCV bars for a US equity over a date/time range at a chosen interval (default 1m). Large ranges are size-capped (watch for the _truncated note) — narrow the window or paginate with cursor/limit. For a live price snapshot use last_trade or last_quote instead. |
| filers_holdingsA | List the latest 13F-HR reported equity positions for an institutional investment manager (a fund), identified by CIK or ticker, with share counts and market values. Paginate with cursor/limit. This is holdings held BY the filer; for a single company's insider or large-stakeholder filings use stocks_insiders / stocks_ownership. |
| economic_calendar_listA | List scheduled and released macroeconomic events (e.g. CPI, non-farm payrolls, rate decisions) over a date range, each with its actual, previous, and consensus figures. Filter by country, impact level, issuing agency, or a specific recurring event_id. Defaults to the US and roughly the next 30 days. |
| markets_listA | List every market in the catalog — exchanges and asset classes such as nyse, us_equities, forex, crypto — optionally filtered by region. Use it to discover the market slug the other markets_* tools expect. |
| markets_status_allA | Return the current open/closed status for every market at once, optionally filtered by region. Use markets_status when you already know the single market slug you care about. |
| markets_statusA | Return the current open/closed status for a single market by slug (e.g. nyse). For a snapshot across all markets use markets_status_all; for the recurring weekly schedule use markets_hours. |
| markets_hoursA | Return the regular weekly trading-hours schedule (open/close times per weekday, with time zone) for a market by slug. This is the recurring schedule, not today's state — use markets_status for whether it's open right now, and markets_calendar for holidays and half-days. |
| markets_calendarA | List the holidays and half-day (early-close) sessions for a market over a date range (defaults to the next ~90 days, max 730). Use markets_hours for the normal weekly schedule and markets_status for the live open/closed state. |
| dex_walletA | Fetch the current token holdings — balances and identified tokens — for a wallet address on an EVM chain (e.g. ethereum, base). Both chain and address are required. For a DEX pair's pooled liquidity use last_tvl. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| company_snapshot | Build a concise fundamental snapshot of a US-listed company by combining profile, ratios, the latest filing, and the live price. |
| compare_companies | Compare several US-listed companies across key fundamental ratios. |
| market_now | Summarize which major markets are open and the next high-impact US macro events. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/SiftingIO/siftingio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server