Skip to main content
Glama
Finance Tools MCP

Finance Tools MCP

by VoxLink-org

finance-tools-mcp: A Financial Analysis MCP Server

https://github.com/VoxLink-org/finance-tools-mcp

Overview

The finance-tools-mcp is a Model Context Protocol (MCP) server designed to provide comprehensive financial insights and analysis capabilities to Large Language Models (LLMs). Modified from investor-agent, it integrates with various data sources and analytical libraries to offer a suite of tools for detailed financial research and analysis.

Related MCP server: Trading MCP Server

Prerequisites

  • Python: 3.10 or higher is required.

  • Package Manager: uv is the recommended package installer and resolver for this project.

Installation

First, install uv if you haven't already:

curl -LsSf https://astral.sh/uv/install.sh | sh

Ensure uv is in your system's PATH. You might need to restart your terminal or add ~/.cargo/bin to your PATH.

Then, you can run the finance-tools-mcp MCP server using uvx (which executes a package without explicitly installing it into your environment):

uvx finance-tools-mcp

To run the server with a FRED API key (for enhanced macroeconomic data access), set it as an environment variable:

FRED_API_KEY=YOUR_API_KEY uvx finance-tools-mcp

You can also run the server using Server-Sent Events (SSE) transport, which might be preferred by some MCP clients:

uvx finance-tools-mcp --transport sse

Or with both the FRED API key and SSE transport:

FRED_API_KEY=YOUR_API_KEY uvx finance-tools-mcp --transport sse

Usage with MCP Clients

To integrate finance-tools-mcp with an MCP client (for example, Claude Desktop), add the following configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "investor": {
        "command": "path/to/uvx/command/uvx",
        "args": ["finance-tools-mcp"],
    }
  }
}

Debugging

You can leverage the MCP inspector to debug the server:

npx @modelcontextprotocol/inspector uvx finance-tools-mcp

or

npx @modelcontextprotocol/inspector uv --directory  ./ run finance-tools-mcp

For log monitoring, check the following directories:

  • macOS: ~/Library/Logs/Claude/mcp*.log

  • Windows: %APPDATA%\Claude\logs\mcp*.log

Development

For local development and testing:

  1. Use the MCP inspector as described in the Debugging section.

  2. Test using Claude Desktop with this configuration:

{
  "mcpServers": {
    "investor": {
      "command": "path/to/uv/command/uv",
      "args": ["--directory", "path/to/finance-tools-mcp", "run", "finance-tools-mcp"],
    }
  }
}

Available Tools

17 tools
analyze_fng_trendA
Analyze trends in CNN Fear & Greed Index over specified days.

Parameters:
    days (int): Number of days to analyze (limited by available data).

Returns:
    str: A string containing the analysis results, including latest value,
         average value, trend direction, and number of data points analyzed.

Inputs: days (required).

calculateB

Calculate the result of a mathematical expression. Support python math syntax and numpy. > calculate("2 * 3 + 4") {'result': 10} > calculate("sin(pi/2)") {'result': 1.0} > calculate("sqrt(16)") {'result': 4.0} > calculate("np.mean([1, 2, 3])") {'result': 2.0}

Inputs: expression (required).

cnbc_news_feedB

Get the latest breaking world news from CNBC, BBC, and SCMP. Useful to have an overview for the day. Include the Fed rate prediction from Fed watch and key macro indicators.

Inputs: no named parameters.

get_current_timeA

Get the current time in ISO 8601 format.

Inputs: no named parameters.

get_earnings_historyC

Get earnings history with estimates and surprises.

Inputs: ticker (required).

get_financial_statementsC

Get financial statements. Types: income, balance, cash. Frequency: quarterly, annual.

Inputs: ticker (required), frequency, statement_type.

get_fred_seriesB

Get a FRED series by its ID. However the data is not always the latest, so use with caution!!!

Inputs: series_id (required).

get_historical_fng_toolB
Get historical CNN Fear & Greed Index data for a specified number of days.

Parameters:
    days (int): Number of days of historical data to retrieve (limited by the API).

Returns:
    str: Historical Fear & Greed Index values for the specified period.

Inputs: days (required).

get_insider_tradesC

Get recent insider trading activity.

Inputs: ticker (required).

