finData-mcp-server

finData-mcp-server

21

FinData is an MCP Server that provides professional financial data access, supporting various providers for use in AI applications. It features compatibility with both Stdio and SSE transports, enhancing adaptability across different environments.


Overview

FinData is an open-source Model Context Protocol(MCP) Server that provides professional financial data access capabilities for LLM. It supports various data providers such as Tushare, Wind, DataYes, etc. This enables AI applications to quickly retrieve financial data.

Fully supports both Stdio and SSE transports, offering flexibility for different environments.

Demonstration

https://github.com/user-attachments/assets/1a6d02af-22a3-44a0-ada7-a771a1c4818d

Quick Start

Prerequisites

Before getting started, please complete the following preparations:

  • python => 3.11
  • mcp[cli]>=1.6.0
  • pandas>=2.2.3
  • uv

Depending on your data provider, install optional packages such as:

  • tushare>=1.4.21

Configuration

Stdio Transport

You will need to edit the MCP client configuration file to add finData:

{
  "mcpServers": {
    "finData": {
      "command": "uv", 
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/finData-mcp-server/src/findata", 
        "run",
        "server.py"
      ],
      "env": {
        "DATA_API_TOKEN": "",  // API Token for accessing data provider
        "PROVIDER": "tushare"  // Specified data provider
      }
    }
  }
}

SSE Transport

Set the environment variables DATA_API_TOKEN and PROVIDER on the server hosting the MCP Server:

Windows

 set DATA_API_TOKEN=<API Token for accessing data provider>
 set PROVIDER=<Specified data provider>

Linux

  export DATA_API_TOKEN=<API Token for accessing data provider>
  export PROVIDER=<Specified data provider>

Then, start the MCP Server:

uv run server.py --transport sse   
  • Optional Arguments:

    --sse-host Host to bind SSE server to (default: localhost)

    --sse-port Port for SSE server (default: 8000)

Once the MCP Server is running, update your MCP client's configuration with the following settings to connect to it.

{
  "mcpServers": {
    "finData": {
      "name": "finData",
      "type": "sse",
      "baseUrl": "http://localhost:8000/sse"
    }
  }
}

Note: Variable names in configuration files may vary slightly between MCP clients. Refer to each client's documentation for proper configuration.

Supported Data Providers

Set the PROVIDER environment variable to specify your provider:

  • tushare

Tools

Tushare

Market Data

  • daily Get unadjusted daily stock market data.

Fundamental Data

  • stock_basic Get stock basic information including name, code, etc.
  • stock_company Get listed company basic information.
  • bak_basic Get fundamental data for specific stocks within a given time range.

Financial Data

  • income Get company income statement data.
  • balancesheet Get company balance sheet data.
  • cashflow Get company cash flow statement data.

Macroeconomic Data

  • shibor_lpr Get Loan Prime Rate (LPR) data.
  • cn_gdp Get Gross Domestic Product (GDP) data.
  • cn_cpi Get Consumer Price Index (CPI) data.
  • cn_ppi Get Producer Price Index (PPI) data.
  • cn_m Get Money Supply data.
  • sf_month Get Social Financing data.
  • cn_pmi Get Purchasing Managers' Index (PMI) data.

DataCanvas

datacanvas

This project is open-sourced by DataCanvas