Monid's README contains a line about billing that I would want every agent tool platform to copy: a vendor error, an unmatched company or an unresolved person each completes as data and settles at zero. Usage is settled on the raw response envelope, before any output mapping, so what is billed is what came back over the wire. For an agent that spends money on API calls by itself, I think that rule matters more than the size of the catalog.
Monid describes itself as "OpenRouter, but for agent tools." One base URL and one key let an agent reach, in its words, 2,000+ tools across 72+ providers, covering web search and scraping, people and company enrichment, social platforms, reviews and market data, and video, image and voice generation. This repository is the connector layer: the framework every endpoint is described in. It is MIT licensed.
Three verbs, two of them free
The README says an agent uses Monid through three verbs, and the first two are free. An accompanying diagram names them: discover and inspect are free, and run is billed per use.
discover ranks the whole catalog by what the job is, across every provider at once. It returns each candidate with its price, live health and observed p50 and p95 latency, plus hints naming a cheaper or better-fitting endpoint. The README's argument is that the API should be chosen at call time against everything available, not pinned in code months earlier to whichever vendor got integrated first.
That makes the endpoint descriptions important, and the README says: write meta.description like it is the product, because to an agent it is. It is the text discover ranks and inspect returns. The example TinyFish search endpoint ends its description by telling the agent to pipe result URLs into a different endpoint when it needs full text.
A declarative connector
A connector describes a provider and its endpoints. A provider declares identity, auth and how usage is counted, such as a flat charge per call, a charge per returned result, or a rate per unit like a thousand characters or a second of video. An endpoint declares the request, its input schema and its timeouts. The README calls that the whole contract: no client, no adaptor, no per-provider execution path. Providers that sell a durable owned thing, such as phone numbers, can also declare a resource.
Because it is declarative, the README suggests letting a coding agent write it. AGENT.md is the brief to hand the agent, with your API docs and connectors/exa/ as the worked example. Apify actors get a scaffold command that generates input schemas from the actor's published schema. Adding a provider ends with a pull request and an email to the team, and the README says they review every connector by hand.
Tests replay from recorded fixtures, so CI needs no vendor keys. deno task check && deno task test runs types and 188 replay tests with zero network, and live tests run only when a provider's credentials are present.
Where credentials live
The engine section explains how functions and credentials are isolated. Functions in a definition are replaced by content-hash references, and the README says the hash doubles as a tamper check. Each endpoint runs from a sealed unit: its document plus only the functions it references, with nothing else in scope.
The same artifact runs locally with your own vendor key, in CI against fixtures, and on the hosted platform, where the README says credentials are injected inside the transport and never enter the engine process. The pipeline validates input against the compiled schema, builds the request with auth still unexecuted, injects credentials in the transport, settles usage on the raw envelope, then maps and validates output against the declared contract.
What to weigh
One line in the README I would not follow blindly. It tells AI agents to fetch https://monid.ai/SKILL.md and save it to their skill directory, adding "It does the rest." Pulling instructions from a remote URL into an agent's skill folder is a trust decision, so read that file yourself before letting an agent install it.
For evaluating the connector layer itself, the quickstart needs Deno 2.x. Clone it, run the replay tests, and browse the catalog with deno task catalog providers and deno task catalog inspect 'exa#search'. The openspec/ folder holds the decision record behind the design.
GitHub: https://github.com/monid-ai/monid
Curated by Agent Palisade — practical AI for small and mid-sized businesses.
Top comments (0)