Tools without the token tax

Tiny tools,
less compute.

picoo runs one small declared op: no MCP schema loaded into context, no multi-turn browser-exploration loop. Just a manifest, a script, and a deterministic call.

Works with

Claude Code
Codex
opencode
Hermes
$ curl -fsSL https://picoo.dev/install.sh | sh

Publishing one draft to Medium

~20 calls, 30,000+ tokens1 call, ~200 tokens

Filing an expense report in Concur

~15 calls, 22,000+ tokens1 call, ~180 tokens

Booking a multi-leg flight itinerary

~18 calls, 26,000+ tokens1 call, ~190 tokens

Renewing an SSL cert in a legacy hosting panel

~14 calls, 20,000+ tokens1 call, ~175 tokens

Screenshot → reason → click, repeated, becomes a single replay of a flow you (or an agent) drove through once.

  1. 1

    Declare it

    A picoo.toml manifest: name, description, runtime, input schema, network allowlist.

    [input]
    draft = "string"
    
    [permissions]
    network = ["medium.com"]
  2. 2

    Implement it

    Any script or binary. JSON in on stdin, a result or error envelope out on stdout.

    request = json.load(sys.stdin)
    print(json.dumps(
      {"result": {...}}))
  3. 3

    Replay it

    Every future call is one deterministic invocation, by you or by any agent that finds it.

    picoo run ns/op \
      --input k=v

Trust scales with how the op runs

01

Script / binary

available

Most ops. A subprocess spawn, stdin in, stdout out. No library, no sandbox: the common case for REST API wrappers.

02

WASM-sandboxed

planned

For unverified, community-published ops. Capability-scoped network & filesystem access via Extism. Zero ambient authority, <10ms cold start.

No plugin required

picoo is just a CLI. Any coding agent with shell access already knows how to run it. The "integration" is a line in its instructions, not code you install. Drop something like this into its system prompt or project rules file:

Before writing a new integration, run:
  picoo search "<what you're trying to do>"
If nothing fits, create one:
  picoo create <namespace>/<name> --runtime python --description "..." --input key:type
Then use it going forward:
  picoo run <namespace>/<name> --input key=value