Skip to content

How Convex’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 Score31/100

Agent-ready 50.9 × 0.30 = 15.27

API quality 11.4 × 0.20 = 2.28

Openness 55.0 × 0.20 = 11.00

Built-in AI 8.0 × 0.15 = 1.20

Automation 6.0 × 0.15 = 0.90

(15.27 + 2.28 + 11.00 + 1.20 + 0.90) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 30.65 ÷ 1.00 = 30.7

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-ready50.9/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.convex.dev/llms.txtPROBE llms.txt: HTTP 200 at https://docs.convex.dev/llms.txt # Convex Documentation > For general information about Convex, read [https://www.convex.dev/llms.txt](https://www.conve
  • [claimed-docs] https://www.convex.devMake your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
  • [probe] https://docs.convex.dev/home.mdPROBE docs-md: HTTP 404 at https://docs.convex.dev/home.md

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.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex import` — Import data from a file to your deployment
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex logs` — Watch logs from your deployment
  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
  • [github] https://github.com/get-convex/convex-backendSelf-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
  • [probe] https://docs.convex.dev/cli/overviewofficial CLI documented at https://docs.convex.dev/cli/overview

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

  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [probe] https://docs.convex.dev/ai/convex-mcp-serverofficial MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.

Connect an agent via an official MCP serverweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.
  • [probe] https://docs.convex.dev/ai/convex-mcp-serverofficial MCP server documented at https://docs.convex.dev/ai/convex-mcp-server

Use an official CLIweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.convex.dev/cli/overviewWatches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
  • [claimed-docs] https://docs.convex.dev/cli/overviewWatches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated types in convex/_generated are updated.
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex import` — Import data from a file to your deployment
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex insights` — Show health insights for your deployment
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex logs` — Watch logs from your deployment
  • [claimed-docs] https://www.convex.devMake your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
  • [probe] https://docs.convex.dev/cli/overviewofficial CLI documented at https://docs.convex.dev/cli/overview

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.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.
  • [probe] https://docs.convex.dev/cli/overviewofficial CLI documented at https://docs.convex.dev/cli/overview
  • [probe] https://docs.convex.dev/ai/convex-mcp-serverofficial MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
  • [probe] https://docs.convex.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.

Build against official SDKsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.convex.dev/homeUsing your favorite frameworks: * React * Next.js * Remix * TanStack Start * React Native * Vue * Nuxt * Svelte
  • [claimed-docs] https://www.convex.devStart a new Convex project![...]`npm create convex@latest`
  • [claimed-docs] https://docs.convex.dev/cli/overviewWatches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated types in convex/_generated are updated.
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://www.convex.devMake your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
  • [probe] https://docs.convex.dev/ai/convex-mcp-serverofficial MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
  • [probe] https://docs.convex.dev/cli/overviewofficial CLI documented at https://docs.convex.dev/cli/overview

Subscribe to events via webhooksweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.

Agent-ready = 106.8 ÷ 210 × 100 = 50.9

API quality11.4/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

  • [probe] https://docs.convex.dev/home.mdPROBE docs-md: HTTP 404 at https://docs.convex.dev/home.md
  • [probe] https://docs.convex.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)
  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.

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://docs.convex.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)
  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 8 (quality) × 1.0 (full) = 8.0 of 10 max

  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://docs.convex.dev/cli/overviewWatches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.

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.convex.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)

API quality = 8.0 ÷ 70 × 100 = 11.4

Openness55.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) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex import` — Import data from a file to your deployment
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex insights` — Show health insights for your deployment
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex logs` — Watch logs from your deployment
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [probe] https://docs.convex.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)
  • [probe] https://docs.convex.dev/cli/overviewofficial CLI documented at https://docs.convex.dev/cli/overview

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://docs.convex.dev/self-hostingyou can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date code the cloud service uses.
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex import` — Import data from a file to your deployment
  • [github] https://github.com/get-convex/convex-backendSelf-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.

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://docs.convex.dev/self-hostingyou can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date code the cloud service uses.
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date code the cloud service uses.
  • [github] https://github.com/get-convex/convex-backendSelf-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
  • [claimed-docs] https://www.convex.devConvex Components are sandboxed, open-source building blocks for your app. They let you add complex functionality to your app without implementing everything from scratch.

Self-host the core productweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://docs.convex.dev/self-hostingyou can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date code the cloud service uses.
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date code the cloud service uses.
  • [claimed-docs] https://docs.convex.dev/self-hostingIf you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend
  • [github] https://github.com/get-convex/convex-backendSelf-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.

Openness = 55.0 ÷ 100 × 100 = 55.0

Built-in AI8.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

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex insights` — Show health insights for your deployment
  • [claimed-docs] https://docs.convex.dev/search/vector-searchVector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powered applications
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.

Set up automations that run autonomously in the backgroundweight 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

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://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://docs.convex.dev/homeConvex works great with coding agents. Starting a new project is as easy as asking your agent to create a new app with Convex.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.

Operate the product with natural-language commandsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://www.convex.devMake your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
  • [claimed-docs] https://docs.convex.dev/homeConvex works great with coding agents. Starting a new project is as easy as asking your agent to create a new app with Convex.
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverBy default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.
  • [probe] https://docs.convex.dev/ai/convex-mcp-serverofficial MCP server documented at https://docs.convex.dev/ai/convex-mcp-server

Built-in AI = 7.2 ÷ 90 × 100 = 8.0

Automation6.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) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex import` — Import data from a file to your deployment
  • [claimed-docs] https://docs.convex.dev/ai/convex-mcp-serverThe Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [community] https://hn.algolia.com/api/v1/items/31831623Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side due to a subsequent mutation... a query function containing multiple reads, relatively-arbitrary compute, etc.'
  • [community] https://hn.algolia.com/api/v1/items/31831623Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change... since we fully sandbox and determinize these javascript queries, the majority of the cost is in accessing the database.'
  • [community] https://hn.algolia.com/api/v1/items/31831623Convex engineer (james_cowling) on query invalidation: 'We track the readset for any active subscription. When a new write transaction commits we compare the writeset... there are false-positives here... but this is not a significant issue in practice.'
  • [claimed-docs] https://docs.convex.dev/http-api/The public functions that define a deployment are exposed at public HTTP endpoints.
  • [claimed-docs] https://docs.convex.dev/http-api/These HTTP endpoints allow you to call Convex functions and get the result as a value.

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.convex.dev/cli/overviewWatches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
  • [claimed-docs] https://docs.convex.dev/cli/overviewWatches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated types in convex/_generated are updated.
  • [claimed-docs] https://docs.convex.dev/cli/overviewnpx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex insights` — Show health insights for your deployment
  • [claimed-docs] https://docs.convex.dev/cli/overview`npx convex logs` — Watch logs from your deployment

Automation = 4.8 ÷ 80 × 100 = 6.0