Skip to main content
Glama

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

Related MCP server: mcp-services

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.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/freminder/esg-mcp-servers'

If you have feedback or need assistance with the MCP directory API, please join our Discord server