Vibeleaderboard
Index / tool
Visit github.com
Category
AI Agents
Rank
No. 838Tools index
Pricing
Open Source
Platform
cli
Type
TOOL
Builder
@wevm
GitHub
601 stars
Latest release
incur@0.5.1
Added
Mar 4, 2026

About

A CLI framework designed specifically for both AI agents and humans, with built-in agent discovery, token-efficient output formats, and automatic integration with Skills and MCP systems.

What it does

Incur lets TypeScript developers define commands from Zod schemas, handlers, nested groups, Fetch-compatible servers, OpenAPI documents, or remote MCP tools. One command tree can run in a terminal, answer HTTP requests, or expose MCP tools. It also formats structured results, generates help and schemas, filters large responses, and supports token-based output pagination.

Why it's ranked here

The strongest case is architectural reuse. A single typed command definition can serve terminal users, HTTP clients, and MCP clients, while OpenAPI and remote MCP sources can become ordinary subcommands. Built-in schemas, structured errors, completion scripts, output filtering, and multiple serialization formats cover work that CLI projects usually assemble from separate packages. The Node requirement and broad feature surface narrow its appeal for small or older projects.

What's good

Zod definitions drive argument parsing, option validation, help text, JSON Schema, generated skill documentation, and inferred handler types. Fetch-compatible applications can be mounted behind curl-style flags, while command trees can also become Fetch handlers. MCP supports direct or progressive tool discovery, structured output when schemas exist, streaming progress notifications, tool annotations, and command suggestions. Standalone updates verify SHA-256 digests and validate the downloaded executable before replacement.

Tradeoffs

The package requires Node 22 or newer, which excludes older supported runtimes. Its adapters cover many boundaries, but adopting them ties command structure, validation, formatting, HTTP translation, MCP exposure, documentation generation, and binary updates to one framework. Fetch-backed command parsing reserves specific curl-style flags and treats other long flags as query parameters. The standalone updater targets public GitHub Releases and requires digest-bearing assets. Claims about reduced token use appear in the documentation, but the supplied repository text does not include the supporting benchmark.

How to use it well

Use Incur when a TypeScript team wants one schema-driven command model shared across shell automation, agent tools, and HTTP entry points. It fits internal developer tools, API wrappers, and products whose commands need structured output, discovery metadata, filtering, and standalone distribution. Start with explicit input and output schemas, then add MCP or Fetch exposure where the same operation genuinely needs another interface. It does not replace the HTTP framework or remote service being wrapped.

Technical notes+

package.json defines an ESM npm package, requires Node >=22, exports source through src/index.ts, and declares Zod, TOON, YAML, token counting, JSON Schema, and MCP dependencies. src/Cli.ts contains the generic command tree, middleware registration, Fetch routing, serving, built-ins, and output controls. src/Mcp.ts lazily imports the MCP server, supports stdio transport, progressive discovery, direct exposure, structured content, annotations, and streaming notifications. src/Fetch.ts translates curl-style arguments into Web Request objects and parses JSON, text, and NDJSON responses. src/Skill.ts generates compact manifests and split Markdown skill content from command schemas. src/bin.ts provides binary building and type generation commands. src/Binary.ts implements GitHub Releases selection, SHA-256 verification, staged validation, and platform-specific replacement.

Observed

License
MIT
Primary language
TypeScript
Packaging
ESM npm package installable with npm, pnpm, or Bun
Runtime requirement
Node.js 22 or newer
Interfaces
CLI framework and library with Fetch API and MCP server surfaces
Output formats
TOON, JSON, YAML, Markdown, and JSONL
Standalone platforms
macOS, Linux, and Windows executables

Read from README.md, package.json, src/Cli.ts, src/index.ts, src/Mcp.ts, src/bin.ts, src/Help.ts, src/Fetch.ts, src/Skill.ts, src/Binary.ts, src/Errors.ts, src/Filter.ts.

What it can do

  • Discover and connect to AI agents

    Agent search criteria or identifiersList of available AI agents with connection details

  • Synchronize with Skills systems

    Skills system configurationIntegrated skill capabilities and functions

  • Synchronize with MCP (Model Context Protocol) systems

    MCP system endpoints and credentialsConnected MCP services and context data

  • Optimize command output for token efficiency

    CLI commands and responsesToken-optimized output with up to 3x fewer tokens

  • Generate TOON format output for agent parsing

    Raw command results or dataTOON-formatted text optimized for AI agent consumption

  • Create interactive call-to-action prompts

    User commands or agent interactionsInteractive prompts with actionable options

  • Save and manage CLI sessions

    Command history and session dataPersistent session files with reduced token usage

Tags

cliframeworkai-agentsmcpskillstypescriptdevelopersautomation

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Indexed by a proprietary survey. Corrections welcome.