Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the EODHD MCP server

Vendor MCP
Open markdown

The EODHD MCP connector routes your AI agent's tool calls to EODHD's own MCP server through Scalekit. Each user signs in to EODHD once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 91 tools.

Tools
91
What they doRead · write · destructive
86 · 5 · 086 read5 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the EODHD MCP connection

    In AgentKit > Connections, create an EODHD MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for EODHD MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'eodhdmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize EODHD MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'eodhdmcp_get_asx_corporate_actions',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • eodhdmcp_get_asx_corporate_actionsGet structured corporate action data for ASX (Australian Securities Exchange) listed securities: dividends, splits, bonus issues, rights issues, buybacks, capital returns, and share purchase plans.Read-only

    Get Asx Corporate Actions

    Get structured corporate action data for ASX (Australian Securities Exchange) listed securities: dividends, splits, bonus issues, rights issues, buybacks, capital returns, and share purchase plans. Data is sourced from the official ASX ReferencePoint (E34) feed and refreshed daily. Coverage is limited to ASX-listed tickers (all use the .AU suffix). Costs 1 API call per request. Use when the user asks about Australian dividends and franking credits, ASX splits, bonus/rights issues, buybacks, capital returns, or share purchase plans. For corporate actions on other exchanges use get_historical_dividends / get_historical_splits.

    Inputs

    action_typestring
    Corporate action category. One of: 'dividends', 'splits', 'bonus-issues', 'rights-issues', 'buybacks', 'capital-returns', 'spp', 'other'. Omit to return all types.
    api_tokenstring
    Per-call token override.
    end_datestring
    'date_to' in YYYY-MM-DD (inclusive, on event date).
    fmtstring
    'json' only.default json
    limitinteger
    Page size, 1..1000. Default 100.default 100
    offsetinteger
    Zero-based pagination offset. Default 0.default 0
    start_datestring
    'date_from' in YYYY-MM-DD (inclusive, on event date).
    symbolstring
    Ticker with .AU suffix (e.g. 'PMV.AU'). Filters to a single security.
  • eodhdmcp_get_bulk_fundamentalsFetch fundamental data for all stocks on an exchange in bulk.Read-only

    Get Bulk Fundamentals

    Fetch fundamental data for all stocks on an exchange in bulk. Use when the user needs financials, valuation, or earnings data for many companies at once -- screening, comparing sectors, or building dashboards across an entire exchange. Returns General, Highlights, Valuation, Technicals, SplitsDividends, Earnings (last 4 quarters + 4 years), and Financials for up to 500 stocks per call. Stocks only (no ETFs or mutual funds). Costs 100 API calls per request. Requires Extended Fundamentals plan. For a single ticker's full fundamentals, use get_fundamentals_data instead. For macro country-level economic data, use get_macro_indicator.

    Inputs

    exchangestringrequired
    Exchange code (e.g., 'NASDAQ', 'NYSE', 'US', 'LSE').
    api_tokenstring
    Per-call token override.
    fmtstring
    'json' (default) or 'csv'.default json
    limitstring
    Max symbols to return (default 500, max 500).
    offsetstring
    Pagination start (default 0).
    symbolsstring
    Comma-separated list of specific symbols to filter.
    versionstring
    '1.2' for single-symbol-like output format.
  • eodhdmcp_get_cboe_index_dataFetch detailed data for a specific CBOE index on a given date, including all constituent components.Read-only

    Get Cboe Index Data

    Fetch detailed data for a specific CBOE index on a given date, including all constituent components. Use when the user needs index close value, divisor, and full component breakdown (symbols, weights, market caps, sectors) for a CBOE index. Requires index_code, feed_type, and date. Returns index-level attributes plus an array of components with ISIN, closing price, currency, shares, market cap, weighting, and sector. Costs 10 API calls per request. For listing all available CBOE indices, use get_cboe_indices_list first.

    Inputs

    datestringrequired
    Trading date in YYYY-MM-DD format.
    feed_typestringrequired
    Feed type (e.g., 'snapshot_official_closing').
    index_codestringrequired
    CBOE index code (e.g., 'BDE30P', 'BAT20N').
    api_tokenstring
    Per-call token override.
    fmtstring
    'json' only (default).default json
  • eodhdmcp_get_cboe_indices_listList all available CBOE indices with their latest values.Read-only

    Get Cboe Indices List

    List all available CBOE indices with their latest values. Use when the user wants to browse CBOE European and regional index families, check which CBOE indices are available, or find a CBOE index code. Returns index codes, regions, latest close values, index divisors, and feed metadata for ~38 CBOE indices. Paginated via 'links.next'. Costs 10 API calls per request. For detailed component-level data on a specific CBOE index, use get_cboe_index_data. Returns: Object with: - meta (object): total (int) — total number of indices - data (array): index objects, each with: - id (str): CBOE index identifier - type (str): always "cboe-index" - attributes (object): - region (str): geographic region (e.g. "Eurozone", "Germany") - index_code (str): CBOE index code - feed_type (str): feed type (e.g. "snapshot_official_closing") - date (str): latest date (YYYY-MM-DD) - index_close (float): latest closing value - index_divisor (float): index divisor - links (object): next (str|null) — URL for next page, null if last Notes: - Pagination: If 'links.next' is not null, call that URL to get the next page. - Rate limits: * 10 API calls per request (CBOE dataset rule of thumb). Examples: "List all CBOE indices" → get_cboe_indices_list() "What CBOE European indices are available?" → get_cboe_indices_list()

    Inputs

    api_tokenstring
    No description.
    fmtstring
    No description.default json
  • eodhdmcp_get_company_newsFetch financial news articles for a stock ticker or topic tag within a date range.Read-only

    Get Company News

    Fetch financial news articles for a stock ticker or topic tag within a date range. Returns full article objects with title, content, URL, date, and related tickers. Use when the user asks for news headlines, recent articles, or press coverage about a company or sector. For aggregated sentiment scores derived from news, use get_sentiment_data instead. For keyword frequency analysis in news, use get_news_word_weights instead.

    Inputs

    api_tokenstring
    Per-call token override; env token used if omitted.
    end_datestring
    YYYY-MM-DD. Mapped to 'to'.
    fmtstring
    'json' or 'xml' (default 'json').default json
    limitinteger
    1..1000 (default 50).default 50
    offsetinteger
    >= 0 (default 0).default 0
    start_datestring
    YYYY-MM-DD. Mapped to 'from'.
    tagstring
    Topic tag (e.g., 'technology'). Mapped to 't'.
    tickerstring
    SYMBOL.EXCHANGE_ID (e.g., 'AAPL.US'). Mapped to 's'.
  • eodhdmcp_get_congressional_tradesFetch US Congress securities transactions disclosed under the STOCK Act.Read-only

    Get Congressional Trades

    Fetch US Congress securities transactions disclosed under the STOCK Act. Filters cover ticker, chamber, member Bioguide ID, transaction type, transaction/disclosure date ranges, and upstream pagination. A trailing ``.US`` ticker suffix is accepted and removed, while class-share dots such as ``BRK.B`` are preserved. Costs 10 API calls and requires All-in-One. Returns the upstream JSON envelope unchanged: ``data`` contains nested member, asset, transaction, and source objects; ``meta`` contains total and page details; and ``links.next`` points to the next page when present.

    Inputs

    api_tokenstring
    Per-call token override. If omitted, env token is used.
    bioguide_idstring
    Filter by member Bioguide ID.
    chamberstring
    Filter by chamber of Congress: 'house' or 'senate'.
    disclosure_date_fromstring
    Start of disclosure date range filter (YYYY-MM-DD).
    disclosure_date_tostring
    End of disclosure date range filter (YYYY-MM-DD).
    limitstring
    Records per page.
    offsetstring
    Pagination offset.
    symbolstring
    Filter by ticker symbol (e.g. 'AAPL' or 'AAPL.US'; trailing .US is stripped, class-share dots like BRK.B are preserved).
    transaction_date_fromstring
    Start of transaction date range filter (YYYY-MM-DD).
    transaction_date_tostring
    End of transaction date range filter (YYYY-MM-DD).
    transaction_typestring
    Filter by transaction type (e.g. 'purchase', 'sale').
  • eodhdmcp_get_credit_cds_market_aggregatesFetch aggregated CDS market statistics.Read-only

    Get Credit Cds Market Aggregates

    Fetch aggregated CDS market statistics. Use when the user asks about CDS market gross notional, CDS activity broken down by grade or cleared status, or CDS market size over time. Returns aggregated CDS market metrics (e.g. gross notional) broken down by a chosen dimension (grade or cleared status). Filterable by metric, dimension, and date range. Paginated.

    Inputs

    api_tokenstring
    Per-call token override.
    date_fromstring
    Start date filter (YYYY-MM-DD).
    date_tostring
    End date filter (YYYY-MM-DD).
    dimensionstring
    Breakdown dimension: 'grade' or 'cleared_status'.
    fmtstring
    'json' or 'csv'. Default 'json'.default json
    limitstring
    Records per page (default 20, max 100).
    metricstring
    Metric to aggregate. Currently 'gross_notional'.
    offsetstring
    Pagination offset.
  • eodhdmcp_get_credit_corporate_cmdiFetch the Corporate Market-based Default Indicator (CMDI) time series.Read-only

    Get Credit Corporate Cmdi

    Fetch the Corporate Market-based Default Indicator (CMDI) time series. Use when the user asks about corporate credit stress, the CMDI index, or investment-grade vs high-yield market default indicators. Returns the market CMDI along with investment-grade (IG) and high-yield (HY) sub-indices over time. Filterable by date range. Paginated.

    Inputs

    api_tokenstring
    Per-call token override.
    date_fromstring
    Start date filter (YYYY-MM-DD).
    date_tostring
    End date filter (YYYY-MM-DD).
    fmtstring
    'json' or 'csv'. Default 'json'.default json
    limitstring
    Records per page (default 20, max 100).
    offsetstring
    Pagination offset.