ESG MCP Servers

io.github.freminderPublished by GitHub account freminderv0.1.2Updated Oct 24, 2026

31 MCP tools for ESG data extraction, PDF processing, vector search, and EU regulation analysis.

Overview

AI-generated overview

A local Python MCP server suite for ESG work: extracting sustainability metrics from PDFs, storing embeddings, and searching EU regulations.

What you can do
Extract ESRS-aligned KPIs (emissions, energy, water, waste, social, governance) from reports and persist them to a database, plus free-text RAG Q&A and semantic keyword search over documents. Validate, chunk and table-extract PDFs, then generate embeddings and run a full extract-embed-store pipeline. Upsert and similarity-search document chunks in pgvector, cache and retrieve LLM query responses, and list indexed documents. Download EU regulations from EUR-Lex, ingest and parse their articles, and semantically search regulation text. Discover and download ESG report PDFs by web search or site crawl, check job status, and cancel running scrape jobs.
When to use it
Useful for sustainability, ESG reporting or compliance work where an assistant must pull KPIs from corporate reports, keep a searchable vector store of documents, or look up EU regulation text. It suits users who can run PostgreSQL with pgvector and MongoDB locally or reach them over the network.
Requirements
Runs as a local Python package (pip install esg-mcp-servers) on desktop. Needs PostgreSQL 16 with pgvector (POSTGRES_DSN), MongoDB 7 for PDF storage (MONGODB_URI), and an Anthropic API key (ANTHROPIC_API_KEY) for RAG and LLM extraction. Optional Selenium extra for JavaScript-heavy scraping; a migration command must be run before use.
Before you install
Requires an Anthropic API key, which incurs usage costs, and database connection strings that may contain credentials. Tools write to and modify the databases (chunk upserts, cached responses, ingested regulations) and download files from the web and EUR-Lex. Scraping and crawling send requests to third-party sites; review before running batch jobs.

Installation

In SourceWeft

  1. Open ESG MCP Servers in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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 ([email protected])

Quick Start

bash
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:

bash
docker compose up -d

Run the database migration:

bash
esg-mcp-migrate

Environment Variables

Copy .env.example and fill in your values:

bash
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:

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:

json
{  "mcpServers": {    "esg": {      "command": "esg-mcp-all"    }  }}

Optional: Scraper Dependencies

The scraper server requires Selenium for JavaScript-heavy sites:

bash
pip install esg-mcp-servers[scraper]

Development

bash
git clone https://github.com/freminder/esg-mcp-servers.gitcd esg-mcp-serverspip install -e ".[scraper,dev]"docker compose up -desg-mcp-migrate

License

MIT — see LICENSE.

Source: README.md at commit 86f4ec0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts