← Back to docs

qlim8 MCP Server — Quickstart

The qlim8 MCP (Model Context Protocol) server exposes 17 curated tools that let AI agents (Claude, Cursor, Copilot, Replit, Lovable, and any MCP-compatible client) interact directly with carbon accounting data. The server follows the MCP specification and is compatible with all standard MCP clients.

Endpoint
https://app.qlim8.com/api/mcp
Transport
Streamable HTTP (POST for requests, GET for SSE notifications, DELETE to close)
Auth
Same API keys as /api/v1 — Bearer token in Authorization header

1

Prerequisites

  1. API key — mint one at Collectors → API Keys → Generate Key in the app. Request only the scopes you need (see Tool reference for per-tool requirements).
  2. MCP-compatible client — Claude Desktop, Cursor, or any client that supports Streamable HTTP.

2

Connecting with an MCP client

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "qlim8": {
      "type": "http",
      "url": "https://app.qlim8.com/api/mcp",
      "headers": {
        "Authorization": "Bearer qk_live_<your-64-hex-key>"
      }
    }
  }
}

Cursor (.cursorrules or settings):

{
  "mcp": {
    "servers": {
      "qlim8": {
        "url": "https://app.qlim8.com/api/mcp",
        "headers": { "Authorization": "Bearer qk_live_<your-64-hex-key>" }
      }
    }
  }
}

Manual (curl / raw HTTP):

# 1. Initialize session
curl -X POST https://app.qlim8.com/api/mcp \
  -H "Authorization: Bearer qk_live_<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {},
      "clientInfo": { "name": "my-agent", "version": "1.0" }
    }
  }'
# → Response includes "mcp-session-id" header
# 2. List available tools
curl -X POST https://app.qlim8.com/api/mcp \
  -H "Authorization: Bearer qk_live_<your-key>" \
  -H "mcp-session-id: <session-id-from-step-1>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
# 3. Call a tool
curl -X POST https://app.qlim8.com/api/mcp \
  -H "mcp-session-id: <session-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "get_emissions_summary",
      "arguments": { "from": "2024-01-01T00:00:00Z", "to": "2024-12-31T23:59:59Z" }
    }
  }'

Discover the tool catalog (no auth required):

curl https://app.qlim8.com/api/mcp/schema

3

Layer 1 — Core tools

These tools cover the most common use cases for agents and analysts.

get_emissions_summary

Returns total CO2e aggregated by scope for a date range.

{ "from": "2024-01-01T00:00:00Z", "to": "2024-12-31T23:59:59Z" }

{
  "total_co2e_kg": 142300.5,
  "by_scope": { "1": 12000, "2": 45000, "3": 85300.5 },
  "entry_count": 847
}

list_emissions

Cursor-paginated list of emission entries. Repeat with next_cursor for all pages.

{ "scope": "3", "from": "2024-01-01T00:00:00Z", "limit": 50 }

get_emission_lineage

Full traceability for a single emission entry — source invoice, emission factor, category history, and audit hashes.

{ "id": "550e8400-e29b-41d4-a716-446655440000" }

list_activities

Lists source invoices/transactions before categorization.

{ "from": "2024-01-01T00:00:00Z", "to": "2024-03-31T23:59:59Z", "limit": 100 }

list_reports

Lists previously generated compliance reports (VSME, CSRD).

get_report_status

Polls a report render job by ID until status is "completed" or "failed".

{ "id": "job-uuid-here" }

generate_report

Queues a new report render. Returns a job ID for polling with get_report_status. Safe to retry — returns the existing in-flight job if already queued.

{ "report_year": 2024, "standard_type": "vsme_basic", "format": "pdf" }

Available standard_type values: vsme_basic, vsme_bp, vsme_comprehensive, csrd.

4

Layer 2 — Strategic tools

list_targets / create_target

Read and create CO2 reduction targets.

{
  "name": "Science-Based Target 2030",
  "baseline_year": 2019,
  "baseline_emissions": 500.0,
  "target_year": 2030,
  "target_reduction_percent": 46.2,
  "scope": "all"
}

list_emission_factors / get_factor_citations

Browse the emission factor catalog and see which entries used a specific factor.

Value-chain tools (Enterprise plan required)

list_suppliers, get_value_chain_coverage, get_value_chain_exposure require the supplyChain feature (Enterprise tier). Calling them on a Growth or Starter plan returns a structured error:

{
  "code": -32602,
  "message": "Your current plan is growth. This tool requires Enterprise (supplyChain feature). Upgrade at https://qlim8.com/upgrade",
  "data": { "required_tier": "enterprise", "upgrade_url": "https://qlim8.com/upgrade" }
}

5

Layer 3 — Infrastructure tools

list_webhooks / create_webhook / get_webhook_deliveries

Manage webhook subscriptions and inspect delivery logs.

When creating a webhook the signing_secret is returned once — store it securely.

See full tool reference →

6

Error reference

Error codeMeaning
-32602Invalid params — bad UUID, missing field, insufficient scope, or tier gate
-32001Auth / session error — missing Bearer token, revoked key, session not found
-32603Internal server error
HTTP 404 on session-idSession expired or server restarted — send a fresh initialize request

7

Rate limits

The MCP server shares rate-limit buckets with the REST API (/api/v1):

  • — Read operations: 600 requests / minute per API key
  • — Write operations: 60 requests / minute per API key
  • — Sandbox keys: 10× stricter

8

Session behaviour

Sessions are stored in-memory and expire after 24 hours or on server restart. MCP clients handle session loss automatically by re-sending initialize. No data is lost — only the protocol handshake needs to be repeated.

9

Client compatibility

The server follows the MCP specification (protocol version 2024-11-05). It is compatible with:

ClientNotes
Claude DesktopFull support via HTTP transport
CursorFull support via MCP server config
Replit AgentHTTP transport supported
LovableHTTP transport supported
OpenAI agentsVia MCP-compatible shim libraries
Custom agentsAny client that speaks JSON-RPC 2.0 over HTTP

Tool descriptions and input schemas are written for LLM consumption — precise, concise, with format hints on every parameter. They work equally well across Claude, GPT-4, and Gemini models.

Ready to go deeper?

See the full reference for all 17 tools — input schemas, example output, and scope requirements — or check out the REST API alternative.