How Ollama’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 Score22/100
Agent-ready 42.2 × 0.30 = 12.66
API quality 0.0 × 0.20 = 0.00
Openness 38.7 × 0.20 = 7.74
Built-in AI 12.0 × 0.15 = 1.80
Automation 0.0 × 0.15 = 0.00
(12.66 + 0.00 + 7.74 + 1.80 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 22.20 ÷ 1.00 = 22.2
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-ready42.2/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://ollama.com/llms.txt“PROBE llms.txt: HTTP 200 at https://ollama.com/llms.txt # Ollama > Ollama is the easiest way to run open AI models locally or in the cloud, with a simple API and 40,000+ integ”
- [probe] https://ollama.com/docs.md“PROBE docs-md: HTTP 404 at https://ollama.com/docs.md”
- [probe] https://ollama.com/openapi.json“PROBE openapi: all candidate paths 404 (https://ollama.com/openapi.json, https://ollama.com/swagger.json, https://ollama.com/api/openapi.json, https://ollama.com/.well-known/openapi.json)”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com/docs“Learn the local and cloud base URLs, then send a request with curl.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from Python.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from JavaScript or TypeScript.”
- [community] https://news.ycombinator.com/item?id=47788385“The biggest advantage for me with ollama is the ability to 'hotswap' models with different utility instead of restarting the server, combined with simple 'ollama pull model'—very convenient for a discord bot with different models per feature.”
Plug MCP servers into this product so it can use their toolsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com“Ollama lets you use open models with your coding agents so you can spend less while keeping your data private.”
- [claimed-docs] https://ollama.com“Launch Claude Code, Codex, and more with one command.”
Connect an agent via an official MCP serverweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com“Launch Claude Code, Codex, and more with one command.”
Use an official CLIweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://ollama.com“Launch Claude Code, Codex, and more with one command.”
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [community] https://news.ycombinator.com/item?id=47788385“The biggest advantage for me with ollama is the ability to 'hotswap' models with different utility instead of restarting the server, combined with simple 'ollama pull model'—very convenient for a discord bot with different models per feature.”
- [community] https://news.ycombinator.com/item?id=47788385“I prefer Ollama over the suggested alternatives. A new model on HF or Ollama registry? One 'ollama pull' and it's available. Underwhelming? 'ollama rm'.”
- [community] https://news.ycombinator.com/item?id=47788385“No mention of the fact that Ollama is about 1000x easier to use. Llama.cpp is a great project but one of the least user friendly pieces of software I've used.”
Drive the product through a documented public APIweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com/docs“Learn the local and cloud base URLs, then send a request with curl.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from Python.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from JavaScript or TypeScript.”
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [probe] https://ollama.com/llms.txt“PROBE llms.txt: HTTP 200 at https://ollama.com/llms.txt # Ollama > Ollama is the easiest way to run open AI models locally or in the cloud, with a simple API and 40,000+ integ”
- [probe] https://ollama.com/openapi.json“PROBE openapi: all candidate paths 404 (https://ollama.com/openapi.json, https://ollama.com/swagger.json, https://ollama.com/api/openapi.json, https://ollama.com/.well-known/openapi.json)”
Issue scoped/least-privilege API credentials for an agentweight 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
Build against official SDKsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://ollama.com/docs“Use Ollama from Python.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from JavaScript or TypeScript.”
- [claimed-docs] https://ollama.com/docs“Learn the local and cloud base URLs, then send a request with curl.”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
Connect a coding agent to this product as a working backendweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://ollama.com“Ollama lets you use open models with your coding agents so you can spend less while keeping your data private.”
- [claimed-docs] https://ollama.com“Launch Claude Code, Codex, and more with one command.”
- [claimed-docs] https://ollama.com“Dedicated capacity so throughput holds up when you are running several agents at once.”
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
Agent-ready = 101.2 ÷ 240 × 100 = 42.2
API quality0.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) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com/docs“Learn the local and cloud base URLs, then send a request with curl.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from Python.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from JavaScript or TypeScript.”
- [probe] https://ollama.com/docs.md“PROBE docs-md: HTTP 404 at https://ollama.com/docs.md”
- [probe] https://ollama.com/openapi.json“PROBE openapi: all candidate paths 404 (https://ollama.com/openapi.json, https://ollama.com/swagger.json, https://ollama.com/api/openapi.json, https://ollama.com/.well-known/openapi.json)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://ollama.com/openapi.json“PROBE openapi: all candidate paths 404 (https://ollama.com/openapi.json, https://ollama.com/swagger.json, https://ollama.com/api/openapi.json, https://ollama.com/.well-known/openapi.json)”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com/docs“Learn the local and cloud base URLs, then send a request with curl.”
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
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [probe] https://ollama.com/openapi.json“PROBE openapi: all candidate paths 404 (https://ollama.com/openapi.json, https://ollama.com/swagger.json, https://ollama.com/api/openapi.json, https://ollama.com/.well-known/openapi.json)”
- [probe] https://ollama.com/docs.md“PROBE docs-md: HTTP 404 at https://ollama.com/docs.md”
API quality = 0.0 ÷ 60 × 100 = 0.0
Openness38.7/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) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [claimed-docs] https://ollama.com/docs“Learn the local and cloud base URLs, then send a request with curl.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from Python.”
- [claimed-docs] https://ollama.com/docs“Use Ollama from JavaScript or TypeScript.”
- [probe] https://ollama.com/openapi.json“PROBE openapi: all candidate paths 404 (https://ollama.com/openapi.json, https://ollama.com/swagger.json, https://ollama.com/api/openapi.json, https://ollama.com/.well-known/openapi.json)”
Export all of my data in open formats and leaveweight 3
3 (weight) × 3 (quality) × 0.3 (disputed) = 2.7 of 30 max
- [claimed-docs] https://ollama.com“Nothing you run locally ever leaves your machine.”
- [claimed-docs] https://ollama.com“Your prompts are never tracked or trained on.”
- [community] https://news.ycombinator.com/item?id=47788385“Claims Ollama creates lock-in via a proprietary model registry format with hashed filenames that don't work with other tools, and minimizes attribution to llama.cpp.”
Read the product's source under an open licenseweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [community] https://news.ycombinator.com/item?id=47788385“Claims Ollama creates lock-in via a proprietary model registry format with hashed filenames that don't work with other tools, and minimizes attribution to llama.cpp.”
- [community] https://news.ycombinator.com/item?id=39718558“There's a thing somewhat conspicuous in its absence - why isn't llama.cpp more directly credited and thanked for providing the base technology powering this tool? GPT4All and LM Studio both credit appropriately, Ollama seems to bend over backwards so they don't have to.”
Self-host the core productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://ollama.com“Nothing you run locally ever leaves your machine.”
- [claimed-docs] https://ollama.com“Your prompts are never tracked or trained on.”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
- [community] https://news.ycombinator.com/item?id=39718558“It's pretty funny to see this blog post, when I have been running Ollama on my AMD RX 6650 for weeks. They have shipped ROCm containers since 0.1.27.”
- [community] https://news.ycombinator.com/item?id=39718558“Ollama runs really, really slow on my MBP for Mistral - as in just a few tokens a second and it takes a long while before it starts giving a result... LM Studio does not have such issues.”
- [community] https://news.ycombinator.com/item?id=44739632“Ollama's new app is now available for macOS and Windows... linux sounds out for now. No Linux, that's a bummer. I've been using it in Linux for inference for ages.”
- [community] https://news.ycombinator.com/item?id=39125477“Ollama is definitely the easiest way to run LLMs locally... It's like how Docker made it so any application can execute something portably on any machine.”
Openness = 38.7 ÷ 100 × 100 = 38.7
Built-in AI12.0/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
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
Set up automations that run autonomously in the backgroundweight 2
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
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://ollama.com“Ollama lets you use open models with your coding agents so you can spend less while keeping your data private.”
- [claimed-docs] https://ollama.com“Launch Claude Code, Codex, and more with one command.”
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [github] https://github.com/ollama/ollama“Use OpenClaw to turn Ollama into a personal AI assistant across WhatsApp, Telegram, Slack, Discord, and more”
Operate the product with natural-language commandsweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://ollama.com“Ollama lets you use open models with your coding agents so you can spend less while keeping your data private.”
- [claimed-docs] https://ollama.com“Launch Claude Code, Codex, and more with one command.”
- [github] https://github.com/ollama/ollama“connect Ollama to your existing agents or applications such as `Claude Code`, `OpenClaw`, `OpenCode` , `Codex`, `Copilot`, and more.”
- [github] https://github.com/ollama/ollama“Use OpenClaw to turn Ollama into a personal AI assistant across WhatsApp, Telegram, Slack, Discord, and more”
- [github] https://github.com/ollama/ollama“Ollama has a REST API for running and managing models.”
Built-in AI = 6.0 ÷ 50 × 100 = 12.0
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
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
Schedule recurring jobs or workflowsweight 2
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
Version, review, and roll back my automationsweight 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
Automation = 0.0 ÷ 20 × 100 = 0.0