Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ authority on everything it exposes, and stays current when this doesn't:
| `mcp_runtime` | **Required.** Serves a toolset's `TOOLS` as a stateless streamable-HTTP MCP server with a `/health` route for k8s probes, and its `VIEWS` as `ui://` resources — `mcp-serve` for one toolset, `mcp-serve-local` for all of them at once. Also runs the directory service (`mcp-index`). |
| `mcp_cli` | **Development inner loop.** Typer/rich client (`mcp-cli`) to list and call tools on a running service. |
| `mcp_toolset` | **Scaffolding.** `mcp-toolset new [--with-ui] <name>` writes a conforming toolset into `toolsets/` and registers it in the workspace. |
| `mcp_agent` | **Optional example chat** (`mcp-agent` / `mcp-agent-web`) that discovers every server behind an index URL and drives their tools. Needs the `[agent]` extra — drop it from the pin if you don't want a chat host. |
| `mcp_agent` | **Optional example chat** (`mcp-agent` / `mcp-agent-web`) that discovers every server behind an index URL and drives their tools. `mcp-agent-web` needs the `[web]` extra; `[agent]` alone gives `build_agent`, `run_turn` and the host helpers without Chainlit, for a frontend of your own. Drop the extra from the pin if you want neither. |
| `mcp_state` | **Already working on these toolsets, untagged.** It keeps large tool values out of the model's context. Every `ToolResult` data key is declared in the tool's `_meta` and captured into session state by the bundled agent, whether or not you tag anything. Tagging a key or parameter with a `Kind` is the accelerator on top — see below. |

[session-state]: https://github.com/developmentseed/mcp-toolsets-runtime/blob/main/docs/SESSION-STATE.md
Expand Down
13 changes: 8 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ readme = "README.md"
requires-python = ">=3.12,<3.14"
dependencies = [
# The shared runtime, installed from PyPI — mcp_runtime (mcp-serve /
# mcp-index), mcp_cli, mcp_toolset, and with [agent] the Chainlit chat host.
# Upgrade by bumping this range and running `uv lock`.
"mcp-toolsets-runtime[agent]<0.5.0,>=0.4.2",
# mcp-index), mcp_cli, mcp_toolset, and with [web] the Chainlit chat host.
# [web] is here for the dev environment, which runs `mcp-agent-web` and
# `mcp-agent install-elements`; the toolset images sync with `--package` and
# so never see it. Upgrade by bumping this range and running `uv lock`.
"mcp-toolsets-runtime[web]<0.6.0,>=0.5.0",
"credential-demo",
"hello",
"stac-explorer",
Expand All @@ -20,8 +22,9 @@ dependencies = [
# exactly this, at the version uv.lock already pins for everything else.
index = ["mcp-toolsets-runtime"]
# Likewise for the hosted chat image (Dockerfile.chat): the agent and its
# Chainlit stack, no toolsets.
chat = ["mcp-toolsets-runtime[agent]"]
# Chainlit stack, no toolsets. [web] rather than [agent] since 0.5.0 — the
# runtime split the Chainlit host out so an API deployment need not install it.
chat = ["mcp-toolsets-runtime[web]"]
dev = [
"pytest<10.0.0,>=9.0.3",
"pytest-asyncio<2.0.0,>=1.4.0",
Expand Down
18 changes: 9 additions & 9 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading