Skip to main content
Glama
handaas

research-report-mcp-server

by handaas
README.md
# 研报:行业研报检索

[该MCP服务提供行业研报、公司研究、宏观策略和主题报告的检索与详情查询功能。](https://www.handaas.com/)


## 主要功能

- 🔍 研报标题关键词搜索
- 🏢 发布机构筛选
- 🏭 研究行业筛选
- 📑 报告类型筛选
- 📅 发布时间区间筛选
- 🔗 研报详情和来源链接查询

## 环境要求

- Python 3.10+
- 依赖包:python-dotenv, requests, mcp

## 本地快速启动

### 1. 克隆项目
```bash
git clone https://github.com/handaas/research-report-mcp-server
cd research-report-mcp-server
```

### 2. 创建虚拟环境&安装依赖

```bash
python -m venv mcp_env && source mcp_env/bin/activate
pip install -r requirements.txt
```

### 3. 环境配置

复制环境变量模板并配置:

```bash
cp .env.example .env
```

编辑 `.env` 文件,配置以下环境变量:

```env
INTEGRATOR_ID=your_integrator_id
SECRET_ID=your_secret_id
SECRET_KEY=your_secret_key
HANDAAS_REQUEST_TIMEOUT=30
```

### 4. streamable-http启动服务

```bash
python server/mcp_server.py streamable-http
```

服务将在 `http://localhost:8000` 启动,MCP 地址为 `http://127.0.0.1:8000/mcp`。

#### 支持启动方式 stdio 或 sse 或 streamable-http

### 5. Cursor / Cherry Studio MCP配置

```json
{
  "mcpServers": {
    "research-report-mcp-server": {
      "type": "streamableHttp",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}
```

## STDIO版安装部署

### 设置Cursor / Cherry Studio MCP配置

```json
{
  "mcpServers": {
    "research-report-mcp-server": {
      "command": "uv",
      "args": ["run", "mcp", "run", "{workdir}/server/mcp_server.py"],
      "env": {
        "PATH": "{workdir}/mcp_env/bin:$PATH",
        "PYTHONPATH": "{workdir}/mcp_env",
        "INTEGRATOR_ID": "your_integrator_id",
        "SECRET_ID": "your_secret_id",
        "SECRET_KEY": "your_secret_key"
      }
    }
  }
}
```

## 使用官方Remote服务

当前服务暂未开放官方 Remote 地址。请使用本地 `stdio`、`sse` 或 `streamable-http` 方式运行;官方 Remote 地址开放后将在本节补充配置。

### 注意:integrator_id、secret_id、secret_key及Remote token需要登录 https://www.handaas.com/ 进行注册开通平台获取


## 可用工具

### 1. research_report_search
**功能**: 行业研报搜索

**参数**:
- `rpKeyword` (可选): 研报标题关键词,支持模糊搜索
- `rpOrgName` (可选): 发布机构全称或简称
- `rpCalIndustryList` (可选): 研究行业
- `rpType` (可选): 报告类型
- `rpPublishDateStart` / `rpPublishDateEnd` (可选): 发布日期区间,格式YYYY-MM-DD
- `pageIndex` (可选): 页码,从1开始
- `pageSize` (可选): 每页条数,默认10,最大10

**返回值**:
- `total`: 符合条件的研报总数
- `resultList`: 研报结果列表
  - `reportId`: 研报ID,供详情查询使用
  - `rpName`: 研报名称
  - `rpCover`: 封面图URL
  - `rpOrgName`: 机构全称
  - `rpOrgShortName`: 机构简称
  - `nameId`: 机构主体ID
  - `rpPublishDate`: 发布日期
  - `rpCalIndustryList`: 行业分类
  - `rpType`: 研报类型

### 2. research_report_detail
**功能**: 行业研报详情查询

**参数**:
- `reportId` (必需): 必须使用研报搜索返回的 `reportId`

**返回值**:
- `total`: 命中数量,通常为1
- `resultList`: 研报详情列表
  - `rpName`: 研报名称
  - `rpOrgName`: 机构全称
  - `rpOrgShortName`: 机构简称
  - `nameId`: 机构主体ID
  - `rpPublishDate`: 发布日期
  - `rpCalIndustryList`: 行业分类
  - `rpType`: 研报类型
  - `rpUrl`: 研报来源链接
  - `rpPdf`: PDF地址元数据

## 使用注意事项

1. **研报ID要求**: 详情查询必须使用研报搜索结果中的 `reportId`。
2. **日期校验**: 发布起始日期不能晚于截止日期。
3. **API限制**: 分页查询一页最多获取10条数据。
4. **文件边界**: Tool只返回来源链接元数据,不打开、购买、下载或解析研报文件。
5. **内容立场**: 研报观点属于原发布机构,不代表MCP服务立场。

## 使用提问示例

### research_report_search (行业研报搜索)
1. 搜索2026年发布的人工智能行业研报
2. 查询某研究机构发布的新能源研报
3. 查找最近一年发布的宏观策略报告

### research_report_detail (行业研报详情查询)
1. 查看刚才研报的发布机构和发布日期
2. 获取该研报的行业分类和来源链接
3. 查询这份研报的完整元数据信息

## 测试验证

```bash
python -m py_compile server/mcp_server.py
python -m unittest discover -s tests -v
```

当前服务包含 7 个离线单元测试。真实接口验证需在本地 `.env` 配置有效凭据后执行,测试输出不得提交真实业务响应或凭据。

Maintenance

ActivityMaintained
ResponsivenessNo issues