Stock Info Service
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: 系统内部错误
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tddt/stock_info_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server