AgentStack
MCP verified Apache-2.0 Self-run

Finance Mcp

mcp-flowllm-ai-finance-mcp · by FlowLLM-AI

LLM-powered MCP server for building financial deep-research agents, integrating web search, Crawl4AI scraping, and entity extraction into composable analysis flows.

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add mcp-flowllm-ai-finance-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Finance Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Finance-MCP

📖 Project Overview

Finance MCP is an intelligent agent toolkit and MCP server designed for financial research scenarios. Built on the FlowLLM framework, it integrates components such as Crawl4AI, Tushare, Tavily/DashScope search, and more, helping you quickly build professional financial research agent systems.

💡 Why Choose Finance MCP?

  • Zero-Code Configuration: Combine operators through YAML configuration files without writing service code
  • Out-of-the-Box: Pre-configured 20+ financial research-related flows covering common research scenarios
  • Multi-Protocol Support: Supports both MCP (stdio/SSE/HTTP) and HTTP RESTful API
  • Smart Caching: Built-in multi-level caching mechanism to improve efficiency and reduce costs
  • Modular Design: Each functional module is independently configurable, supporting enable/disable as needed

📰 Latest Updates

  • [2025-12] 🎉 Released finance-mcp v0.1.x

🚀 Quick Start

Installation

Install Finance MCP using pip:

pip install finance-mcp

Or using uv:

uv pip install finance-mcp

Stdio Mode

This mode runs Finance MCP directly through uvx, communicating via standard input/output. Ideal for local MCP clients.

{
  "mcpServers": {
    "finance-mcp": {
      "command": "uvx",
      "args": [
        "finance-mcp",
        "config=default,ths",
        "mcp.transport=stdio",
        "llm.default.model_name=qwen3-30b-a3b-thinking-2507",
        "disabled_flows='[\"tavily_search\",\"mock_search\",\"react_agent\"]'"
      ],
      "env": {
        "FLOW_LLM_API_KEY": "xxx",
        "FLOW_LLM_BASE_URL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
        "DASHSCOPE_API_KEY": "xxx",
        "TUSHARE_API_TOKEN": "xxx",
        "TAVILY_API_KEY": "xxx",
        "BAILIAN_MCP_API_KEY": "xxx"
      }
    }
  }
}
Service Mode (HTTP/SSE Server)

This mode starts Finance MCP as a standalone HTTP/SSE server that can be accessed remotely.

Step 1: Configure Environment Variables

Copy example.env to .env and fill in your API keys:

cp example.env .env
# Edit .env and fill in your API keys

Step 2: Start the Server

Start the Finance MCP server with SSE transport:

finance-mcp \
  config=default,ths \
  mcp.transport=sse \
  mcp.host=0.0.0.0 \
  mcp.port=8001 \
  llm.default.model_name=qwen3-30b-a3b-thinking-2507 \
  disabled_flows='["tavily_search","mock_search","react_agent"]'

The service will be available at: http://0.0.0.0:8001/sse

Step 3: Connect from MCP Client

Add this configuration to your MCP client to connect to the remote SSE server:

{
  "mcpServers": {
    "finance-mcp": {
      "type": "sse",
      "url": "http://0.0.0.0:8001/sse"
    }
  }
}

Step 4: Using with FastMCP Client

When running in Service Mode, you can also use the FastMCP Python client to directly access the server:

import asyncio
from fastmcp import Client

async def main():
    async with Client("http://0.0.0.0:8001/sse") as client:
        for tool in client.list_tools():
            print(tool)

        result = await client.call_tool(
            name="dashscope_search",
            arguments={"query": "Recent news about Zijin Mining"}
        )
    print(result)

asyncio.run(main())
One-Command Test
python test_op/test_project_sse.py

This will start the server, connect via FastMCP client, and test all available tools automatically.

🚀 MCP Tools

Default Tools

| Tool Name | Description | Dependencies | Input Parameters | |---------------------------|---------------------------------------------------------------------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------| | historycalculate | Price-volume analysis based on Tushare A-share historical data | TUSHARE_API_TOKEN | code: 601899query: How much did it rise in the past week? Any MACD golden cross? | | crawlurl | Scrape and parse web content | crawl4ai | url: https://example.com | | extractentitiescode | Identify financial entities from text and complete stock codes (currently uses dashscopesearch, replaceable) | DASHSCOPE_API_KEY | query: I want to learn about Kweichow Moutai stock | | executecode | Execute arbitrary Python code | - | code: print(1+1) | | executeshell | Execute shell commands | - | command: ls | | dashscopesearch | Web search based on DashScope | DASHSCOPE_API_KEY | query: Recent news about Zijin Mining | | tavilysearch | Web search based on Tavily | TAVILY_API_KEY | query: financial news | | mocksearch | Mock search for LLM simulation | - | query: test query | | react_agent | ReAct agent combining multiple tools for answering complex questions | - | query: Help me analyze Zijin Mining's trend for the next week |

TongHuaShun Tools

> Note: These tools are implemented via crawl4ai. High concurrency may result in IP blocking.

