关于 ESG MCP Servers
ESG MCP Servers 是一套开源工具,用于提取 ESG 指标、处理报告和检索欧盟法规。它面向 ESG 分析人员与开发者,提供六个可独立运行的服务,也可合并运行。
主要功能
- 01提取符合 ESRS 的 ESG 指标
- 02处理 PDF 文本和表格
- 03生成嵌入并搜索向量
- 04下载和检索欧盟法规
- 05发现并下载 ESG 报告
适用场景
- 01从报告中提取排放和员工指标
- 02构建可搜索的 ESG PDF 集合
- 03查找欧盟法规中的相关段落
MCP 相关
通过六个 MCP 服务提供 31 个工具,涵盖 ESG 提取、PDF 处理、向量存储、法规检索和网页抓取。客户端可运行单个服务或组合服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx esg-mcp-serversANTHROPIC_API_KEY密钥Anthropic API key — required for RAG queries and LLM-based metric extractionPOSTGRES_DSNPostgreSQL connection string with pgvector extension (e.g. postgresql://esg:esg@localhost/esg_platform)MONGODB_URIMongoDB connection string for PDF binary storage via GridFS (e.g. mongodb://localhost:27017)EMBEDDING_MODELSentence-transformer model name for embedding generation (default: Snowflake/snowflake-arctic-embed-l-v2.0)EMBEDDING_DIMENSIONSEmbedding vector dimension size (default: 1024)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ESG MCP 服务
用于提取和分析 ESG(环境、社会和治理)数据以及管理法规的开源 Model Context Protocol 服务。
31 个工具,分布在 6 个服务中 — 安装一次,仅运行所需的服务。
**作者:**Ioannis Michos ([email protected])
快速开始
pip install esg-mcp-servers
前置条件
| 服务 | 用途 |
|---|---|
| PostgreSQL 16 + pgvector | 向量存储、指标、法规 |
| MongoDB 7 | PDF 二进制存储(GridFS) |
| Anthropic API key | RAG 查询、指标提取 |
使用 Docker 启动本地数据库:
docker compose up -d
运行数据库迁移:
esg-mcp-migrate
环境变量
复制 .env.example 并填写相应值:
cp .env.example .env
关键变量:
| 变量 | 默认值 | 描述 |
|---|---|---|
POSTGRES_DSN | postgresql://esg:esg@localhost/esg_platform | PostgreSQL 连接字符串 |
MONGODB_URI | mongodb://localhost:27017 | MongoDB 连接字符串 |
ANTHROPIC_API_KEY | — | RAG 和大模型提取所必需 |
EMBEDDING_MODEL | Snowflake/snowflake-arctic-embed-l-v2.0 | Sentence-transformer 模型 |
EMBEDDING_DIMENSIONS | 1024 | 嵌入向量大小 |
服务和工具
esg-metrics-extractor(11 个工具)
面向排放、能源、水、废弃物、社会和治理领域,符合 ESRS 的 KPI 提取。
| 工具 | 描述 |
|---|---|
extract_emissions_data | GHG Scope 1、2、3 提取 |
extract_energy_data | 能源消耗和可再生能源(ESRS E2) |
extract_water_data | 取水量、排水量、耗水量(ESRS E3) |
extract_waste_data | 废弃物产生量、回收量、填埋量(ESRS E5) |
extract_social_data | 员工队伍、多元化、健康与安全(ESRS S1) |
extract_governance_data | 董事会构成和治理(ESRS G1) |
answer_esg_query | 基于文档的自由文本 RAG 问答 |
keyword_similarity_search | 在文档中进行语义关键词搜索 |
detect_query_domain | 将查询分类到 ESG 领域 |
detect_emissions_query_type | 从查询中检测排放范围/年份 |
batch_extract_metrics | 提取所有 KPI 并持久化到数据库 |
esg-pdf-processor(5 个工具)
PDF 验证、文本/表格提取和嵌入生成。
| 工具 | 描述 |
|---|---|
verify_esg_report | RandomForest ESG 报告分类器 |
extract_text_chunks | 提取并分块 PDF 文本 |
extract_tables | 表格提取,支持 OCR 回退 |
generate_embeddings | 批量生成嵌入 |
process_pdf_full_pipeline | 端到端处理:提取、嵌入、存储 |
esg-vector-store(5 个工具)
使用 pgvector 对文档块和查询缓存执行 CRUD 操作。
| 工具 | 描述 |
|---|---|
upsert_document_chunks | 插入/更新带嵌入的文本块 |
similarity_search | 余弦相似度搜索 |
get_cached_query_response | 检索缓存的大模型响应 |
cache_query_response | 将大模型响应存入缓存 |
list_documents | 列出已建立索引的文档 |
esg-regulations(5 个工具)
欧盟 ESG 法规的下载、导入和语义搜索。
| 工具 | 描述 |
|---|---|
download_regulation | 从 EUR-Lex 下载法规 PDF |
download_all_regulations | 批量下载所有已配置的法规 |
ingest_regulation | 提取、解析条款、嵌入并存储 |
search_regulation_text | 跨法规条款进行语义搜索 |
list_regulations | 列出已导入的法规 |
esg-scraper(5 个工具)
从网上发现并下载 ESG 报告。
| 工具 | 描述 |
|---|---|
search_esg_reports | 使用多个搜索引擎查找 ESG PDF |
crawl_company_website | 深度爬取网站以查找 PDF 链接 |
download_pdf | 下载 PDF 并存储到 GridFS |
get_scraping_status | 检查抓取任务状态 |
cancel_scraping_job | 取消正在运行的抓取任务 |
esg-mcp-all(31 个工具)
单个进程中包含所有服务的全部工具。
Claude Desktop 配置
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"esg-metrics": {
"command": "esg-metrics-extractor"
},
"esg-pdf": {
"command": "esg-pdf-processor"
},
"esg-vectors": {
"command": "esg-vector-store"
},
"esg-regulations": {
"command": "esg-regulations"
},
"esg-scraper": {
"command": "esg-scraper"
}
}
}
或者使用包含所有工具的组合服务:
{
"mcpServers": {
"esg": {
"command": "esg-mcp-all"
}
}
}
可选:爬虫依赖项
爬虫服务需要 Selenium 才能处理 JavaScript 密集型网站:
pip install esg-mcp-servers[scraper]
开发
git clone https://github.com/freminder/esg-mcp-servers.git
cd esg-mcp-servers
pip install -e ".[scraper,dev]"
docker compose up -d
esg-mcp-migrate
许可证
MIT — 请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。