esg-mcp-servers
ESG MCP Servers
Open-source Model Context Protocol servers for ESG (Environmental, Social, and Governance) data extraction, analysis, and regulation management.
31 tools across 6 servers — install once, run only what you need.
Author: Ioannis Michos (johnmichos.tf@gmail.com)
Quick Start
pip install esg-mcp-serversPrerequisites
Service | Required for |
PostgreSQL 16 + pgvector | Vector storage, metrics, regulations |
MongoDB 7 | PDF binary storage (GridFS) |
Anthropic API key | RAG queries, metric extraction |
Spin up local databases with Docker:
docker compose up -dRun the database migration:
esg-mcp-migrateEnvironment Variables
Copy .env.example and fill in your values:
cp .env.example .envKey variables:
Variable | Default | Description |
|
| PostgreSQL connection string |
|
| MongoDB connection string |
| — | Required for RAG and LLM extraction |
|
| Sentence-transformer model |
|
| Embedding vector size |
Servers & Tools
esg-metrics-extractor (11 tools)
ESRS-aligned KPI extraction for emissions, energy, water, waste, social, and governance domains.
Tool | Description |
| GHG Scope 1, 2, 3 extraction |
| Energy consumption & renewables (ESRS E2) |
| Water withdrawal, discharge, consumption (ESRS E3) |
| Waste generation, recycling, landfill (ESRS E5) |
| Workforce, diversity, H&S (ESRS S1) |
| Board composition & governance (ESRS G1) |
| Free-text RAG Q&A over documents |
| Semantic keyword search in documents |
| Classify query into ESG domain |
| Detect emissions scope/year from query |
| Extract all KPIs and persist to DB |
esg-pdf-processor (5 tools)
PDF validation, text/table extraction, and embedding generation.
Tool | Description |
| RandomForest ESG report classifier |
| Extract and chunk PDF text |
| Table extraction with OCR fallback |
| Batch embedding generation |
| End-to-end: extract, embed, store |
esg-vector-store (5 tools)
pgvector CRUD operations for document chunks and query cache.
Tool | Description |
| Insert/update chunks with embeddings |
| Cosine similarity search |
| Retrieve cached LLM responses |
| Store LLM response in cache |
| List indexed documents |
esg-regulations (5 tools)
EU ESG regulation download, ingestion, and semantic search.
Tool | Description |
| Download regulation PDF from EUR-Lex |
| Batch download all configured regulations |
| Extract, parse articles, embed, store |
| Semantic search across regulation articles |
| List ingested regulations |
esg-scraper (5 tools)
ESG report discovery and download from the web.
Tool | Description |
| Multi-engine search for ESG PDFs |
| Deep-crawl website for PDF links |
| Download PDF and store in GridFS |
| Check scrape job status |
| Cancel running scrape job |
esg-mcp-all (31 tools)
All tools from all servers in a single process.
Claude Desktop Configuration
Add to your 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"
}
}
}Or use the combined server for all tools:
{
"mcpServers": {
"esg": {
"command": "esg-mcp-all"
}
}
}Optional: Scraper Dependencies
The scraper server requires Selenium for JavaScript-heavy sites:
pip install esg-mcp-servers[scraper]Development
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-migrateLicense
MIT — see LICENSE.