Stock Info Service
A FastMCP-based service that provides stock data including historical prices, fundamental information, and financial news.
README
Stock Info Service
这是一个基于 FastMCP 的股票数据服务,提供了股票历史数据、基本面信息、新闻资讯等功能。
项目结构
stock-info/
├── src/
│ ├── config/ # 配置管理
│ │ └── settings.py
│ ├── core/ # 核心功能
│ │ └── exceptions.py
│ ├── models/ # 数据模型
│ │ └── stock.py
│ ├── repository/ # 数据访问层
│ │ └── stock_repository.py
│ ├── service/ # 业务逻辑层
│ │ └── stock_service.py
│ └── server.py # 服务入口
├── pyproject.toml # 项目配置
└── README.md # 项目文档
功能特性
- 获取股票历史数据
- 查询股票基本信息
- 获取风险警示股票列表
- 查看个股新闻
- 获取财经新闻(支持分页)
- 获取股票主营业务信息
- .....后续逐渐增加
MCP客户端配置步骤
-
- 拉取代码
-
- 使用uv建立虚拟环境 python 1.10+
-
- 使用本地目录方式配置MCP服务
{
"mcpServers": {
"stock-info": {
"isActive": true,
"command": "uv",
"args": [
"--directory",
"\\path\\to\\sock_info\\src",
"run",
"server.py"
]
}
}
环境要求
- Python >= 3.10
- 依赖包:
- fastmcp
- akshare
- pandas
- pydantic
- pydantic-settings
安装部署
- 创建虚拟环境:
python -m venv .venv
- 激活虚拟环境:
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
- 安装依赖:
pip install -e .
启动服务
# 使用默认配置启动
python src/server.py
# 使用 HTTP 传输协议启动
python src/server.py --transport http --port 8080
# 设置日志级别
python src/server.py --log-level debug
工具说明
get_stock_info: 获取指定股票代码、指定日期范围的股价信息get_stock_price_monthly: 获取指定股票最近30天的股价信息stock_individual_basic_info: 获取指定股票的基本信息risk_stocks: 获取风险警示板股票列表stock_merito_data: 获取指定股票的主营业务信息get_stock_news: 获取指定股票的新闻资讯get_finance_news: 获取财经精选新闻(支持分页)
项目特点
- 模块化设计:采用清晰的分层架构,便于维护和扩展
- 统一异常处理:使用自定义异常体系,提供友好的错误提示
- 配置集中管理:使用 pydantic-settings 进行配置管理
- 类型提示:全面使用 Python 类型注解,提高代码可读性
- 数据验证:使用 Pydantic 模型进行数据验证和序列化
开发规范
- 使用 ruff 进行代码格式化和 lint
- 遵循 PEP 8 编码规范
- 保持完整的类型注解
- 编写清晰的文档字符串
错误处理
服务统一返回以下格式的错误信息:
{
"error": "错误代码",
"message": "错误描述",
"details": {
"额外信息": "值"
}
}
主要错误代码
STOCK_NOT_FOUND: 股票代码不存在INVALID_DATE_FORMAT: 日期格式错误DATA_FETCH_ERROR: 数据获取失败INVALID_PAGINATION: 分页参数错误SYSTEM_ERROR: 系统内部错误
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.