How Omnara’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score41/100
Agent-ready 45.4 × 0.30 = 13.62
API quality 38.0 × 0.20 = 7.60
Openness 63.0 × 0.20 = 12.60
Built-in AI 50.2 × 0.15 = 7.53
Automation 0.0 × 0.15 = 0.00
(13.62 + 7.60 + 12.60 + 7.53 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 41.35 ÷ 1.00 = 41.4
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready45.4/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [probe] https://docs.omnara.com/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.omnara.com/llms.txt # Omnara - [Introduction](https://docs.omnara.com/introduction.md): The API for Production-Grade Agents - [Quickstart](”
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [probe] https://docs.omnara.com/quickstart“official CLI documented at https://docs.omnara.com/quickstart”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [github] https://github.com/omnara-ai/omnara“Assign organization and project roles to users and API keys. Separate who can manage access, configure agents, operate them, or only view them.”
- [github] https://github.com/omnara-ai/omnara“Self-hosted deployments can query agent history directly in Postgres for analytics, evals, prompt analysis, and training datasets.”
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [probe] https://docs.omnara.com/quickstart“official CLI documented at https://docs.omnara.com/quickstart”
Plug MCP servers into this product so it can use their toolsweight 3
3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max
- [claimed-docs] https://docs.omnara.com/changelog“Connect MCP servers to give them access to your services and data, or add custom tools for actions in your own application.”
Connect an agent via an official MCP serverweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://docs.omnara.com/changelog“Connect MCP servers to give them access to your services and data, or add custom tools for actions in your own application.”
Use an official CLIweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [probe] https://docs.omnara.com/quickstart“official CLI documented at https://docs.omnara.com/quickstart”
Drive the product through a documented public APIweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [probe] https://docs.omnara.com/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.omnara.com/llms.txt # Omnara - [Introduction](https://docs.omnara.com/introduction.md): The API for Production-Grade Agents - [Quickstart](”
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [probe] https://docs.omnara.com/quickstart“official CLI documented at https://docs.omnara.com/quickstart”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [github] https://github.com/omnara-ai/omnara“Assign organization and project roles to users and API keys. Separate who can manage access, configure agents, operate them, or only view them.”
Build against official SDKsweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [probe] https://docs.omnara.com/quickstart“official CLI documented at https://docs.omnara.com/quickstart”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Agent-ready = 95.4 ÷ 210 × 100 = 45.4
API quality38.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [probe] https://docs.omnara.com/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.omnara.com/llms.txt # Omnara - [Introduction](https://docs.omnara.com/introduction.md): The API for Production-Grade Agents - [Quickstart](”
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [probe] https://docs.omnara.com/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.omnara.com/llms.txt # Omnara - [Introduction](https://docs.omnara.com/introduction.md): The API for Production-Grade Agents - [Quickstart](”
Test against a sandbox environment without touching production dataweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
API quality = 22.8 ÷ 60 × 100 = 38.0
Openness63.0/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [probe] https://docs.omnara.com/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.omnara.com/llms.txt # Omnara - [Introduction](https://docs.omnara.com/introduction.md): The API for Production-Grade Agents - [Quickstart](”
- [probe] https://docs.omnara.com/openapi.json“PROBE openapi: HTTP 200 at https://docs.omnara.com/openapi.json — contains "openapi" key”
- [github] https://github.com/omnara-ai/omnara“Assign organization and project roles to users and API keys. Separate who can manage access, configure agents, operate them, or only view them.”
Export all of my data in open formats and leaveweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://omnara.com“Omnara — The open-source alternative to Claude Managed Agents”
- [claimed-docs] https://omnara.com/pricing“Free to self-host and build on. Open source under Apache 2.0.”
- [github] https://github.com/omnara-ai/omnara“Self-hosted deployments can query agent history directly in Postgres for analytics, evals, prompt analysis, and training datasets.”
Read the product's source under an open licenseweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://omnara.com“Omnara — The open-source alternative to Claude Managed Agents”
- [claimed-docs] https://omnara.com/pricing“Free to self-host and build on. Open source under Apache 2.0.”
- [github] https://github.com/omnara-ai/omnara“Assign organization and project roles to users and API keys. Separate who can manage access, configure agents, operate them, or only view them.”
- [github] https://github.com/omnara-ai/omnara“Self-hosted deployments can query agent history directly in Postgres for analytics, evals, prompt analysis, and training datasets.”
Self-host the core productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://omnara.com“Omnara — The open-source alternative to Claude Managed Agents”
- [claimed-docs] https://omnara.com/pricing“Free to self-host and build on. Open source under Apache 2.0.”
- [github] https://github.com/omnara-ai/omnara“Assign organization and project roles to users and API keys. Separate who can manage access, configure agents, operate them, or only view them.”
- [github] https://github.com/omnara-ai/omnara“Self-hosted deployments can query agent history directly in Postgres for analytics, evals, prompt analysis, and training datasets.”
Openness = 63.0 ÷ 100 × 100 = 63.0
Built-in AI50.2/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [github] https://github.com/omnara-ai/omnara“Self-hosted deployments can query agent history directly in Postgres for analytics, evals, prompt analysis, and training datasets.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [claimed-docs] https://docs.omnara.com/changelog“Agents keep their conversation history across crashes, restarts, and machine disconnects, so work can resume without starting a new conversation.”
- [claimed-docs] https://docs.omnara.com/changelog“Follow an agent’s progress live, send a correction while it’s working, or queue up its next task.”
- [claimed-docs] https://docs.omnara.com/changelog“You can decide which actions need approval, and agents can pause to ask questions when they need your input.”
- [claimed-docs] https://docs.omnara.com/changelog“or a machine you connect, such as a laptop or server”
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
- [claimed-docs] https://docs.omnara.com/changelog“Use models from OpenAI, Anthropic, OpenRouter, or Amazon Bedrock, or connect a compatible model you host yourself.”
- [claimed-docs] https://docs.omnara.com/changelog“Follow an agent’s progress live, send a correction while it’s working, or queue up its next task.”
- [claimed-docs] https://docs.omnara.com/changelog“You can decide which actions need approval, and agents can pause to ask questions when they need your input.”
- [community] https://news.ycombinator.com/item?id=44878650“For the skeptics: using Claude Code from your phone is kind of great. Think this sort of solution is excellent once you've figured out a good workflow.”
- [community] https://news.ycombinator.com/item?id=44878650“Ok now this is genius, and how I've wanted AI agents to work for a while now. Gonna try this out!”
- [community] https://news.ycombinator.com/item?id=46991591“There's a lot of negative feedback in this thread, so let me say I'm really excited to try this!... Omnara looks much more configurable and thought out... Your demo looks like it nails it - I'm excited to try!”
Operate the product with natural-language commandsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://docs.omnara.com/changelog“Follow an agent’s progress live, send a correction while it’s working, or queue up its next task.”
- [claimed-docs] https://docs.omnara.com/changelog“You can decide which actions need approval, and agents can pause to ask questions when they need your input.”
- [claimed-docs] https://docs.omnara.com/changelog“You can also attach images and documents to a conversation.”
- [claimed-docs] https://docs.omnara.com/quickstart.md“Launch your first agent with Omnara via the dashboard, or programmatically with the CLI, the REST API, or the TypeScript SDK.”
Built-in AI = 45.2 ÷ 90 × 100 = 50.2
Automation0.0/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Version, review, and roll back my automationsweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
- [claimed-docs] https://docs.omnara.com“An agent starts as a small YAML config”
- [claimed-docs] https://docs.omnara.com/changelog“Agents keep their conversation history across crashes, restarts, and machine disconnects, so work can resume without starting a new conversation.”
- [claimed-docs] https://docs.omnara.com/changelog“You can decide which actions need approval, and agents can pause to ask questions when they need your input.”
Automation = 0.0 ÷ 80 × 100 = 0.0