ie-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ie-mcpHow do I use brightway2 to create a database?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ie-mcp
Using the ie_mcp server makes coding with Industrial Ecology packages, especially Brightway, much easier. It guides GitHub Copilot to the right package documentation for your question, so you avoid mixed package versions, wrong references, and hallucinated answers.
An MCP (Model Context Protocol) server that explains Industrial Ecology Python packages through their documentation. Ask it anything about a registered package — installation, usage, API, concepts — directly from VS Code Copilot.
An MCP server is a bridge between Copilot and trusted external information. In VS Code Agent mode, Copilot can call this server to check package docs, source code, and versions before it answers.
Currently supported packages: The full Brightway LCA ecosystem, and additional industrial ecology tools — 56 packages total (see Brightway ecosystem and Additional packages below)
Why this is needed
For modelling work, you need reliable help that matches your real environment and package versions. This server gives environment- and version-relevant explanations for both single functions and complete IE package workflows. This makes going through pages of package documentation and checking its GitHub pages redundant. Just as Copilot about the package and get relevant explantion/coding help for the exact package version you are using.
Related MCP server: projscan
Example questions
"How do I do a basic LCA in Brightway from setup to first result?"
"How do I use premise for prospective LCA scenarios?"
"How do I use the function [...]?
"Explain what arguments the function takes in the package version that is currently installed in my environment."
...
Prerequisites
Run the following in your environment:
pip install "mcp[cli]>=1.0.0" "httpx>=0.27.0" "beautifulsoup4>=4.12.0" "markdownify>=0.13.0"Setup
1. Clone the repo
git clone https://github.com/YOUR_USERNAME/ie-mcp.git
cd ie-mcp2. Connect to your AI client
VS Code (Copilot agent mode)
The .vscode/mcp.json file is already configured. Open this folder as your workspace root in VS Code and Copilot agent mode picks up the server automatically — no manual startup needed.
Other workspaces / projects: To use the server from a different project, add it to your VS Code user settings (
settings.json) with an absolute path:{ "mcp.servers": { "ie-mcp": { "type": "stdio", "command": "/absolute/path/to/your/environment/python.exe", "args": ["run", "/absolute/path/to/ie-mcp/server.py"], "env": { "GITHUB_TOKEN" : "" } } } }
3. Point the server at the right Python environment
The server checks your installed package versions to look up the correct documentation and source code. It can only see packages installed in the Python interpreter specified in mcp.json (or user settings.json).
Rule of thumb: set command to the same Python executable you use for your work.
Situation | What to set as |
conda env named |
|
venv in project folder |
|
uv project |
|
Copilot will call get_server_environment() and return a full list of tracked packages with their installed versions, plus the active Python executable path. If a package shows "not installed", update command in mcp.json and restart the server.
For best results, also add the instruction file (.github/copilot-instructions.md) in the .github folder to you repository. An instruction file is a short set of project-specific rules for Copilot (what tools to prefer, how to answer, what context matters most). This makes ie_mcp more efficient because Copilot is guided to use the server consistently and query package docs/versions in the way you want.
GitHub token (optional)
The search_source and get_function_source tools use the GitHub REST API. Without a token, GitHub allows 60 requests/hour — enough for light use. Add a free personal access token to raise the limit to 5 000 requests/hour.
Go to github.com → Settings → Developer settings → Personal access tokens → Tokens (classic)
Click Generate new token (classic), give it a name, set an expiry — no scopes needed for public repos.
Add the token to your client config:
VS Code — paste into .vscode/mcp.json:
{
"mcp.servers": {
"ie-mcp": {
"type": "stdio",
"command": "/absolute/path/to/your/environment/python.exe",
"args": ["run", "/absolute/path/to/ie-mcp/server.py"],
"env": {
"GITHUB_TOKEN" : "ghp_your_token"
}
}
}
}
Important: Do not commit
.vscode/mcp.jsonafter adding your token. The empty-token version is checked in so other users get a working starting point; your filled-in version is for local use only.
How the server works
It checks your active Python environment and installed package versions.
It fetches official documentation pages when needed and keeps a local cache for faster repeated use.
For version-specific questions, it checks GitHub tags first and then fetches matching source code.
When versioned docs are available (for example on ReadTheDocs), it can fetch those too.
If versioned docs are not available, it still answers from the matching versioned source code.
This keeps answers reliable, version-correct, and grounded in official docs or source.
Brightway ecosystem
Brightway is an open-source Python framework for life cycle assessment (LCA). All packages from the brightway-lca GitHub organisation are registered:
Meta-packages
Package key | PyPI / install | Description |
|
| Brightway 2.5 — current stable meta-package |
|
| Brightway 2 — legacy stable meta-package |
Brightway 2.5 core components
These are the direct dependencies installed by pip install brightway25:
Package key | PyPI name | Role |
| bw2data | Project & database management |
| bw2calc | LCA matrix calculations |
| bw2io | Import / export (ecoinvent, SimaPro, …) |
| bw2analyzer | Contribution analysis & supply chain traversal |
| bw2parameters | Parameter storage & formula evaluation |
| bw_processing | Structured NumPy datapackages |
| matrix_utils | MappedMatrix building from datapackages |
| bw_migrations | Migration files between ecoinvent versions |
| bw_simapro_csv | SimaPro CSV parsing |
| ecoinvent_interface | Programmatic ecoinvent download |
| multifunctional | Multi-output / allocation handling |
| randonneur | Flexible dataset transformation engine |
| randonneur_data | Transformation data files for randonneur |
| stats_arrays | Uncertain parameter arrays & Monte Carlo |
| mrio_common_metadata | MRIO datapackage schema |
Additional brightway-lca packages
Package key | Description |
| Time-explicit LCA (Brightway 2.5) |
| Advanced time-explicit LCA |
| Dynamic (time-dependent) characterization factors |
| Supply chain graph traversal utilities |
| EXIOBASE MRIO import |
| ReCiPe 2016 LCIA method |
| Aggregated process support |
| Named datapackage campaign management |
| HESTIA API bridge |
| Pydantic interface schemas |
| Lightweight graph backend (no bw2data) |
| Experimental backend for richer exchange descriptions beyond standard matrix structure |
| Regionalized LCA calculations |
| openLCA IPC server integration |
| Hybrid IO/process LCA |
| Randonneur migration file generator |
| Pedigree-matrix uncertainty adaptation |
| EcoSpold1/2 XML ↔ Python round-trip |
| ILCD XML ↔ Python round-trip |
| SimaPro ↔ ecoinvent flow mappings |
| Lightweight regionalized LCA |
| Cython performance extensions for BW2 |
| CLI tool for Brightway2 |
Additional packages
LCA tools
Package key | GitHub | Docs | Description |
| Edge-based LCIA for Brightway: context-sensitive characterization factors applied to exchanges, not just flows. Includes AWARE 2.0, ImpactWorld+, GeoPolRisk, GLAM3. | ||
| Parametric LCA inventories with fast Monte Carlo and Sobol sensitivity analysis, using Sympy expressions. Built on Brightway2/2.5. | ||
| Scenario-driven transformations for LCI datasets and workflows, designed for prospective and pathway-based LCA use cases. | ||
| GitHub README | Automatically regionalizes ecoinvent by connecting it to the BACI trade database, creating national production processes and consumption markets. |
Material flow analysis (MFA)
Package key | GitHub | Docs | Description |
| Flexible Open Dynamic Material Systems Model — Python library for dynamic MFA with dimension-aware arrays (FlodymArray), stock accumulation with age-cohort tracking, and Pydantic-typed system setup. Adaptation of ODYM. | ||
| Open Dynamic Material Systems Model — Python framework for dynamic material flow analysis with object-based system description and dynamic stock modeling. | ||
| GitHub README | Resource Efficiency–Climate Change mitigation model built on ODYM. Dynamic MFA of vehicles and buildings across SSP scenarios; assesses 10 material efficiency strategies. |
Environmentally extended input output analysis
Package key | GitHub | Docs | Description |
| Multi-regional input-output (EE MRIO) analysis: auto-download and parse EXIOBASE, WIOD, EORA26, OECD, GLORIA; calculate footprints, trade-embodied impacts. |
Adding a new package
Let us know if you are missing any package! You can also add an addtional package yourself:
Create
packages/{name}/with an__init__.py.Create
packages/{name}/metadata.pywith aMETADATAdict. Copypackages/premise/metadata.pyas a template — the key fields are:name,description,github_url,github_repo,readthedocs_slug,docs_url,install,sectionsEach section needs
id,title,url,description.
Run the fetch script:
python scripts/fetch_docs.py --package {name}Restart the server — the new package is discovered automatically.
No changes to server.py or any core file are needed.
License
The Unlicense (public domain dedication)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JonasKlimt/ie_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server