openLCA MCP Server

io.github.Below280Published by GitHub account Below280v1.16.0Updated Oct 24, 2026

Connect AI assistants to openLCA. 35 tools for database search, model building, and LCIA.

VerifiedSTDIODesktop onlyDeveloper ToolsData & Analytics

Overview

AI-generated overview

Connects an AI assistant to a running openLCA instance so it can explore LCA databases, build models, audit them and run impact calculations.

What you can do
Explore databases: count and search processes, flows, systems, methods and parameters, look up units and chemical synonyms, and detect the database family (ecoinvent or FLCAC). Build and edit models: create or update global parameters, flows, processes and product systems, and delete entities with confirmation. Audit models: extract a model folder, check structure, validate linking and parameters, inspect data quality and find where a flow is used. Calculate results: baseline impact assessment, contribution analysis, upstream trees, Monte Carlo uncertainty, inventory flows, scenarios and sensitivity analysis, including from CSV files. Read bundled resources on database info, assistant rules,
When to use it
Useful for LCA and EPD practitioners who already work in openLCA and want to drive database exploration, model building, validation and impact calculations conversationally, including scenario, sensitivity and Monte Carlo runs.
Requirements
Runs locally as a Python process (pip install b280-olca-mcp, started with python -m b280_olca_mcp) and needs a running openLCA instance with its IPC server started on port 8080, configured via the OLCA_PORT environment variable. A stdio-capable MCP client is required; ChatGPT needs a separate tunnel.
Before you install
The server is beta software; test on a copy of the database before connecting a production one. Build tools modify the database and delete_entity is destructive. Tool results, including process names, exchange data, parameters and impact results, are sent to the AI provider, so avoid confidential client databases on personal or free-tier accounts. CSV tools write files to disk, and chemical_synonyms contacts the external PubChem service.

Installation

In SourceWeft

  1. Open openLCA MCP Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

openLCA MCP Server

An MCP (Model Context Protocol) server that connects AI assistants to a running openLCA instance. Developed and tested with Claude Desktop; compatible with any MCP client that supports stdio transport. Built by Below280, the UK partner for openLCA.

The server exposes 35 tools covering the full LCA workflow: exploring databases, building and editing models, running calculations (scenarios, sensitivity, Monte Carlo, contribution analysis), auditing and validating models, and extracting data quality assessments. All calculation patterns are tested against production ecoinvent databases.

The server works with both ecoinvent-family databases (ecoinvent, EN15804GD, HiQLCD, BAFU) and FLCAC-family databases (LCA Commons, US LCI, USEEIO). It asks which family you are using, or auto-detects from the flow property names.

Available on PyPI and the MCP Registry.

Install

Quick setup (PyPI)

pip install b280-olca-mcp

This installs the server and its dependencies (mcp, olca-ipc) in one step. The server runs from anywhere with python -m b280_olca_mcp.

Development setup (GitHub)

Clone the repository for the latest code, the React dashboard, or if you want to modify the server:

git clone https://github.com/Below280/B280-olca-MCP.gitcd B280-olca-MCPpip install -r requirements.txt

The server entry point is b280_olca_mcp/server.py.

What it does

Someone using this MCP can say things like:

  • 'Make me a model with 34 kWh UK electricity, 5 kg sodium hydroxide, and 34 kWh steam'
  • 'Build an EPD model from this LCI'
  • 'Run two scenarios, one with transport at 100 km and one at 500 km'
  • 'Which processes contribute most to climate change in my system?'
  • 'Vary the electricity and PET resin parameters by 10%'
  • 'Validate my product system and check if the linking is correct'
  • 'Run 1000 Monte Carlo iterations and show me the uncertainty'
  • 'Help me connect to openLCA from R / Go / Rust'
  • 'What can you do?' (the help tool)

The AI assistant handles the conversation, builds the tool calls, and presents results visually with charts, tables, and exportable data.

Connect your MCP client

The server uses stdio transport. Any MCP client that can spawn a local Python process will work.

