AKShare MCP Server
A Model Context Protocol (MCP) server that provides financial data analysis capabilities using the AKShare library.
Features
- Access to Chinese and global financial market data through AKShare
- Integration with Claude Desktop via MCP protocol
- Support for various financial data queries and analysis
Installation
Using uv (recommended)
# Clone the repository
git clone https://github.com/yourusername/akshare_mcp_server.git
cd akshare_mcp_server
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate
# Install dependencies with uv
uv pip install -e .
Using pip
# Clone the repository
git clone https://github.com/yourusername/akshare_mcp_server.git
cd akshare_mcp_server
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate
# Install dependencies
pip install -e .
Usage
Running the server
# Activate the virtual environment
source venv/bin/activate # On Windows: venvScriptsactivate
# Run the server
python run_server.py
Integrating with Claude Desktop
- Add the following configuration to your Claude Desktop configuration:
"mcpServers": {
"akshare-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/akshare_mcp_server",
"run",
"akshare-mcp"
],
"env": {
"AKSHARE_API_KEY": "<your_api_key_if_needed>"
}
}
}
- Restart Claude Desktop
- Select the AKShare MCP server from the available tools
Available Tools
The AKShare MCP server provides the following tools:
- Stock data queries
- Fund data queries
- Bond data queries
- Futures data queries
- Forex data queries
- Macroeconomic data queries
- And more…
Adding a New Tool
To add a new tool to the MCP server, follow these steps:
Add a new API function in
src/mcp_server_akshare/api.py:async def fetch_new_data_function(param1: str, param2: str = "default") -> List[Dict[str, Any]]: """ Fetch new data type. Args: param1: Description of param1 param2: Description of param2 """ try: df = ak.akshare_function_name(param1=param1, param2=param2) return dataframe_to_dict(df) except Exception as e: logger.error(f"Error fetching new data: {e}") raiseAdd the new tool to the enum in
src/mcp_server_akshare/server.py:class AKShareTools(str, Enum): # Existing tools... NEW_TOOL_NAME = "new_tool_name"Import the new function in
src/mcp_server_akshare/server.py:from .api import ( # Existing imports... fetch_new_data_function, )Add the tool definition to the
handle_list_tools()function:types.Tool( name=AKShareTools.NEW_TOOL_NAME.value, description="Description of the new tool", inputSchema={ "type": "object", "properties": { "param1": {"type": "string", "description": "Description of param1"}, "param2": {"type": "string", "description": "Description of param2"}, }, "required": ["param1"], # List required parameters }, ),Add the tool handler in the
handle_call_tool()function:case AKShareTools.NEW_TOOL_NAME.value: param1 = arguments.get("param1") if not param1: raise ValueError("Missing required argument: param1") param2 = arguments.get("param2", "default") result = await fetch_new_data_function( param1=param1, param2=param2, )Test the new tool by running the server and making a request to the new tool.
Development
# Install development dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
Docker
You can also run the server using Docker:
# Build the Docker image
docker build -t akshare-mcp-server .
# Run the Docker container
docker run -p 8000:8000 akshare-mcp-server
License
MIT
AKShare MCP Server
Project Details
- ttjslbz001/akshare_mcp_server
- Last Updated: 4/21/2025
Categories
Recomended MCP Servers
Stream Brave Search (web & local) results via a Model Context Protocol (MCP) / Server-Sent Events (SSE) interface....
Python and TypeScript library for integrating the Stripe API into agentic workflows
A Model Context Protocol (MCP) server for NASA APIs, providing a standardized interface for AI models to interact...
A simple MCP server that exposes datetime information to agentic systems and chat REPLs
council of models for decision
MCP to explore websites with llms.txt files
⚡️ Open-source AI-powered CLI for web & mobile localization. Bring your own LLM or use Lingo.dev-managed localization engine....
Allow MCP clients like claude-desktop to use rooms to coordinate with other agents
⚡ C̷h̷u̷c̷k̷N̷o̷r̷r̷i̷s̷ MCP server: Helping LLMs break limits. Provides enhancement prompts inspired by elder-plinius' L1B3RT4S
A MCP Server that provides browser access through playwright with "stealth mode" enabled.
Put an end to code hallucinations! GitMCP is a free, open-source, remote MCP server for any GitHub project
MCP server for shadcn/ui component references





