mcp-tiingo
If you are the rightful owner of mcp-tiingo and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Tiingo Server is a Model Context Protocol server that provides access to various Tiingo API endpoints, enabling programmatic access to financial data.
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)
Setup
-
Clone the repository or ensure you are in the project directory.
-
Install dependencies:
npm install
-
Obtain Your Tiingo API Key: To use this server, you need a Tiingo API token.
- Register for a Tiingo account if you don't have one.
- Go to your Tiingo Account page and navigate to the API Token section (or directly visit: https://www.tiingo.com/account/api/token).
- 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.
-
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).
-
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 theenv
block of the configuration. Example MCP settings entry:(Replace"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 ... }
/path/to/mcp-tiingo
andYOUR_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
ortickers
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:
- 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. - Import and add the tool definition object to the
tiingoTools
array insrc/tools/index.ts
. - Rebuild the server (
npm run build
).