Skip to main content

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:

Variable Default Description
POSTGRES_DSN postgresql://esg:esg@localhost/esg_platform PostgreSQL connection string
MONGODB_URI mongodb://localhost:27017 MongoDB connection string
ANTHROPIC_API_KEY — Required for RAG and LLM extraction
EMBEDDING_MODEL Snowflake/snowflake-arctic-embed-l-v2.0 Sentence-transformer model
EMBEDDING_DIMENSIONS 1024 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
extract_emissions_data GHG Scope 1, 2, 3 extraction
extract_energy_data Energy consumption & renewables (ESRS E2)
extract_water_data Water withdrawal, discharge, consumption (ESRS E3)
extract_waste_data Waste generation, recycling, landfill (ESRS E5)
extract_social_data Workforce, diversity, H&S (ESRS S1)
extract_governance_data Board composition & governance (ESRS G1)
answer_esg_query Free-text RAG Q&A over documents
keyword_similarity_search Semantic keyword search in documents
detect_query_domain Classify query into ESG domain
detect_emissions_query_type Detect emissions scope/year from query
batch_extract_metrics Extract all KPIs and persist to DB

esg-pdf-processor (5 tools)

PDF validation, text/table extraction, and embedding generation.

Tool Description
verify_esg_report RandomForest ESG report classifier
extract_text_chunks Extract and chunk PDF text
extract_tables Table extraction with OCR fallback
generate_embeddings Batch embedding generation
process_pdf_full_pipeline End-to-end: extract, embed, store

esg-vector-store (5 tools)

pgvector CRUD operations for document chunks and query cache.

Tool Description
upsert_document_chunks Insert/update chunks with embeddings
similarity_search Cosine similarity search
get_cached_query_response Retrieve cached LLM responses
cache_query_response Store LLM response in cache
list_documents List indexed documents

esg-regulations (5 tools)

EU ESG regulation download, ingestion, and semantic search.

Tool Description
download_regulation Download regulation PDF from EUR-Lex
download_all_regulations Batch download all configured regulations
ingest_regulation Extract, parse articles, embed, store
search_regulation_text Semantic search across regulation articles
list_regulations List ingested regulations

esg-scraper (5 tools)

ESG report discovery and download from the web.

Tool Description
search_esg_reports Multi-engine search for ESG PDFs
crawl_company_website Deep-crawl website for PDF links
download_pdf Download PDF and store in GridFS
get_scraping_status Check scrape job status
cancel_scraping_job 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-migrate

License

MIT — see LICENSE.

Metadata

Release files for esg-mcp-servers 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for esg-mcp-servers 0.1.2
File Size Uploaded
esg_mcp_servers-0.1.2.tar.gz 67.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for esg-mcp-servers 0.1.2
File Interpreter ABI Platform
esg_mcp_servers-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 157.2 kB

Release files / esg_mcp_servers-0.1.2.tar.gz

Download URL esg_mcp_servers-0.1.2.tar.gz
Size 67.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d7c632ac114ea8231713cf325530dc764716453392c38eb05bde028119603182
BLAKE2b-256 checksum
How to use checksums
2886d4ba2d27add62528fad6ee8f26789d9cb4fa11a88322c3dc7f0be519a6db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / esg_mcp_servers-0.1.2-py3-none-any.whl

Download URL esg_mcp_servers-0.1.2-py3-none-any.whl
Size 89.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60e777b9d3fc6f3c7585ecf24f1bb1e78e737d935422c932ac049538c8e9caf3
BLAKE2b-256 checksum
How to use checksums
9380756e47c4687d7a1696a644c05228ac7e25e9bd999bc19a4af0dc7495c1d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page