About

What agntn is

Agnostic TypeScript libraries, one per domain, that give an AI agent and a human the same interface over many providers.

agntn is a GitHub organization and an npm scope. Every @agntn/* package takes one domain, web search, package registries, git forges, blockchain keys, and puts one TypeScript interface in front of every provider in it.

The word that matters is agnostic. A library doesn't care which search engine, which registry or which forge answers. It also doesn't care whether the caller is a person at a terminal or a model inside an agent host. Both get the same shape back.

Why one interface

Every provider has its own idea of a request. A different header for the key, a different way to page, a different name for the same field. An agent that wants to search the web shouldn't need to know that Brave wants X-Subscription-Token and Exa wants x-api-key. The adapter knows. You write create("brave") or create("exa") and read the same SearchResult.

The second reason is evidence. When a library asks several providers at once it keeps every record, remembers who returned it and says which provider failed and why. An agent can reason about that. A silent fallback hides it, and then you're debugging an answer that came from nowhere.

What every library ships

Listsurfacesone set of executors
Library
ESM, strict TypeScript, typed errors.
CLI
Same calls from a shell, --json for scripts.
AI SDK
Vercel AI SDK tools from the /ai subpath.
MCP
One server over stdio for every host.
Pi
Extension shipped inside the package.
OMP
Same executors, OMP packaging.
Written once / called from every host

The tool executors are written once. CLI, MCP server, the Vercel AI SDK tool and the Pi and OMP extensions all call the same functions and print the same answer. A human at a shell and a model in a harness see the same data. Surfaces shows how that's wired.

Where to go next

  • Libraries: the catalogue, by domain, with status and links.
  • The shape: registry, adapters, typed errors and the normalized types.
  • Conventions: stack, scripts and release flow every repo shares.
  • Security: provider output is data, keys stay in env, no prompt in a result.