MCP Hub
Back to servers

esg-mcp-servers

ESG metric extraction, PDF processing, vector search, and regulation analysis

Updated
Feb 22, 2026

Quick Install

uvx 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-servers

Prerequisites

ServiceRequired for
PostgreSQL 16 + pgvectorVector storage, metrics, regulations
MongoDB 7PDF binary storage (GridFS)
Anthropic API keyRAG 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:

VariableDefaultDescription
POSTGRES_DSNpostgresql://esg:esg@localhost/esg_platformPostgreSQL connection string
MONGODB_URImongodb://localhost:27017MongoDB connection string
ANTHROPIC_API_KEYRequired for RAG and LLM extraction
EMBEDDING_MODELSnowflake/snowflake-arctic-embed-l-v2.0Sentence-transformer model
EMBEDDING_DIMENSIONS1024Embedding vector size

Servers & Tools

esg-metrics-extractor (11 tools)

ESRS-aligned KPI extraction for emissions, energy, water, waste, social, and governance domains.

ToolDescription
extract_emissions_dataGHG Scope 1, 2, 3 extraction
extract_energy_dataEnergy consumption & renewables (ESRS E2)
extract_water_dataWater withdrawal, discharge, consumption (ESRS E3)
extract_waste_dataWaste generation, recycling, landfill (ESRS E5)
extract_social_dataWorkforce, diversity, H&S (ESRS S1)
extract_governance_dataBoard composition & governance (ESRS G1)
answer_esg_queryFree-text RAG Q&A over documents
keyword_similarity_searchSemantic keyword search in documents
detect_query_domainClassify query into ESG domain
detect_emissions_query_typeDetect emissions scope/year from query
batch_extract_metricsExtract all KPIs and persist to DB

esg-pdf-processor (5 tools)

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

ToolDescription
verify_esg_reportRandomForest ESG report classifier
extract_text_chunksExtract and chunk PDF text
extract_tablesTable extraction with OCR fallback
generate_embeddingsBatch embedding generation
process_pdf_full_pipelineEnd-to-end: extract, embed, store

esg-vector-store (5 tools)

pgvector CRUD operations for document chunks and query cache.

ToolDescription
upsert_document_chunksInsert/update chunks with embeddings
similarity_searchCosine similarity search
get_cached_query_responseRetrieve cached LLM responses
cache_query_responseStore LLM response in cache
list_documentsList indexed documents

esg-regulations (5 tools)

EU ESG regulation download, ingestion, and semantic search.

ToolDescription
download_regulationDownload regulation PDF from EUR-Lex
download_all_regulationsBatch download all configured regulations
ingest_regulationExtract, parse articles, embed, store
search_regulation_textSemantic search across regulation articles
list_regulationsList ingested regulations

esg-scraper (5 tools)

ESG report discovery and download from the web.

ToolDescription
search_esg_reportsMulti-engine search for ESG PDFs
crawl_company_websiteDeep-crawl website for PDF links
download_pdfDownload PDF and store in GridFS
get_scraping_statusCheck scrape job status
cancel_scraping_jobCancel 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.

Reviews

No reviews yet

Sign in to write a review