get_overall_sentiment_toolB
Get comprehensive market sentiment indicators including:
- CNN Fear & Greed Index (score and rating)
- Market RSI (Relative Strength Index)
- VIX (Volatility Index)

Returns:
    str: Formatted string containing all three indicators with their current values

Inputs: no named parameters.

get_price_historyA

Get historical price data digest for specified period. There're two kinds of response mode: 1. The period mode. It will generate a digest for LLM consumption. Usually get at least 3 months, 6 months or more. The response includes OCHLCV samples, Technical Indicators (by ta-lib) , Risk Metrics, and other quantitative analysis. 2. The start_date and end_date mode. Once the start_date (yyyy-mm-dd) and end_date (yyyy-mm-dd) are specified, it will generate a raw OCHLCV data in the slot. And no digest will be generated in this mode. Useful for checking the price history of a specific short date range.

Inputs: ticker (required), end_date, period, start_date.

get_ticker_dataB

Get comprehensive report for ticker: overview, news, metrics, sector / industry valuation, performance, dates, analyst recommendations, and upgrades/downgrades.

Inputs: ticker (required).

get_ticker_news_toolB

For getting yahoo financial news of a ticker. Useful for getting latest news, especially for doing deep research.

Inputs: ticker (required).

get_top25_holdersC

Get top 25 institutional holders and their changes for a given stock ticker.

Inputs: ticker (required).

search_fred_seriesC

Search for the most popular FRED series by keyword. Useful for finding key data by name. Like GDP, CPI, etc. However the data is not always the latest.

Inputs: query (required).

social_media_feedA

Get most discussed stocks and investments opinions from reddit. Useful to know what investors are talking about. keywords is optional. Set keywords to match the specific topic you are interested in, by 'OR' operator, e.g. ['tsla', 'tesla'], ['tesla', 'spacex'], ['AAPL', 'apple', 'tim cook', 'cook'] No keywords will return the most discussed stocks and investments.

Inputs: keywords.

super_option_toolB
Analyzes and summarizes option data for a given ticker.

This function retrieves option indicators and Greeks for the specified ticker,
generates a digest summarizing key metrics, and formats a table of key option
data including last trade date, strike, option type, open interest, volume,
and implied volatility.

Args:
    ticker: Stock ticker symbol.

Inputs: ticker (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 17 tools

    Disambiguation3/5

    Most tools have distinct purposes, but there is some overlap that could cause confusion. For example, get_historical_fng_tool and analyze_fng_trend both deal with Fear & Greed Index data, and get_ticker_data includes news while get_ticker_news_tool is specifically for news. However, descriptions help clarify differences, such as analyze_fng_trend focusing on trend analysis versus get_historical_fng_tool for raw data retrieval.

    Naming Consistency4/5

    The naming follows a consistent snake_case pattern with a verb_noun structure for most tools, like get_price_history and search_fred_series. There are minor deviations, such as calculate being a single verb and cnbc_news_feed using a noun_verb_noun pattern, but overall, the naming is predictable and readable.

    Tool Count4/5

    With 17 tools, the count is slightly high but reasonable for a finance domain that covers diverse areas like market data, news, sentiment, and analysis. It provides comprehensive coverage without being overwhelmingly large, though it borders on the heavy side for typical MCP server scopes.

    Completeness4/5

    The tool set offers broad coverage for financial analysis, including data retrieval (e.g., price history, financial statements), sentiment indicators, news feeds, and specialized tools like options analysis. Minor gaps exist, such as no explicit tools for portfolio management or trading actions, but agents can work around this with the available tools for core financial workflows.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An MCP server that provides comprehensive access to real-time stock quotes, financial statements, analyst estimates, and technical indicators via the Financial Modeling Prep API. It enables users to conduct in-depth financial analysis and track market performance through specialized tools, resources, and prompt templates.
      26
      22 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A comprehensive MCP server for stock analysis and trading insights, including stock screening, fundamental analysis, insider trading, options analysis, social media research, and news analysis.
      10
      75
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Comprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.
      26
      9 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An advanced MCP server for real-time worldwide stock market data, technical indicators, financials, news, and Python sandboxing with AI models, supporting US and Indian markets.
      29
      1
      MIT