中化采购平台公告抓取 MCP 服务
一个基于 FastMCP 的 MCP 服务,用于抓取中化采购供应链平台(scm.esinochem.com)的公告信息,按关键字筛选近 7 天数据,生成 Excel 并上传至阿里云 OSS,返回下载链接。
功能
- 抓取三个类别:招标公告、资格预审公告、采购公告
- 按标题搜索关键字:外包、派遣、招聘、猎头、培训
- 自动去重,保留命中关键字列表
- 过滤近 7 天发布且需求类型为"服务"的公告
- 生成格式化的多 Sheet Excel 文件
- 上传至阿里云 OSS,返回 7 天有效的签名下载链接
- 作为 MCP 工具
fetch_notices供智能体调用
安装
本项目通过 PyPI 发布,可直接使用 uvx 运行:
uvx scm-crawler-mcp-server
或在百炼 MCP 配置中引用:
{
"command": "uvx",
"args": ["scm-crawler-mcp-server"]
}
环境变量
运行前需配置以下 OSS 环境变量(百炼部署时通过 MCP 配置的 env 注入):
| 变量名 | 说明 | 示例 |
|---|---|---|
OSS_ENDPOINT |
OSS 端点(不带协议前缀) | oss-cn-shanghai.aliyuncs.com |
OSS_ACCESS_KEY_ID |
阿里云 AccessKey ID | LTAI5t... |
OSS_ACCESS_KEY_SECRET |
阿里云 AccessKey Secret | dwNTj... |
OSS_BUCKET_NAME |
Bucket 名称 | gi-gicnisys-dev |
OSS_PREFIX |
上传目录前缀(可选) | scm-reports/ |
使用
在支持 MCP 的客户端(如 Cline、百炼智能体)中调用工具 fetch_notices,无参数,返回 JSON:
{
"status": "success",
"file_name": "中化采购平台_公告关键字搜索结果_近7天_2026-09-14.xlsx",
"oss_url": "https://...",
"date": "2026-09-14",
"categories": {
"招标公告": {"count": 3, "keyword_hits": {"外包": 2, "培训": 1}},
"采购公告": {"count": 5, "keyword_hits": {"招聘": 4, "培训": 1}}
}
}
本地开发
# 创建虚拟环境
uv venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 安装依赖
uv add fastmcp openpyxl oss2
# 运行服务
uv run python -m scm_crawler_mcp_server.server
依赖
- Python >= 3.10
- fastmcp >= 0.2.0
- openpyxl >= 3.1.0
- oss2 >= 2.18.0
许可证
MIT
Release files for scm-crawler-mcp-server 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scm_crawler_mcp_server-1.0.0.tar.gz | 147.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scm_crawler_mcp_server-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 156.5 kB
Release files / scm_crawler_mcp_server-1.0.0.tar.gz
| Download URL | scm_crawler_mcp_server-1.0.0.tar.gz |
|---|---|
| Size | 147.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2c548c700d0f8023ee5a0e987bbdde7d1350dbc1dd04ff83488269fb675e5251
|
|
BLAKE2b-256 checksum How to use checksums |
de67b5e7f6a9955ea08220c10057d85bbdfc89e03c9433e328618e932e3414f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / scm_crawler_mcp_server-1.0.0-py3-none-any.whl
| Download URL | scm_crawler_mcp_server-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5654f8a4e7874ed3d25e49845772a02e956923f76dff010293cdc67ef7daaf3b
|
|
BLAKE2b-256 checksum How to use checksums |
ba2512d70aebcc3fef264443bc461543424f10d7d9150df0c99cdd30c3d5db84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|