Documentation (GitHub Pages) · Source
Plasm is a typed capability graph (CGS), wire mappings (CML), and a path-expression language agents use against real APIs: validate before transport, compact session symbols, HTTP and MCP hosts, and curated catalogs under apis/. Deep dives—plasm-server, plasm remote terminal, execute semantics, authoring, views, schema overlays, and env flags—live in the documentation site.
Most agent stacks still center on ad hoc JSON tools: large schemas in context, fragile emitted payloads, and no shared model of entities and relations across vendors. If you want the motivation and framing for a typed interaction layer instead—one graph-shaped contract, validation before wire calls, and a path language that stays stable as you federate catalogs—read Plasm: a typed interaction layer for agents working across APIs (Medium). This repo and the docs site are where that story meets the implementation.
Prerequisites: Rust (cargo). Optional: Just, Elixir (for downstream Phoenix workflows).
OSS appliance (native binary) — plasm-server (Cargo package plasm-server): in-process kernel, HTTP + MCP, optional Ratatui UI. No OSS container image is shipped from this repo; run with Cargo:
cargo build -p plasm-server --release
cargo run -p plasm-server --release -- \
--schema fixtures/schemas/capability_with_inputAfter install.sh, run plasm-server with no flags. From a checkout with packed plugins, pass --plugin-dir target/plasm-plugins (see Plugins & compile pipeline). --no-tui runs headless. For project_mcp_* persistence run plasm-server mcp migrate-db. Details: Appliance quick start.
Remote client: install plasm from plasm.tools/get and follow Remote terminal.
Full flags, /execute, MCP tools, plugins, and catalog workflows are covered in the documentation; contributor-oriented commands and boundaries are summarized in AGENTS.md. Doc sources: doc-site/.
Split CGS + CML trees live under apis/. The links below point at catalogs whose own README is the source of truth for how to run, auth env vars, and stated scope—many also spell out plasm-eval coverage or plasm schema validate flows. They are the usual “complete enough to trust the README” set, not an exhaustive inventory (see the full catalog table for every directory). Capability counts in parentheses are the number of entries under capabilities: in that catalog’s domain.yaml (what the runtime loads).
Public (no API key): dnd5e (60) · pokeapi (97) · graphqlzero (15) · hackernews (8) · openbrewerydb (5) · rickandmorty (6) · xkcd (1) · rawg (2; optional key for rate limits) · openmeteo (1)
Auth’d integrations (README + eval / validate where noted): github (91) · clickup (85) · notion (14) · linear (27; COVERAGE.md) · gitlab (42) · slack (57) · discord (135) · spotify (17) · reddit (11) · twitter / X (15) · tavily (5) · musixmatch (7)
Google Workspace (OAuth; each README lists scopes and coverage commands): gmail (30) · calendar (4) · docs (3) · drive (45) · sheets (17)
On-chain (native transport): evm-erc20 (2) — intentionally narrow (ERC-20 balance + Transfer logs): it exists to demonstrate the interface when the mapping target is native EVM (JSON-RPC to a chain URL), not OpenAPI/GraphQL over HTTP. Plasm is not HTTP-only—HTTP and GraphQL are the common catalog shapes today; this catalog shows the same CGS → CML → runtime path on a non-HTTP wire. Broader on-chain surfaces are orthogonal to proving that transport seam. Enable the evm Cargo feature (see README).
Plasm is licensed under the Business Source License 1.1. The Change License is Apache License 2.0 on the Change Date stated in the license.