@nikeandocean/carbon-factor-matcher
v2.3.3
Published
MCP server for intelligent emission factor matching — connects AI agents with carbon emission factor databases (ELCD, ecoinvent)
Maintainers
Readme
Carbon Factor Matcher — MCP Server for Carbon Accounting
An MCP (Model Context Protocol) server that connects AI agents with carbon emission factor databases. It provides intelligent emission factor matching for carbon accounting, LCA (Life Cycle Assessment), and ESG reporting applications.
What is this MCP?
Carbon Factor Matcher helps AI agents find the most appropriate emission factors from standardized environmental databases. It uses a hybrid search algorithm:
- Keyword + Embedding retrieval — Field-weighted keyword scoring and semantic similarity to find candidate factors
The calling AI agent selects the best match from the ranked candidates.
Supported Databases
- ELCD — European Reference Life Cycle Database (493 factors, included in Free tier)
- US LCI — US Life Cycle Inventory Database (532 factors, included in Free tier)
- USDA LCA Commons — USDA agricultural life cycle data (1,550 factors, included in Free tier)
- ecoinvent 3.10 — Swiss Centre for Life Cycle Inventories (5,829 factors, Pro license required)
Key Features
- Hybrid keyword + embedding matching for accurate factor retrieval
- Multi-language support (Chinese/English activity descriptions)
- Zero configuration — works out of the box after installation
- MCP-compatible — works with Claude, Cursor, Windsurf, Cline, Continue, and any MCP client
Installation
Claude Code
claude mcp add carbon-factor-matcher -- npx -y @nikeandocean/carbon-factor-matcherClaude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"carbon-factor-matcher": {
"command": "npx",
"args": ["-y", "@nikeandocean/carbon-factor-matcher"]
}
}
}Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"carbon-factor-matcher": {
"command": "npx",
"args": ["-y", "@nikeandocean/carbon-factor-matcher"]
}
}
}Or via Cursor UI: Settings → MCP → Add new global MCP server.
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"carbon-factor-matcher": {
"command": "npx",
"args": ["-y", "@nikeandocean/carbon-factor-matcher"]
}
}
}Or via Windsurf UI: Settings → Cascade → MCP Servers → Add.
Cline (VS Code Extension)
Add to Cline MCP settings (click MCP Servers icon in Cline panel):
{
"mcpServers": {
"carbon-factor-matcher": {
"command": "npx",
"args": ["-y", "@nikeandocean/carbon-factor-matcher"]
}
}
}Continue (VS Code / JetBrains)
Add to ~/.continue/config.yaml:
mcpServers:
- name: carbon-factor-matcher
command: npx
args:
- "-y"
- "@nikeandocean/carbon-factor-matcher"Smithery.ai (One-Click Install)
npx -y smithery mcp add nikeandocean/carbon-factor-matcherOr visit smithery.ai/server/@nikeandocean/carbon-factor-matcher for hosted endpoint.
Pro License
The Free tier works immediately after installation (300 queries/day, ELCD database, keyword search). To unlock the full experience:
| Plan | Price | Features | |------|-------|----------| | Free | $0 | ELCD + US LCI + USDA (2,575 factors), keyword search, 300 queries/day | | Pro | $5 (one-time) | All 4 databases (8,404 factors), hybrid keyword + embedding matching, unlimited queries |
Purchase License Key
After purchase, you'll receive a license key via email. Set it as an environment variable in your MCP config:
{
"mcpServers": {
"carbon-factor-matcher": {
"command": "npx",
"args": ["-y", "@nikeandocean/carbon-factor-matcher"],
"env": {
"CARBON_FACTOR_LICENSE_KEY": "PRO-xxxx-xxxx"
}
}
}
}Configuration
| Variable | Description | Default |
|----------|-------------|---------|
| CARBON_FACTOR_LICENSE_KEY | Your license key (empty = Free tier) | — |
| CARBON_FACTOR_DATA_DIR | Path to local factor database | data/factors |
Note: No additional API configuration needed. The calling AI agent handles final factor selection.
Available Tools
factor_match
Match activity data to emission factors. Free tier uses keyword search; Pro tier uses hybrid keyword + embedding matching. Returns ranked candidates for the calling agent to select from.
Input:
{
"activity_data": "Factory in Shenzhen, 10kV industrial electricity, 2024, semiconductor fab",
"top_k": 10
}Output (Pro tier):
{
"candidates": [
{
"id": "elec-cn-south-10kv-2024",
"name": "Electricity, 10kV, South China Grid",
"value": 0.6101,
"unit": "kgCO2e/kWh",
"hybrid_score": 0.85,
"final_score": 0.875
}
],
"selection_guidance": "从候选列表中选择最匹配的排放因子..."
}factor_search
Search emission factors by keyword with optional filters.
Input:
{
"query": "diesel",
"category": "fuel",
"limit": 10
}factor_detail
Get full metadata for a specific factor.
Input:
{
"factor_id": "elec-cn-south-10kv-2024"
}System Requirements
- Node.js 18+ (for
npx) - Python 3.11+ (auto-installed via pip)
Support
- Email: [email protected]
- Issues: https://github.com/nikeandocean/carbon-factor-matcher/issues
License
This is proprietary software. See LICENSE for details.
© 2024 Carbon Factor Matcher. All rights reserved.
