Finance MCP is an intelligent agent toolkit and MCP server for financial research that integrates multiple data sources and tools for comprehensive analysis of Chinese A-share stocks.
Core Capabilities:
Stock Market Analysis: Analyze historical A-share price/volume data, trends, and technical indicators (MACD) using Tushare; extract and identify financial entities (stocks, bonds, funds, ETFs, cryptocurrencies) from natural language and retrieve their codes
Web Data Collection: Scrape web content from URLs using Crawl4AI; perform internet searches via DashScope, Tavily, or mock search backends
Code & Command Execution: Execute arbitrary Python code for custom analysis and calculations; run shell commands for file operations and scripts
ReAct Agent: AI agent that combines multiple tools through reasoning and tool chaining to answer complex financial research questions
TongHuaShun Integration: Access comprehensive Chinese stock data through 13 specialized tools covering company profiles, shareholder data, operational analysis, equity structure, financial reports, earnings forecasts, news, concepts, dividends, major positions, company events, and industry comparisons
External MCP Services: Connect to Tongyi Search and BochaAI Search for expanded searching capabilities
Technical Features:
Flexible Deployment: Multiple transport modes (stdio, SSE, HTTP RESTful API with streaming) for local and remote access
Zero-Code Configuration: Create research flows through YAML files with 20+ pre-configured scenarios
Modular Architecture: Enable/disable functional modules as needed with smart multi-level caching to improve efficiency and reduce API costs
MCP Protocol Support: Compatible with Claude Desktop and other MCP clients
Provides deep research capabilities through LangChain-based operators for conducting financial research workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Finance MCPanalyze recent financial performance of Apple Inc. (AAPL)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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:
Or using uv:
Stdio Mode
This mode runs Finance MCP directly through uvx, communicating via standard input/output. Ideal for local MCP clients.
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:
Step 2: Start the Server
Start the Finance MCP server with SSE transport:
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:
Step 4: Using with FastMCP Client
When running in Service Mode, you can also use the FastMCP Python client to directly access the server:
One-Command Test
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 |
history_calculate | Price-volume analysis based on Tushare A-share historical data |
|
|
crawl_url | Scrape and parse web content |
|
|
extract_entities_code | Identify financial entities from text and complete stock codes (currently uses dashscope_search, replaceable) |
|
|
execute_code | Execute arbitrary Python code | - |
|
execute_shell | Execute shell commands | - |
|
dashscope_search | Web search based on DashScope |
|
|
tavily_search | Web search based on Tavily |
|
|
mock_search | Mock search for LLM simulation | - |
|
react_agent | ReAct agent combining multiple tools for answering complex questions | - |
|
TongHuaShun Tools
Note: These tools are implemented via crawl4ai. High concurrency may result in IP blocking.
Tool Name | Description | Dependencies | Input Parameters |
crawl_ths_company | Get company profile information by A-share stock code, including details, executive introductions, issuance-related info, subsidiaries, etc., and return query-relevant information |
|
|
crawl_ths_holder | Get shareholder research information by A-share stock code, including shareholder count, top 10 circulating shareholders, top 10 shareholders, bondholders, controlling hierarchy, etc. |
|
|
crawl_ths_operate | 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. |
|
|
crawl_ths_equity | Get equity structure information by A-share stock code, including unlock schedule, total equity composition, A-share structure chart, historical equity changes, etc. |
|
|
crawl_ths_capital | 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. |
|
|
crawl_ths_worth | Get earnings forecast information by A-share stock code, including performance forecasts, detailed forecast tables, research report ratings, etc. |
|
|
crawl_ths_news | Get news and announcements by A-share stock code, including news-price correlation, announcement lists, hot news, research report lists, etc. |
|
|
crawl_ths_concept | Get concept and theme information by A-share stock code, including regular concepts, other concepts, theme highlights, concept comparison, etc. |
|
|
crawl_ths_position | Get major position information by A-share stock code, including institutional holdings summary, holding details, takeover situations, IPO allocation institutions, etc. |
|
|
crawl_ths_finance | 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. |
|
|
crawl_ths_bonus | 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. |
|
|
crawl_ths_event | Get company events by A-share stock code, including executive shareholding changes, shareholder shareholding changes, guarantee details, violations, institutional research, investor interactions, etc. |
|
|
crawl_ths_field | Get industry comparison information by A-share stock code, including industry position, industry news, etc. |
|
|
External MCP Services
Note: External MCP services are called via SSE (Server-Sent Events). You need to configure the
BAILIAN_MCP_API_KEYenvironment variable in.env.
Service Name | Description | Dependencies | Input Parameters |
tongyi_search | WebSearch service based on DashScope |
|
|
bochaai_search | BochaAI search service based on DashScope |
|
|
Server Configuration Parameters
Parameter | Description | Example |
| Configuration files to load (comma-separated). Available: |
|
| Transport mode: |
|
| Host address (for sse/http transports only) |
|
| Port number (for sse/http transports only) |
|
| Default LLM model name (overrides config file) |
|
| JSON array of flow names to disable. Tip: Disable flows if you don't have the required API keys (e.g., |
|
For the full set of available options and defaults, refer to default.yaml.
Environment Variables
Variable | Required | Description |
| ✅ Yes | API key for OpenAI-compatible LLM service |
| ✅ Yes | Base URL for OpenAI-compatible LLM service |
| ⚠️ Optional | For DashScope search and entity extraction |
| ⚠️ Optional | For historical data analysis |
| ⚠️ Optional | For Tavily web search |
| ⚠️ Optional | For external MCP services |
HTTP RESTful API with Streaming Support
Finance MCP also supports HTTP RESTful API mode with streaming capabilities. This allows you to access flows directly via HTTP endpoints, not just through MCP protocol.
Step 1: Start HTTP Server
Start the Finance MCP server with HTTP backend:
Step 2: Make Streaming HTTP Requests
All flows configured with stream: true will be exposed as streaming HTTP endpoints. Responses are streamed in real-time using Server-Sent Events (SSE) format.
Example: Request streaming deep research (inspired by open_deep_research):
The response will be streamed in real-time, showing:
Thinking process and reasoning
Tool calls and intermediate results
Final comprehensive answer
Note: By default, this uses DashScope search, but you can replace it with other search backends (e.g., Tavily) by modifying the stream_agent.yaml configuration.
🤝 Contributing
We welcome contributions! To get started:
Install the package in development mode:
Install pre-commit hooks:
Submit a pull request with your changes.
⚖️ License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.