Skip to content
Conduit

mcp server

esg-mcp-servers

Open-source MCP servers for ESG data: 31 tools for metric extraction (ESRS E1-G1), PDF processing, vector search, EU regulation analysis, and web scraping

freminder/esg-mcp-serverscommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "esg-mcp-servers": {
      "command": "uvx",
      "args": [
        "esg-mcp-servers"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "<your ANTHROPIC_API_KEY>",
        "POSTGRES_DSN": "<your POSTGRES_DSN>",
        "MONGODB_URI": "<your MONGODB_URI>"
      }
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 14, 2026

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_KEY—Required 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.

↑↓ navigate openesc close