Claude Desktop

In Claude Desktop, go to Settings > Developer > Edit Config. Add an openLCA entry to the mcpServers section.

If you installed via PyPI:

json
{  "mcpServers": {    "openLCA": {      "command": "python",      "args": ["-m", "b280_olca_mcp"],      "env": {        "OLCA_PORT": "8080"      }    }  }}

If you cloned from GitHub:

json
{  "mcpServers": {    "openLCA": {      "command": "python",      "args": ["C:/path/to/B280-olca-MCP/b280_olca_mcp/server.py"],      "env": {        "OLCA_PORT": "8080"      }    }  }}

On Windows, if Claude Desktop cannot find Python, use the full path to your Python executable.

Restart Claude Desktop after saving.

Cursor

Go to Settings > Tools & MCP > Add MCP Server. Choose stdio transport, set the command to python and the argument to -m b280_olca_mcp (PyPI) or the path to b280_olca_mcp/server.py (GitHub clone). Cursor picks up config changes without restarting.

VS Code

Add the server to .vscode/mcp.json in your workspace or user settings:

json
{  "servers": {    "openLCA": {      "type": "stdio",      "command": "python",      "args": ["-m", "b280_olca_mcp"],      "env": {        "OLCA_PORT": "8080"      }    }  }}

Note: VS Code uses servers as the root key, not mcpServers. If using GitHub Copilot, switch Copilot Chat to Agent mode.

ChatGPT

ChatGPT cannot directly launch a local stdio server. OpenAI provides the Secure MCP Tunnel, which bridges ChatGPT to a local MCP server without exposing anything publicly. The architecture is:

text
ChatGPT → Secure MCP Tunnel → B280 MCP (stdio) → openLCA IPC localhost:8080

The tunnel launches the B280 server (python -m b280_olca_mcp) on your machine. No changes to the B280 server are needed; it remains stdio throughout. No additional search or fetch tools are required for ChatGPT custom MCP servers.

B280's existing tool annotations (read-only, destructive, idempotent) are used by ChatGPT when deciding whether to auto-approve or prompt for confirmation.

For the full setup guide, including installation, configuration, troubleshooting and security considerations, see docs/chatgpt.md.

ChatGPT support is currently experimental. A remote Streamable HTTP transport option may be added in future for users who prefer not to run the local tunnel.

Other MCP clients

Any client that spawns a local Python process over stdin/stdout should work. With PyPI: python -m b280_olca_mcp. With GitHub clone: python path/to/b280_olca_mcp/server.py.

Beta software. This server is under active development. Test it on a copy of your database before connecting a production database. Report issues on GitHub or at [email protected].

Start it

  1. Open your database in openLCA
  2. Start the IPC server (Tools > Developer Tools > IPC Server > green play button, port 8080)
  3. Restart your MCP client (or reconnect)
  4. Ask something like 'what can you do?' or 'what's in my openLCA database?'

After creating or modifying anything, press the Refresh button in openLCA's toolbar to see changes in the GUI.

Data security

The MCP server runs locally and communicates with openLCA on localhost. The AI client (Claude Desktop or equivalent) sends tool results to its provider's servers for processing. This means process names, exchange data, parameter values, and impact results from your database will be in the conversation.

Do not connect a confidential client database through a personal or free-tier AI account. Use a business or enterprise account with appropriate data retention controls, and check your provider's data processing terms before connecting any database containing sensitive information.

Tools

Explore (11 tools)

ToolPurpose
database_infoCounts of systems, processes, flows, methods, parameters. Auto-detects database family
set_database_familySet ecoinvent or FLCAC naming conventions
list_systemsList/search product systems
list_methodsList/search impact assessment methods
search_processesFind processes by name, location, or category
search_flowsFind flows by name and/or category folder
process_detailsFull process info: exchanges, parameters, providers
system_parametersList parameters for a product system
global_parametersLook up database-level parameters
find_unitLook up units and their flow properties
chemical_synonymsPubChem synonym search to find database matches

