
ESG MCP Servers
This is a PostgreSQL and MongoDB backed toolkit for analyzing ESG reports using semantic search and LLM extraction. It exposes 31 tools across six servers: a metrics extractor that pulls ESRS aligned KPIs for emissions, energy, water, and social domains, a PDF processor with table extraction and embedding generation, a pgvector store for similarity search and query caching, a regulation server that downloads and ingests EU directives from EUR-Lex, and a web scraper for discovering company reports. You'll need an Anthropic API key for RAG queries and metric extraction. Reach for this if you're building compliance workflows or ESG data pipelines and want structured outputs from unstructured sustainability documents.
- tools
- 31
- auth
- Secret needed
- transport
- STDIO
- env vars
- 5
- last updated
- Feb 28, 2026
Tools
31 toolsPublic tool metadata for what this MCP can expose to an agent.
extract_emissions_dataGHG Scope 1, 2, 3 extraction
GHG Scope 1, 2, 3 extraction
No parameter schema in public metadata yet.
extract_energy_dataEnergy consumption & renewables (ESRS E2)
Energy consumption & renewables (ESRS E2)
No parameter schema in public metadata yet.
extract_water_dataWater withdrawal, discharge, consumption (ESRS E3)
Water withdrawal, discharge, consumption (ESRS E3)
No parameter schema in public metadata yet.
extract_waste_dataWaste generation, recycling, landfill (ESRS E5)
Waste generation, recycling, landfill (ESRS E5)
No parameter schema in public metadata yet.
extract_social_dataWorkforce, diversity, H&S (ESRS S1)
Workforce, diversity, H&S (ESRS S1)
No parameter schema in public metadata yet.
extract_governance_dataBoard composition & governance (ESRS G1)
Board composition & governance (ESRS G1)
No parameter schema in public metadata yet.
answer_esg_queryFree-text RAG Q&A over documents
Free-text RAG Q&A over documents
No parameter schema in public metadata yet.
keyword_similarity_searchSemantic keyword search in documents
Semantic keyword search in documents
No parameter schema in public metadata yet.
detect_query_domainClassify query into ESG domain
Classify query into ESG domain
No parameter schema in public metadata yet.
detect_emissions_query_typeDetect emissions scope/year from query
Detect emissions scope/year from query
No parameter schema in public metadata yet.
batch_extract_metricsExtract all KPIs and persist to DB
Extract all KPIs and persist to DB
No parameter schema in public metadata yet.
verify_esg_reportRandomForest ESG report classifier
RandomForest ESG report classifier
No parameter schema in public metadata yet.
extract_text_chunksExtract and chunk PDF text
Extract and chunk PDF text
No parameter schema in public metadata yet.
extract_tablesTable extraction with OCR fallback
Table extraction with OCR fallback
No parameter schema in public metadata yet.
generate_embeddingsBatch embedding generation
Batch embedding generation
No parameter schema in public metadata yet.
process_pdf_full_pipelineEnd-to-end: extract, embed, store
End-to-end: extract, embed, store
No parameter schema in public metadata yet.
upsert_document_chunksInsert/update chunks with embeddings
Insert/update chunks with embeddings
No parameter schema in public metadata yet.
similarity_searchCosine similarity search
Cosine similarity search
No parameter schema in public metadata yet.
get_cached_query_responseRetrieve cached LLM responses
Retrieve cached LLM responses
No parameter schema in public metadata yet.
cache_query_responseStore LLM response in cache
Store LLM response in cache
No parameter schema in public metadata yet.
list_documentsList indexed documents
List indexed documents
No parameter schema in public metadata yet.
download_regulationDownload regulation PDF from EUR-Lex
Download regulation PDF from EUR-Lex
No parameter schema in public metadata yet.
download_all_regulationsBatch download all configured regulations
Batch download all configured regulations
No parameter schema in public metadata yet.
ingest_regulationExtract, parse articles, embed, store
Extract, parse articles, embed, store
No parameter schema in public metadata yet.
search_regulation_textSemantic search across regulation articles
Semantic search across regulation articles
No parameter schema in public metadata yet.
list_regulationsList ingested regulations
List ingested regulations
No parameter schema in public metadata yet.
search_esg_reportsMulti-engine search for ESG PDFs
Multi-engine search for ESG PDFs
No parameter schema in public metadata yet.
crawl_company_websiteDeep-crawl website for PDF links
Deep-crawl website for PDF links
No parameter schema in public metadata yet.
download_pdfDownload PDF and store in GridFS
Download PDF and store in GridFS
No parameter schema in public metadata yet.
get_scraping_statusCheck scrape job status
Check scrape job status
No parameter schema in public metadata yet.
cancel_scraping_jobCancel running scrape job
Cancel running scrape job
No parameter schema in public metadata yet.
Sponsors
Configuration
ANTHROPIC_API_KEY*secretAnthropic API key — required for RAG queries and LLM-based metric extraction
POSTGRES_DSN*PostgreSQL connection string with pgvector extension (e.g. postgresql://esg:esg@localhost/esg_platform)
MONGODB_URI*MongoDB 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)
Readme
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-servers
Prerequisites
| 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 -d
Run the database migration:
esg-mcp-migrate
Environment Variables
Copy .env.example and fill in your values:
cp .env.example .env
Key variables:
Details
- Repository
- github.com/freminder/esg-mcp-servers
- Categories
- AI & LLM Tools, Documents & Knowledge, Search & Web Crawling, Data & Analytics
- Package
esg-mcp-servers- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active