Skip to main content
Glama
MCP Tiingo Server

MCP Tiingo Server

by matteoantoci

MCP Tiingo Server

A Model Context Protocol (MCP) server that exposes various Tiingo API endpoints as tools. This server allows programmatic access to financial data including stock prices, news, forex, fundamentals, and corporate actions via the MCP protocol.

Prerequisites

  • Node.js (v18 or later recommended)

  • npm (comes with Node.js)

  • A Tiingo API Key

  • MCP-compatible client or runner (e.g., VSCode extension, CLI)

Related MCP server: MCP Stocks Analyzer

Setup

  1. Clone the repository or ensure you are in the project directory.

  2. Install dependencies:

    npm install
  3. Obtain Your Tiingo API Key: To use this server, you need a Tiingo API token.

    1. Register for a Tiingo account if you don't have one.

    2. Go to your Tiingo Account page and navigate to the API Token section (or directly visit: https://www.tiingo.com/account/api/token).

    3. Copy your API Token. You will need to provide this token to your MCP client to authenticate with the Tiingo API. Note: Programmatic registration or logins are not supported by Tiingo; the API token is the sole method for authentication.

  4. Set Tiingo API Key: This server requires your Tiingo API key. You can typically provide the API key in your MCP client's configuration (see "Running the Server" below for an example).

  5. Build the server:

    npm run build

    This will create a build directory with the compiled JavaScript code.

Running the Server

  • Via MCP runner: Configure your MCP client to run the server using stdio transport. You can provide the TIINGO_API_TOKEN in the env block of the configuration. Example MCP settings entry:

    "mcp-tiingo": {
      "transportType": "stdio",
      "command": "node",
      "args": [
        "/path/to/mcp-tiingo/build/index.js"
      ],
      "env": {
        "TIINGO_API_TOKEN": "YOUR_API_KEY_HERE"
      }
      // ... other optional settings ...
    }

    (Replace /path/to/mcp-tiingo and YOUR_API_KEY_HERE accordingly)

Available Tools

The server exposes the following Tiingo API endpoints as tools via MCP:

get_end_of_day_prices

  • Description: Fetches End-of-Day prices for a given ticker symbol with optional date range and format.

  • Key Inputs: ticker, startDate, endDate, resampleFreq

get_news

  • Description: Fetches news articles from Tiingo with various filtering options.

  • Key Inputs: tickers, tags, sources, startDate, endDate, limit

get_forex_prices

  • Description: Fetches historical intraday Forex prices for a given ticker symbol with optional date range and frequency.

  • Key Inputs: ticker, startDate, endDate, resampleFreq

get_forex_top_of_book

  • Description: Fetches real-time Forex Top-of-Book/Last data for one or more ticker symbols.

  • Key Inputs: ticker or tickers

get_fundamentals_definitions

  • Description: Fetches available fundamental metrics and their definitions.

  • Key Inputs: None

get_fundamentals_statements

  • Description: Fetches historical fundamental statement data (Balance Sheet, Income Statement, Cash Flow, Overview) for a given ticker.

  • Key Inputs: ticker, startDate, endDate, year, quarter

get_fundamentals_daily_metrics

  • Description: Fetches daily fundamental metrics for a given ticker.

  • Key Inputs: ticker, startDate, endDate, columns

get_fundamentals_meta

  • Description: Fetches fundamental meta data for companies.

  • Key Inputs: None

get_dividend_distributions

  • Description: Fetches historical dividend and distribution data for a given ticker.

  • Key Inputs: ticker, startExDate, endExDate

get_dividend_yield

  • Description: Fetches historical dividend yield data for a given ticker.

  • Key Inputs: ticker, startDate, endDate, columns

get_splits

  • Description: Fetches historical split data for a given ticker.

  • Key Inputs: ticker, startExDate, endExDate

Extending

To add more Tiingo API endpoints as tools:

  1. Create a new TypeScript file in src/tools/ defining the tool's name, description, input schema (using Zod), and handler function to call the Tiingo API.

  2. Import and add the tool definition object to the tiingoTools array in src/tools/index.ts.

  3. Rebuild the server (npm run build).

Available Tools

11 tools
get_dividend_distributionsB

Fetches historical dividend and distribution data for a given ticker.

Inputs: ticker (required), endExDate, startExDate.

get_dividend_yieldB

Fetches historical dividend yield data for a given ticker.

Inputs: ticker (required), columns, endDate, startDate.

get_end_of_day_pricesA

Fetches End-of-Day prices for a given ticker symbol with optional date range and format.

Inputs: ticker (required), endDate, startDate, resampleFreq.

get_forex_pricesA

Fetches historical intraday Forex prices for a given ticker symbol with optional date range and frequency.

Inputs: ticker (required), endDate, startDate, resampleFreq.

get_forex_top_of_bookA

Fetches real-time Forex Top-of-Book/Last data for one or more ticker symbols.

Inputs: ticker, tickers.

get_fundamentals_daily_metricsB

Fetches daily fundamental metrics for a given ticker.

Inputs: ticker (required), columns, endDate, startDate.

get_fundamentals_definitionsA

Fetches available fundamental metrics and their definitions.

Inputs: no named parameters.

get_fundamentals_metaB

Fetches fundamental meta data for companies.

Inputs: no named parameters.

get_fundamentals_statementsC

Fetches historical fundamental statement data (Balance Sheet, Income Statement, Cash Flow, Overview) for a given ticker.

Inputs: ticker (required), year, endDate, quarter, +1 more.

get_newsB

Fetches news articles from Tiingo with various filtering options.

Inputs: tags, limit, sortBy, topics, +6 more.

get_splitsB

Fetches historical split data for a given ticker.

Inputs: ticker (required), endExDate, startExDate.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct financial data endpoint (e.g., EOD, forex, fundamentals, dividends, splits, news). Related tools like dividend distributions vs. dividend yield are clearly separated by their data type.

    Naming Consistency5/5

    All tool names follow a consistent 'get_' prefix followed by a descriptive resource name in snake_case. No mixed conventions or vague verbs.

    Tool Count5/5

    11 tools is well-scoped for a financial data server covering multiple asset classes and data categories. Each tool represents a meaningful data category without unnecessary bloat.

    Completeness4/5

    The tool set covers major Tiingo API areas like EOD prices, forex, fundamentals, dividends, splits, and news. Minor gaps exist (e.g., crypto data, real-time equities), but the core workflows are well-supported.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      Provides tools to get financial data (stock prices, company information) and generate financial visualizations through the Model Context Protocol.
      10
      11
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides real-time stock data, news, company fundamentals, and technical indicators for AI assistants via the Model Context Protocol.
      MIT