Metadata-Version: 2.4
Name: pandastock-mcp
Version: 1.0.2
Summary: PandaStock MCP Server - A股/港股行情数据 MCP 服务
Author-email: PandaStock <pandastock@example.com>
License: MIT
Project-URL: Homepage, https://github.com/example/pandastock-mcp
Project-URL: Documentation, https://github.com/example/pandastock-mcp
Project-URL: Repository, https://github.com/example/pandastock-mcp
Keywords: mcp,stock,finance,a-share,hong-kong,pandastock
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: mcp>=1.0.0
Requires-Dist: nats-py==2.14.0
Requires-Dist: uvicorn>=0.31.1
Requires-Dist: starlette>=0.27
Requires-Dist: sse-starlette>=1.6.1
Requires-Dist: httpx>=0.27.1
Requires-Dist: httpcore>=1.0.0
Requires-Dist: pydantic>=2.11.0
Requires-Dist: jsonschema>=4.20.0
Requires-Dist: pydantic-settings>=2.5.2
Requires-Dist: anyio>=4.5
Requires-Dist: typing-extensions>=4.9.0
Requires-Dist: python-dotenv>=0.21.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"

# PandaStock MCP Server

A股/港股行情数据 MCP (Model Context Protocol) 服务，通过 NATS 协议获取实时行情、历史K线、财务数据等。

## 安装

```bash
pip install pandastock-mcp
```

## 快速开始

### 方式1：Claude Desktop 配置（本地 stdio 模式，推荐）

在 `claude_desktop_config.json` 中添加：

```json
{
  "mcpServers": {
    "panda-stock": {
      "command": "pandastock-mcp",
      "env": {
        "PANDA_PHONE": "your_phone_here",
        "PANDA_NID": "your_nid_here"
      }
    }
  }
}
```

> 配置后调用接口无需再传 phone/nid，直接使用环境变量中的值。

### 方式1b：Claude Desktop / Cursor 配置（远程 Streamable HTTP 模式）

如果服务部署在远程服务器上：

```json
{
  "mcpServers": {
    "panda-stock": {
      "url": "http://your-server:8091/mcp",
      "transport": "streamable-http"
    }
  }
}
```

> 远程模式下，phone/nid 在服务端的环境变量中配置。

### 方式2：本地运行

```bash
# 设置环境变量
export PANDA_PHONE=your_phone
export PANDA_NID=your_nid
export MCP_PORT=8091

# 启动服务
pandastock-mcp
```

### 方式3：Python 直接运行

```bash
python -m pandastock_mcp.mcp_server
```

## 环境变量

| 变量 | 说明 | 默认值 |
|------|------|--------|
| `PANDA_PHONE` | PandaStock 账号手机号 | 必填 |
| `PANDA_NID` | PandaStock NID | 必填 |
| `MCP_HOST` | 服务监听地址 | 0.0.0.0 |
| `MCP_PORT` | 服务端口 | 8091 |

## 可用工具

52 个工具接口，覆盖：

- **A股列表**：个股、概念板块、行业板块列表
- **实时行情**：个股、指数、板块、L2、DDX 实时行情
- **历史K线**：前复权/后复权/等比复权 日/周/月线
- **分钟数据**：实时分钟、历史分钟
- **分笔数据**：实时分笔、历史分笔
- **财务数据**：利润表、现金流、资产负债表、财务指标
- **资金流**：个股资金流、市场资金流
- **新闻公告**：核心新闻、国际新闻、个股新闻、公告、研报
- **港股**：港股列表、日线、周线、月线、财务数据
- **其他**：龙虎榜、融资融券、涨跌停、量化选股

## 使用示例

```json
{
  "name": "get_ch_one_stock_real",
  "arguments": {
    "code": "600519",
    "phone": "13800138000",
    "nid": "your_nid"
  }
}
```

## 部署到阿里云

```bash
# 构建 Docker 镜像
docker build -t pandastock-mcp .

# 运行
docker run -d \
  -e PANDA_PHONE=your_phone \
  -e PANDA_NID=your_nid \
  -p 8091:8091 \
  pandastock-mcp
```

## License

MIT