| Tool Name | Description | Dependencies | Input Parameters | |------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|----------------------------------------------------------------------------------------------------------------| | crawlthscompany | Get company profile information by A-share stock code, including details, executive introductions, issuance-related info, subsidiaries, etc., and return query-relevant information | crawl4ai | code: 600519query: What are the company's main business and executive situation? | | crawlthsholder | Get shareholder research information by A-share stock code, including shareholder count, top 10 circulating shareholders, top 10 shareholders, bondholders, controlling hierarchy, etc. | crawl4ai | code: 600519query: How have shareholder count and major shareholder structure changed recently? | | crawlthsoperate | Get operational analysis information by A-share stock code, including main business introduction, operational data, main business composition, customers & suppliers, business review, product prices, etc. | crawl4ai | code: 600519query: What is the company's main business composition and operational situation? | | crawlthsequity | Get equity structure information by A-share stock code, including unlock schedule, total equity composition, A-share structure chart, historical equity changes, etc. | crawl4ai | code: 600519query: What restricted shares will be unlocked in the next year? | | crawlthscapital | Get capital operation information by A-share stock code, including funding sources, project investments, M&A, equity investments, IPO participation, equity transfers, pledge/unfreeze, etc. | crawl4ai | code: 600519query: What recent M&A or capital operations has the company had? | | crawlthsworth | Get earnings forecast information by A-share stock code, including performance forecasts, detailed forecast tables, research report ratings, etc. | crawl4ai | code: 600519query: What are the earnings forecasts and institutional ratings for the next three years? | | crawlthsnews | Get news and announcements by A-share stock code, including news-price correlation, announcement lists, hot news, research report lists, etc. | crawl4ai | code: 600519query: What are the recent important announcements or news? | | crawlthsconcept | Get concept and theme information by A-share stock code, including regular concepts, other concepts, theme highlights, concept comparison, etc. | crawl4ai | code: 600519query: What concept themes does this stock involve? | | crawlthsposition | Get major position information by A-share stock code, including institutional holdings summary, holding details, takeover situations, IPO allocation institutions, etc. | crawl4ai | code: 600519query: What is the institutional holding trend and major institutional holdings? | | crawlthsfinance | Get financial analysis information by A-share stock code, including financial diagnosis, financial indicators, indicator change explanations, asset-liability composition, financial reports, DuPont analysis, etc. | crawl4ai | code: 600519query: What is the company's profitability and financial structure? | | crawlthsbonus | Get dividend and financing information by A-share stock code, including dividend diagnosis, dividend history, additional issuance allocation details, additional issuance overview, rights issue overview, etc. | crawl4ai | code: 600519query: What is the historical dividend situation and recent financing arrangements? | | crawlthsevent | Get company events by A-share stock code, including executive shareholding changes, shareholder shareholding changes, guarantee details, violations, institutional research, investor interactions, etc. | crawl4ai | code: 600519query: What are the recent major events or executive shareholding changes? | | crawlthsfield | Get industry comparison information by A-share stock code, including industry position, industry news, etc. | crawl4ai | code: 600519query: What is the company's position in its industry? |

External MCP Services

> Note: External MCP services are called via SSE (Server-Sent Events). You need to configure the BAILIAN_MCP_API_KEY environment variable in .env.

| Service Name | Description | Dependencies | Input Parameters | |--------------------|-------------------------------------------|-----------------------|-----------------------------------------| | tongyisearch | WebSearch service based on DashScope | BAILIAN_MCP_API_KEY | query: Recent news about Zijin Mining | | bochaaisearch | BochaAI search service based on DashScope | BAILIAN_MCP_API_KEY | query: financial news |

Server Configuration Parameters

| Parameter | Description | Example | |--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------| | config | Configuration files to load (comma-separated). Available: default (core flows), ths (TongHuaShun stock data), stream_agent (streaming agents), external_mcp (external MCP services) | config=default,ths | | mcp.transport | Transport mode: stdio (Claude Desktop), sse (web apps), http (RESTful), streamable-http | mcp.transport=stdio | | mcp.host | Host address (for sse/http transports only) | mcp.host=0.0.0.0 | | mcp.port | Port number (for sse/http transports only) | mcp.port=8001 | | llm.default.model_name | Default LLM model name (overrides config file) | llm.default.model_name=qwen3-30b-a3b-thinking-2507 | | disabled_flows | JSON array of flow names to disable. Tip: Disable flows if you don't have the required API keys (e.g., tavily_search requires TAVILY_API_KEY) | disabled_flows='["react_agent"]' |

For the full set of available options and defaults, refer to [default.yaml](./finance_mcp/config/default.yaml).

Environment Variables

| Variable | Required | Description | |-----------------------|-------------|--------------------------------------------| | FLOW_LLM_API_KEY | ✅ Yes | API key for OpenAI-compatible LLM service | | FLOW_LLM_BASE_URL | ✅ Yes | Base URL for OpenAI-compatible LLM service | | DASHSCOPE_API_KEY | ⚠️ Optional | For DashScope search and entity extraction | | TUSHARE_API_TOKEN | ⚠️ Optional | For historical data analysis | | TAVILY_API_KEY | ⚠️ Optional | For Tavily web search | | BAILIAN_MCP_API_KEY | ⚠️ Optional | For external MCP services

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.