pi-fabric weekly downloads statistics
By fabric-runtime · npm · MCP servers
A programmable tool and agent runtime for Pi
pi-fabric has 7,407 recorded weekly downloads on npm, ranking #1037 of 2,391 tracked listings.
About pi-fabric
pi-fabric
A programmable tool and agent runtime for Pi
One program for tools, MCP, agents, workflows, actors, mesh, councils, and recursion.
<p> <img src="https://raw.githubusercontent.com/fabric-runtime/pi-fabric/main/media/banner.svg" alt="Animated banner: one checked TypeScript program weaving pi core tools, MCP servers, agents, and mesh into a single result" width="100%"> </p> <p align="center"> 🏆 <strong><a href="https://arcprize.org/scorecards/d4c56c67-136b-4643-b648-62ae28fe2a54">100% on ARC-AGI-3</a></strong>. A Fabric-powered agent won <strong>all 25 environments</strong> in one 22.4-hour session with 4 minutes of human time ($1,349 in model spend). </p> </div>Fabric gives Pi one programmable tool called fabric_exec, which composes core tools and MCP servers with captured extension tools. The default kernel runs checked TypeScript in isolated QuickJS; select sandboxed Python (Monty) with executor.kernel: "python". CPython is an explicit native escape hatch via executor.pythonRuntime: "cpython". The configured kernel is exclusive: there is no per-call language selector. Trusted TypeScript workloads can also use unsafe Node/Bun processes. Programs call host providers for agents, actors, and durable coordination, then return the result of their branches, loops, fan-out, and data flow. See execution kernels for Python usage, security boundaries, and guest-helper limitations.
Why Fabric?
| Capability | What it unlocks | |
|---|---|---|
| ⚡ | Code mode | One flat tool schema; branching, loops, fan-out, and data flow live in TypeScript or configured Python. |
| 🧰 | Capability routing | Call Pi core tools, MCP servers, captured extension tools, or Fabric providers through one runtime. |
| 🧑🤝🧑 | Agent runtime | One-shot workers, durable resident agents, persistent event-driven actors, councils, and bounded recursive queries. |
| 🕸️ | Workflows + mesh | Phased progress plus durable topics, shared tasks, and compare-and-swap state. |
| 🛡️ | Guardrails | Approvals, isolation, timeouts, concurrency, recursion depth, and shared cost budgets. |
| 🎛️ | Native TUI | Live activity, an interactive dashboard, and settings without leaving Pi. |
How it works
- You ask in plain language.
- Pi writes one program that calls the required tools and agents.
- TypeScript is statically checked before execution; both kernels use the same authoritative host-call schema validation.
- The result returns to your conversation. Intermediate work stays in the sandbox and appears in the activity panel and dashboard.
With the default TypeScript kernel, the model can write this program (TypeScript only):
const [manifest, sources] = await Promise.all([
pi.read({ path: "package.json" }),
pi.find({ pattern: "**/*.ts", path: "src" }),
]);
return {
package: JSON.parse(manifest).name,
sourceCount: sources.split("\n").filter(Boolean).length,
};
Independent calls run in parallel, and the returned object enters the model context. Known providers support concise direct calls such as mcp.fal_ai.get_model_schema(...), memory.recall(...), state.get(), schema.status(), and compact.status(). Refs found or computed at runtime use tools.call({ ref, args }) (TypeScript notation). Python uses await tools.call({"ref": ref, "args": args}), native dictionary results, and asyncio.gather for independent calls.
To select Python, put this in ~/.pi/agent/fabric.json or a trusted project's .pi/fabric.json, or use /fabric settings → Executor → Kernel:
{ "executor": { "kernel": "python" } }
Python defaults to Monty, a sandboxed Python subset with VM resource limits and no ambient filesystem, network, or process access. It is not CPython: arbitrary imports, third-party packages, and some Python features are unavailable. Full CPython 3.10+ requires explicit executor.pythonRuntime: "cpython" and runs trusted native code with full OS privileges outside schema enforce, like TypeScript's Node/Bun escape hatches. CPython enforcement additionally requires macOS sandbox-exec or Linux bwrap, failing closed without isolation. Missing Monty dependencies never trigger a native fallback. executor.runtime only affects TypeScript. See the kernel guide.
Pi's native MCP can optionally supply selected servers beneath the same Fabric API: set mcp.nativeServers to exact server names already configured in Pi. Other servers stay on mcporter; failed native calls never switch transports. See MCP ownership and compatibility.
Install…
Description from the npm listing.
- pi-package
- pi-extension
- codemode
- mcp
- agents
- actors
- steering
- mesh
- swarm
- workflows
- rlm
- orchestration
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (1)Similar npm MCP servers plugins
All 20 pi-fabric alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/pi-fabric. First seen Oct 21, 2026; last successful collection Oct 21, 2026. See the methodology.