Skip to main content

MCP server for intelligent emission factor matching using LLM-powered semantic search

Project description

smithery badge

Carbon Factor Matcher — MCP Server for Carbon Accounting

An MCP (Model Context Protocol) server that connects LLMs with carbon footprint 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 and LLM-based applications find the most appropriate emission factors from standardized environmental databases. It uses a two-stage hybrid search algorithm:

  1. Embedding-based rough filtering — Semantic similarity to find candidate factors
  2. LLM-based fine ranking — AI-powered selection with reasoning and confidence scores

Supported Databases

  • ELCD — European Reference Life Cycle Database (~600 factors, included in Free tier)
  • ecoinvent 3.10 — Swiss Centre for Life Cycle Inventories (~21,000 factors, Pro license required)

Key Features

  • 5-dimension data quality rating (technology, geography, source, time, factor type)
  • Multi-language support (Chinese/English activity descriptions)
  • 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-matcher

Claude 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-matcher

Or 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 database (~600 factors), keyword search, 300 queries/day
Pro $5 (one-time) ELCD + ecoinvent (~21,000 factors), LLM-powered matching, unlimited queries, data quality rating

Purchase License Key

👉 Buy Pro License

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",
        "LLM_API_KEY": "sk-xxxx",
        "LLM_BASE_URL": "https://api.deepseek.com",
        "LLM_MODEL": "deepseek-chat"
      }
    }
  }
}

Configuration

Variable Description Default
CARBON_FACTOR_LICENSE_KEY Your license key (empty = Free tier)
LLM_API_KEY LLM API key for Pro matching (DeepSeek/OpenAI)
LLM_BASE_URL LLM endpoint URL https://api.deepseek.com
LLM_MODEL LLM model name deepseek-chat
CARBON_FACTOR_DATA_DIR Path to local factor database data/factors

Available Tools

factor_match

Match activity data to the best emission factor. Free tier uses keyword search; Pro tier uses hybrid embedding + LLM matching with quality assessment.

Input:

{
  "activity_data": "Factory in Shenzhen, 10kV industrial electricity, 2024, semiconductor fab",
  "top_k": 10
}

Output:

{
  "selected_factor": {
    "id": "elec-cn-south-10kv-2024",
    "name": "Electricity, 10kV, South China Grid",
    "value": 0.6101,
    "unit": "kgCO2e/kWh"
  },
  "confidence": 0.92,
  "reason": "Best match for industrial electricity in South China region",
  "alternatives": [...]
}

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"
}

Demo

👉 Try the Live Demo — Search 30+ emission factors directly in your browser (no installation needed).

System Requirements

  • Node.js 18+ (for npx)
  • Python 3.11+ (auto-installed via pip)
  • LLM API key (Pro tier only — DeepSeek recommended)

Support

License

This is proprietary software. See LICENSE for details.


© 2024 Carbon Factor Matcher. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carbon_factor_matcher-1.0.9.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

carbon_factor_matcher-1.0.9-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file carbon_factor_matcher-1.0.9.tar.gz.

File metadata

  • Download URL: carbon_factor_matcher-1.0.9.tar.gz
  • Upload date:
  • Size: 53.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for carbon_factor_matcher-1.0.9.tar.gz
Algorithm Hash digest
SHA256 c1e91dd3c87438169b54851a64d617f1dd4d557576fe1e1ebf5618eacad38be8
MD5 870930b5467e7f3a5e7a221ff43b3105
BLAKE2b-256 13606e7b813a4ffbbf20267c3dedc7f2f67b58629ee01d03d16fe6a1a2a4e516

See more details on using hashes here.

File details

Details for the file carbon_factor_matcher-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for carbon_factor_matcher-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c631be38ab9e4e7ec3341b1de6f15223f41d7812d99e498571f6f60e46d4b204
MD5 8217ff8af957c6fe1d19aa0e6f6fb53d
BLAKE2b-256 a57645084601962a3c030254f71ababf5a6629702b64f47f1f2a1f6df1656e72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page