Build (8 tools)

ToolPurpose
create_global_parameterCreate or update a database-level parameter, as a value or a formula
create_flowCreate product, waste, or elementary flows
edit_flowAdd or update flow properties, or change the reference property
create_bridgeCreate a bridge flow + process in one call
create_processBuild a process with exchanges, parameters, and providers
edit_processEdit an existing process: add/update/remove exchanges and parameters
create_systemCreate a product system from a process
delete_entityDelete a process, flow, or product system (requires user confirmation; refuses to delete a flow that is still in use)

Audit (6 tools)

ToolPurpose
extract_modelPull everything from a model folder for inspection
audit_modelStructural checks: missing qrefs, zero amounts, unit mismatches
validate_systemMirrors openLCA's Validate button: linking, parameters, test calculation
get_system_linksShow which providers are linked for each exchange
data_qualityExtract pedigree matrices and uncertainty from a process
find_flow_usageFind the processes and impact categories that use a flow

Calculate (9 tools)

ToolPurpose
calculateBaseline impact assessment
contribution_analysisProcess-level contribution breakdown per impact category
upstream_treeMulti-level contribution tree for one category, with pedigree scores on every branch
monte_carloUncertainty simulation with statistics
inventory_flowsRaw elementary flow results (LCI level)
scenariosScenario calculations from conversational parameter values
scenarios_csvScenario calculations from a CSV file
sensitivityParameter sensitivity analysis
sensitivity_csvSensitivity analysis from a CSV file

Meta (1 tool)

ToolPurpose
helpShow capabilities grouped by workflow, with optional topic filter

Tool annotations

Every tool carries MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) so clients can decide whether to auto-approve or prompt for confirmation. Explore and Calculate tools are read-only. Build tools signal that they modify the database. delete_entity is marked destructive. CSV tools are marked as writing files to disk. chemical_synonyms is marked as reaching an external service (PubChem).

Resources

The server exposes four MCP resources that AI clients can read on demand:

ResourceURIPurpose
Database infolca://database/infoLive database overview
Assistant instructionslca://knowledge/instructionsOperational rules, workflows, and conventions
IPC protocol referencelca://knowledge/ipc-protocolComplete JSON-RPC spec for all 60 IPC methods
openLCA resourceslca://knowledge/openlca-resourcesLinks to databases, docs, forums, and training

The IPC protocol reference enables AI clients to help users connect to openLCA from any programming language by generating client code from the protocol specification.

EPD model building

The server includes a guided workflow for building EN15804 EPD models from LCI data. The AI maps LCI items to lifecycle modules (A1-D), creates the folder structure, bridge processes, module processes, and product systems. Ask 'build an EPD from this LCI' to start.

Standalone scripts

For repeated analyses, the server recommends standalone Python scripts that run without AI tokens. After a scenario or sensitivity calculation, it offers to generate the CSV file needed to run the equivalent script from the openLCA-IPC-tools-python repository.

Related repositories

RepositoryDescription
openLCA-IPC-tools-pythonStandalone Python scripts for scenarios, sensitivity, parameters, prospective LCA
openLCA-IPC-tools-rR client for openLCA IPC (first R package for openLCA)
openLCA-IPC-tools-fortranFortran IPC client and batch calculator

About

Built by Below280 Limited, a UK LCA, EPD and CBAM consultancy and official UK partner for openLCA. The calculation patterns in this server are derived from production scripts used in EPD and LCA consulting work, tested against ecoinvent 3.10/3.11/3.12, EN15804GD, and US Federal LCA Commons (FLCAC) databases.

For issues: GitHub Issues or [email protected]

Documentation

Licence

MPL-2.0

mcp-name: io.github.Below280/b280-olca-mcp

Source: README.md at commit 191f3d3

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v1.16.0LatestSep 27, 2026
  2. v1.15.0Sep 25, 2026
  3. v1.14.0Sep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.