Metadata-Version: 2.5
Name: ecosemantic-mcp
Version: 0.1.8
Summary: The EcoSemantic MCP tools and the server that registers them.
Project-URL: Homepage, https://github.com/cdgaete/ecosemantic
Project-URL: Repository, https://github.com/cdgaete/ecosemantic
Project-URL: Issues, https://github.com/cdgaete/ecosemantic/issues
Project-URL: Changelog, https://github.com/cdgaete/ecosemantic/blob/main/CHANGELOG.md
Author-email: Carlos Gaete-Morales <cdgaete@gmail.com>
License-Expression: PolyForm-Noncommercial-1.0.0
License-File: LICENSE
License-File: NOTICE
Keywords: LCA,MCP,Model Context Protocol,agents,life cycle assessment
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: ecosemantic-core==0.1.8
Requires-Dist: ecosemantic-engine==0.1.8
Requires-Dist: fastmcp-slim<5,>=4
Requires-Dist: fastmcp<5,>=4
Requires-Dist: mcp<3,>=2.2.0
Requires-Dist: opentelemetry-api<2,>=1.44
Requires-Dist: pydantic<3,>=2.7
Description-Content-Type: text/markdown

# ecosemantic-mcp

The MCP tools of EcoSemantic, each a plain function over the ports bound in `ServerContext`, and the server that registers them for a chatbot: search the installed databases, model a product system, and calculate its impacts, contributions, inventory and Monte Carlo runs.

## Names it publishes

- `ecosemantic.mcp.server` — the stdio server: what it is called, the tools it registers and the order it registers them in.
- The tool modules, each a set of module-level functions taking the `ServerContext`: `discovery` (what is installed), `modelling` (processes and exchanges), `linking` (what the stored systems' links hold), `parameters`, `calculation` (impacts, contributions, inventory), `tables`, `graph` (the drawing), `systems` (the stored systems and their log), `requests` (the request tools, and the answer every write tool returns), `installs`, `runs`, `treatments`, `envelopes` (the answer every tool returns) and `calls` (the tool call in progress, and what it hands the recorder).
- `ecosemantic.mcp.guides` — the three task guides served as resources: building a model, interpreting a result and a sensitivity study.
- `ecosemantic.mcp.panels` — the in-chat panels a host renders beside a tool's result.
- `ecosemantic.mcp.watcher` — the server's view of a run or an install in another process: poll the record, publish what changed, and settle one whose process is gone.

## What it depends on

`ecosemantic-engine` and `ecosemantic-core` at the same version, and fastmcp, fastmcp-slim, mcp and pydantic. It imports nothing from `ecosemantic.view`: the tools a page reads are the tools a chatbot calls.

## Installing it

`pip install ecosemantic` installs this distribution with the other five and the `ecosemantic` command that serves it. `pip install ecosemantic-mcp` installs it alone, for a host that registers the tools over its own transport.

## Licence

PolyForm Noncommercial License 1.0.0, copyright Carlos Gaete-Morales: `LICENSE` and `NOTICE` in this distribution. Any noncommercial purpose is permitted, by individuals and by charities, schools, public research and government bodies; commercial use needs a separate licence from him (cdgaete@gmail.com). EcoSemantic is his trademark, and the licence grants no right to use that name (`TRADEMARK.md` in the repository). The code is published from https://github.com/cdgaete/ecosemantic.
