ESG MCP Servers
31 MCP tools for ESG data extraction, PDF processing, vector search, and EU regulation analysis.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
esg-mcp-serversclaude mcp add esg-mcp-servers -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'POSTGRES_DSN=<POSTGRES_DSN>' -e 'MONGODB_URI=<MONGODB_URI>' -e 'EMBEDDING_MODEL=<EMBEDDING_MODEL>' -e 'EMBEDDING_DIMENSIONS=<EMBEDDING_DIMENSIONS>' -- uvx esg-mcp-servers==0.1.2
{
"mcpServers": {
"esg-mcp-servers": {
"command": "uvx",
"args": [
"esg-mcp-servers==0.1.2"
],
"env": {
"ANTHROPIC_API_KEY": "<your anthropic_api_key>",
"POSTGRES_DSN": "<POSTGRES_DSN>",
"MONGODB_URI": "<MONGODB_URI>",
"EMBEDDING_MODEL": "<EMBEDDING_MODEL>",
"EMBEDDING_DIMENSIONS": "<EMBEDDING_DIMENSIONS>"
}
}
}
}
Variables d'environnement
ANTHROPIC_API_KEYobligatoire secret Anthropic API key — required for RAG queries and LLM-based metric extractionPOSTGRES_DSNobligatoire PostgreSQL connection string with pgvector extension (e.g. postgresql://esg:esg@localhost/esg_platform)MONGODB_URIobligatoire MongoDB connection string for PDF binary storage via GridFS (e.g. mongodb://localhost:27017)EMBEDDING_MODELSentence-transformer model name for embedding generation (default: Snowflake/snowflake-arctic-embed-l-v2.0)EMBEDDING_DIMENSIONSEmbedding vector dimension size (default: 1024)
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
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.
Questions fréquentes
Qu'est-ce que ESG MCP Servers ?
31 MCP tools for ESG data extraction, PDF processing, vector search, and EU regulation analysis.
Comment installer ESG MCP Servers ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add esg-mcp-servers -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'POSTGRES_DSN=<POSTGRES_DSN>' -e 'MONGODB_URI=<MONGODB_URI>' -e 'EMBEDDING_MODEL=<EMBEDDING_MODEL>' -e 'EMBEDDING_DIMENSIONS=<EMBEDDING_DIMENSIONS>' -- uvx esg-mcp-servers==0.1.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour ESG MCP Servers ?
Oui. Il attend ANTHROPIC_API_KEY, POSTGRES_DSN, MONGODB_URI, à renseigner dans sa configuration.
ESG MCP Servers est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient ESG MCP Servers ?
Il est publié par freminder. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.