HonestClaw · What is Agent Readiness? · How we score

primitive.dev — Agent Readiness Score 73/100

Strong. Agents can discover and use most of this site unaided.

HonestClaw measured initial public content available from primitive.dev to an identified HTTP agent, without browser rendering or login, across 9 dimensions and 42 automated checks. This does not measure access from another agent provider's infrastructure. Score: 73/100 (Strong).

Scanned · scanner v1.68.0 · 42 of 42 checks conclusive.

Dimensions

Checks

At a glance

All 8 scored areas have measured gaps. Identity & safeguards is furthest along; Reliability & recovery has the largest measured point gap.

Needs a fix
11
conclusive findings
Furthest along
10.4/11 pts
Identity & safeguards
Largest measured gap
12.7 pts
Reliability & recovery · 15.6/28.2 pts
Conclusive results
42 conclusive
No unverified checks

89 additional observations provide context and do not affect the score.

Discovery

6.4/14 ptsCan agents find the right entry points? · 7 conclusive · 8 additional

Reachable entry points

DNS-AID

0/3 ptsNot detected
What we found

No DNS-AID index found at _index._agents.primitive.dev.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; interfaces when present

Clear entry points help agents find the intended site or interface. Multiple hostnames or directory formats may describe the same destination.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

No public evidence URL recorded for this check

Subdomain sweep

1/3 ptsParseable
What we found

An agent-relevant subdomain is live and serves its expected content kind (docs.primitive.dev).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; interfaces when present

Clear entry points help agents find the intended site or interface. Multiple hostnames or directory formats may describe the same destination.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

No public evidence URL recorded for this check

.well-known index

0/0.7 ptsNot detected
What we found

No non-owned /.well-known/ descriptors found.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; interfaces when present

Clear entry points help agents find the intended site or interface. Multiple hostnames or directory formats may describe the same destination.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

No public evidence URL recorded for this check

Canonical domain

2/2 ptsCross-verified
What we found

Root and www converge on www.primitive.dev, with a matching canonical tag.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; interfaces when present

Clear entry points help agents find the intended site or interface. Multiple hostnames or directory formats may describe the same destination.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

sitemap.xml

3/3 ptsCross-verified
What we found

https://www.primitive.dev/sitemap.xml is a dated sitemap whose URLs include docs/pricing/api surfaces.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; interfaces when present

Clear entry points help agents find the intended site or interface. Multiple hostnames or directory formats may describe the same destination.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

API catalog

0.3/0.3 ptsDetected
What we found

API Catalog found at https://primitive.dev/.well-known/api-catalog (application/linkset+json).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; interfaces when present

Clear entry points help agents find the intended site or interface. Multiple hostnames or directory formats may describe the same destination.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Attributable ecosystem discovery

MCP Registry listing

UnscoredObserved

Off-domain evidence

What we found

The official MCP Registry search returned 2 attributable listing(s): dev.primitive/email, io.github.writesdavid/open-primitive. Presence alone is capped at detected.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent rules repository

UnscoredNot observed

Off-domain evidence

What we found

The fetched GitHub agent-rules repository search page returned no listing attributable to the scanned company.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent plugins repository

UnscoredNot observed

Off-domain evidence

What we found

The fetched GitHub agent-plugin repository search page returned no listing attributable to the scanned company.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

skills.sh listing

UnscoredObserved

Off-domain evidence

What we found

skills.sh returned 4 listing(s) attributable to the company. Presence alone is capped at detected.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

skills.sh listing metadata

UnscoredObserved

Off-domain evidence

What we found

4 attributable skills.sh listing(s) expose a named source and install metadata. This records directory metadata, not a claim of editorial quality, and is capped at detected.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Registry branding

UnscoredObserved

Off-domain evidence

What we found

An attributable MCP Registry listing includes company-identifying description, website, or repository metadata. Presence alone is capped at detected.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

ChatGPT directory listing

UnscoredCould not verify

Off-domain evidence

What we found

ChatGPT directory lookup was blocked (HTTP 403). Listing unverified; absence was not inferred. This does not affect your score.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Only the relevant verified distribution surface

An attributable directory entry can help agents discover a supported interface. Popularity, company size and directory count do not establish that the interface works.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Commerce distribution

x402 Bazaar listing

UnscoredNot observed

Off-domain evidence

What we found

The fetched x402 Bazaar discovery search returned no listing attributable to the scanned company.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Payment-enabled products

A payment directory is useful context. Making it a general ARS requirement would indirectly score a business-model choice.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Access & rendering

9.5/11.9 ptsCan agents read the content? · 3 conclusive · 12 additional

Content available to the tested client

Raw content extractability

5.6/8 ptsUseful
What we found

Substantial visible text (28,054 chars) is readable without JavaScript on at least one probed page.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public pages; distinguish HTTP and browser clients

Critical content available in the response is a direct prerequisite for the tested client. An extraction ratio alone does not prove that the needed facts were captured.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Equivalent readable representations

Markdown twin

1/1.1 ptsParseable
What we found

A markdown twin is published at https://docs.primitive.dev/index.md alongside the docs HTML surface (https://docs.primitive.dev/).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Only representations the site offers; all sites can satisfy readable-content outcome with HTML

Headers, routes and frontmatter support one readable representation. Plain HTML must be able to receive full content-access credit.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent user-agent Markdown

UnscoredObserved
What we found

The transparent ClaudeBot-compatibility probe switched the page from HTML to a Markdown-structured text/markdown response without an Accept header.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only representations the site offers; all sites can satisfy readable-content outcome with HTML

Headers, routes and frontmatter support one readable representation. Plain HTML must be able to receive full content-access credit.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Markdown frontmatter

UnscoredObserved
What we found

A Markdown response contains agent-usable YAML frontmatter fields: title, description, canonical, last-updated.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only representations the site offers; all sites can satisfy readable-content outcome with HTML

Headers, routes and frontmatter support one readable representation. Plain HTML must be able to receive full content-access credit.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Direct Markdown URL

UnscoredObserved
What we found

A direct Markdown representation is available at https://docs.primitive.dev/docs.md.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only representations the site offers; all sites can satisfy readable-content outcome with HTML

Headers, routes and frontmatter support one readable representation. Plain HTML must be able to receive full content-access credit.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Markdown negotiation cache safety

UnscoredObserved
What we found

The page switches from HTML to Markdown for Accept: text/markdown and declares Vary: Accept.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only representations the site offers; all sites can satisfy readable-content outcome with HTML

Headers, routes and frontmatter support one readable representation. Plain HTML must be able to receive full content-access credit.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Observed client access

Agent crawler reachability

2.8/2.8 ptsUseful
What we found

9 of 9 completed identified HTTP probes returned substantive initial content across 3 sampled page(s). This is HonestClaw's network observation, not access from vendor infrastructure.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Up to three first-party pages; ChatGPT-User, Claude-User and Perplexity-User token markers on an explicitly identified HonestClaw client

One combined access contribution measures substantive initial content in completed identified HonestClaw HTTP probes. Refusals and incomplete observations remain unknown. This does not establish access from vendor infrastructure.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent bot-challenge handling

UnscoredObserved
What we found

9 of 9 completed identified HTTP probes returned substantive initial content across 3 sampled page(s). This is HonestClaw's network observation, not access from vendor infrastructure.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

The same named public HTTP sample and network vantage as the access check

Reuses the scored public HTTP sample to explain denials, challenges and degraded content. The same responses earn no second contribution.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Reachable critical content

Retrieval cost

Crawl-cost estimate

UnscoredObserved
What we found

A manageable sitemap (87 page URLs) helps agents estimate crawl cost.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Measured retrieval path

Tokens, bytes and elapsed time explain retrieval cost and tradeoffs. They are context and do not affect the readiness score.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Accessibility-tree operability signals

Accessible names

UnscoredCould not verify
What we found

Accessibility-tree probe unavailable (deep_scan_only): Accessibility-tree checks are deep-scan only to avoid always-on browser probe cost.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Deep scans with an available browser accessibility tree snapshot

Accessible names, form labels, document structure and native semantics are direct operability signals for agents acting through accessibility trees. The current reading is deep-scan gated and intentionally unweighted pending calibration.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Document structure

UnscoredCould not verify
What we found

Accessibility-tree probe unavailable (deep_scan_only): Accessibility-tree checks are deep-scan only to avoid always-on browser probe cost.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Deep scans with an available browser accessibility tree snapshot

Accessible names, form labels, document structure and native semantics are direct operability signals for agents acting through accessibility trees. The current reading is deep-scan gated and intentionally unweighted pending calibration.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Form labeling

UnscoredCould not verify
What we found

Accessibility-tree probe unavailable (deep_scan_only): Accessibility-tree checks are deep-scan only to avoid always-on browser probe cost.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Deep scans with an available browser accessibility tree snapshot

Accessible names, form labels, document structure and native semantics are direct operability signals for agents acting through accessibility trees. The current reading is deep-scan gated and intentionally unweighted pending calibration.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Native controls

UnscoredCould not verify
What we found

Accessibility-tree probe unavailable (deep_scan_only): Accessibility-tree checks are deep-scan only to avoid always-on browser probe cost.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Deep scans with an available browser accessibility tree snapshot

Accessible names, form labels, document structure and native semantics are direct operability signals for agents acting through accessibility trees. The current reading is deep-scan gated and intentionally unweighted pending calibration.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Permissions & policy

3.1/4 ptsWhat access does the publisher permit? · 2 conclusive · 4 additional

Clear and consistent publisher policy

robots.txt

2.1/3 ptsUseful
What we found

robots.txt at https://primitive.dev/robots.txt is valid and declares a Sitemap: reference.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Published policy for the relevant use: indexing, training or user retrieval

Different policy syntaxes and business permissions are not independent readiness capabilities. Blocking training should not imply that an agent cannot use a public API.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

AI bot rules

1/1 ptsCross-verified
What we found

Explicit access policy covers 3 of 3 user-directed tokens, including applicable wildcard rules. Allow and deny receive the same legibility credit. Training preferences receive no credit.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

ChatGPT-User, Claude-User and Perplexity-User access declarations

A small legibility contribution for explicit user-directed access rules, including wildcard defaults. Permission and denial earn equal legibility; training-only groups add no points.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Content signals

UnscoredObserved
What we found

robots.txt declares 3 recognized Content Signal(s) with a valid value: search, ai-input, ai-train.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Publisher-declared policy; no obligation to permit training, indexing or licensing

Published licensing, indexing and training preferences remain inspectable without separate readiness points. User-directed policy legibility is measured once; observed public HTTP access is separate.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

TDM reservation

UnscoredNot observed
What we found

No TDMRep policy found at /.well-known/tdmrep.json.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Publisher-declared policy; no obligation to permit training, indexing or licensing

Published licensing, indexing and training preferences remain inspectable without separate readiness points. User-directed policy legibility is measured once; observed public HTTP access is separate.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

RSL licensing

UnscoredNot observed
What we found

robots.txt is readable but declares no RSL License directive.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Publisher-declared policy; no obligation to permit training, indexing or licensing

Published licensing, indexing and training preferences remain inspectable without separate readiness points. User-directed policy legibility is measured once; observed public HTTP access is separate.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

ai.txt

UnscoredNot observed
What we found

No ai.txt file found (HTML pages at .txt paths do not qualify).

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Publisher-declared policy; no obligation to permit training, indexing or licensing

Published licensing, indexing and training preferences remain inspectable without separate readiness points. User-directed policy legibility is measured once; observed public HTTP access is separate.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Documentation & meaning

12.6/17 ptsCan agents understand the documentation? · 5 conclusive · 14 additional

Document freshness evidence

Freshness signals

1/3 ptsParseable
What we found

A single freshness signal is present (sitemap lastmod).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Resources whose currency can be assessed

A timestamp or ETag supports freshness provenance; it does not by itself prove factual accuracy or current behavior.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Usable API reference and examples

API reference depth

3.5/5 ptsUseful
What we found

The API reference at https://docs.primitive.dev/docs/graphql documents parameters with example requests and responses. To reach the top level, it would need request and response bodies, authentication, pagination, and error codes.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

A documented API or tool interface

Reference depth and valid fenced examples contribute to the same documentation outcome. Parsing an example is weaker than executing it successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Code fence validity

UnscoredCould not verify
What we found

2 discovered Markdown candidate(s) were omitted by the 14-candidate safety cap, so a complete fence audit was not possible.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

A documented API or tool interface

Reference depth and valid fenced examples contribute to the same documentation outcome. Parsing an example is weaker than executing it successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

No public evidence URL recorded for this check

Machine-readable facts

Machine-readable pricing

0/1 ptsNot detected
What we found

No machine-readable pricing endpoint found (HTML pricing pages do not qualify). Blocked by robots.txt for a generic compliant agent (Disallow: /api/).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Facts relevant to the product; pricing only when there is a price to disclose

Structured facts can help agents interpret a page. Markup volume and the number of schema types alone do not establish accuracy, consistency or task success.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

JSON-LD depth

UnscoredObserved
What we found

Observed 13 JSON-LD script(s); 13 parsed as JSON-LD objects.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Facts relevant to the product; pricing only when there is a price to disclose

Structured facts can help agents interpret a page. Markup volume and the number of schema types alone do not establish accuracy, consistency or task success.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

JSON-LD entity linking

UnscoredObserved
What we found

Observed 77 resolvable identifier(s) and 48 verified entity link(s).

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Facts relevant to the product; pricing only when there is a price to disclose

Structured facts can help agents interpret a page. Markup volume and the number of schema types alone do not establish accuracy, consistency or task success.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Schema.org type breadth

UnscoredObserved
What we found

Observed 22 Schema.org type(s): aggregateoffer, answer, audience, breadcrumblist, collectionpage, contactpoint, faqpage, itemlist, listitem, offer, organization, person, postaladdress, question, service, softwareapplication, softwaresourcecode, speakablespecification, techarticle, unitpricespecification, webpage, website; 13 meaningfully populated.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Facts relevant to the product; pricing only when there is a price to disclose

Structured facts can help agents interpret a page. Markup volume and the number of schema types alone do not establish accuracy, consistency or task success.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Usable documentation entry and references

llms-full.txt

3/3 ptsCross-verified
What we found

A comprehensive llms-full.txt is published at https://primitive.dev/.well-known/llms-full.txt with 356,788 chars across 297 sections.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public documentation; llms files optional

An index, full text and modular files offer different routes to documentation. Useful content and working references matter more than the number of formats.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

llms.txt

5/5 ptsCross-verified
What we found

A curated llms.txt index is published at https://www.primitive.dev/llms.txt: 90 links across 17 sections.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public documentation; llms files optional

An index, full text and modular files offer different routes to documentation. Useful content and working references matter more than the number of formats.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Scoped llms.txt indexes

UnscoredObserved
What we found

The scoped llms.txt lists links, but none remain inside its product-area path.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Public documentation; llms files optional

An index, full text and modular files offer different routes to documentation. Useful content and working references matter more than the number of formats.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Usable agent guidance

Agent Skills index v0.2

UnscoredObserved
What we found

All 2 v0.2.0 skill entries have typed URLs and SHA-256 digests.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only a declared agent-guide surface

Alternative guide files may help agents locate instructions; file presence is supporting evidence and must not be required in every format.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent discovery index

UnscoredObserved
What we found

The index lists 2 described skill(s) with a URL or published file list.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only a declared agent-guide surface

Alternative guide files may help agents locate instructions; file presence is supporting evidence and must not be required in every format.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent usage instructions

UnscoredObserved
What we found

The guidance says when to use the product and gives an actionable next step.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Only a declared agent-guide surface

Alternative guide files may help agents locate instructions; file presence is supporting evidence and must not be required in every format.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Explicit product purpose

Product purpose

UnscoredObserved
What we found

An explicit answer was detected in the bounded initial HTML sample. This is published source material, not a verified product claim.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

At most six first-party pages under the public HTTP profile; documented English extraction rules. Incomplete or unsupported-language absence is unknown.

A bounded, source-linked answer from non-rendered first-party HTML. It is published source material, not independently verified truth or agent comprehension. Scoring remains staged pending precision, language, overlap and weight calibration.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Explicit intended audience

Intended audience

UnscoredNot observed
What we found

No explicit answer matched the documented English extraction rules in the complete bounded initial HTML sample.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

At most six first-party pages under the public HTTP profile; documented English extraction rules. Incomplete or unsupported-language absence is unknown.

A bounded, source-linked answer from non-rendered first-party HTML. It is published source material, not independently verified truth or agent comprehension. Scoring remains staged pending precision, language, overlap and weight calibration.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Published plan terms

Published plan terms

UnscoredNot observed
What we found

No explicit answer matched the documented English extraction rules in the complete bounded initial HTML sample.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

At most six first-party pages under the public HTTP profile; documented English extraction rules. Incomplete or unsupported-language absence is unknown.

A bounded, source-linked answer from non-rendered first-party HTML. It is published source material, not independently verified truth or agent comprehension. Scoring remains staged pending precision, language, overlap and weight calibration.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Advertised account access

Account access instructions

UnscoredNot observed
What we found

No explicit answer matched the documented English extraction rules in the complete bounded initial HTML sample.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

At most six first-party pages under the public HTTP profile; documented English extraction rules. Incomplete or unsupported-language absence is unknown.

A bounded, source-linked answer from non-rendered first-party HTML. It is published source material, not independently verified truth or agent comprehension. Scoring remains staged pending precision, language, overlap and weight calibration.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Concrete getting-started instructions

Getting-started instructions

UnscoredNot observed
What we found

No explicit answer matched the documented English extraction rules in the complete bounded initial HTML sample.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

At most six first-party pages under the public HTTP profile; documented English extraction rules. Incomplete or unsupported-language absence is unknown.

A bounded, source-linked answer from non-rendered first-party HTML. It is published source material, not independently verified truth or agent comprehension. Scoring remains staged pending precision, language, overlap and weight calibration.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Interfaces & data

28.5/37.8 ptsWhich interfaces can agents use? · 9 conclusive · 33 additional

Complete and usable operation contracts

Data export API

0.4/4 ptsDetected
What we found

Data export is mentioned at https://docs.primitive.dev/docs/api, but not on a page dedicated to documenting it.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Structured data I/O

8/8 ptsCross-verified
What we found

The spec at https://www.primitive.dev/openapi.json declares typed, consistent response schemas (100% of operations) with a pagination pattern and a structured error envelope. (source: spec)

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

REST pagination shape

UnscoredObserved
What we found

The GET /functions/{id}/logs operation declares a typed cursor/token parameter and a continuation field in its response schema.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

REST async-job pattern

UnscoredObserved
What we found

The POST /demo/jobs operation declares 202 Accepted with a Location header.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

REST batch endpoints

UnscoredObserved
What we found

A batch/bulk operation is named, but no array request body is declared.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Function-calling compatibility

UnscoredObserved
What we found

All 174 operations have unique function-safe operationIds; 174/174 have typed inputs and 174/174 have descriptions or summaries.

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Parameter constraint coverage

UnscoredObserved
What we found

598 parameter/request-body leaves across 174 operation(s): 321 machine-checkable (54%), 55 declare an enum (9%), 417 carry a description (70%), 97 have neither a constraint nor a description (16%).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected interface; pagination only for collections, async only for long-running jobs, batch only for multi-item operations

Usable schemas and operation patterns can reduce ambiguity for clients. More endpoints or constraints alone do not establish that an operation is easier to use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Usable supported interface

GraphQL surface

0/3 ptsNot detected
What we found

No GraphQL transport surface found at conventional paths (GET-only; no introspection issued). Blocked by robots.txt for a generic compliant agent (Disallow: /api/).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Interface-enabled product; no requirement to implement every protocol

REST, GraphQL, MCP, SDKs and CLIs offer alternative or complementary access paths. The useful choice depends on the task and client; no single format serves every workflow.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

API existence

1.8/1.8 ptsParseable
What we found

A real API surface is declared at https://www.primitive.dev/openapi.json: the spec lists servers and paths. (source: spec)

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Interface-enabled product; no requirement to implement every protocol

REST, GraphQL, MCP, SDKs and CLIs offer alternative or complementary access paths. The useful choice depends on the task and client; no single format serves every workflow.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

OpenAPI specification

5/5 ptsCross-verified
What we found

Valid OpenAPI 3.1.0 spec at https://www.primitive.dev/openapi.json: 174 operations, 230 schemas, 100% response coverage, servers declared.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Interface-enabled product; no requirement to implement every protocol

REST, GraphQL, MCP, SDKs and CLIs offer alternative or complementary access paths. The useful choice depends on the task and client; no single format serves every workflow.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

MCP support

5/5 ptsCross-verified
What we found

First-party documentation at https://docs.primitive.dev/docs/connectors identifies the MCP endpoint https://www.primitive.dev/mcp and explains both its capabilities and how clients connect or authenticate.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Interface-enabled product; no requirement to implement every protocol

REST, GraphQL, MCP, SDKs and CLIs offer alternative or complementary access paths. The useful choice depends on the task and client; no single format serves every workflow.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

SDK availability

5/5 ptsCross-verified
What we found

SDK libraries page at https://docs.primitive.dev/docs/sdks: 2 GitHub repos, 3 registry links, 6 install commands (11 pointers).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Interface-enabled product; no requirement to implement every protocol

REST, GraphQL, MCP, SDKs and CLIs offer alternative or complementary access paths. The useful choice depends on the task and client; no single format serves every workflow.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

CLI availability

UnscoredObserved
What we found

A command-line tool at https://docs.primitive.dev/docs/cli has a resolvable install pointer and documented commands (5 install commands, 3 package references (npm, PyPI, Go packages), 1 command-documentation marker). Corroborated across surfaces: https://docs.primitive.dev/docs/sdks independently graded parseable.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Interface-enabled product; no requirement to implement every protocol

REST, GraphQL, MCP, SDKs and CLIs offer alternative or complementary access paths. The useful choice depends on the task and client; no single format serves every workflow.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Emerging interface declarations

MCP Server Card

0.3/3 ptsDetected
What we found

A file exists at https://primitive.dev/.well-known/mcp/server-card.json, but it doesn't contain the fields that describe an MCP Server Card.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Only a positively identified matching protocol

Versioned interface declarations are observable signals. Broad adoption and cross-client utility are not established by declaration presence.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

A2A Agent Card

3/3 ptsCross-verified
What we found

A fully described A2A Agent Card is published at https://primitive.dev/.well-known/agent-card.json with capabilities, I/O modes, and tagged skills.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Only a positively identified matching protocol

Versioned interface declarations are observable signals. Broad adoption and cross-client utility are not established by declaration presence.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

WebMCP

UnscoredCould not verify
What we found

WebMCP browser probing is not yet available in this scanner release.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Only a positively identified matching protocol

Versioned interface declarations are observable signals. Broad adoption and cross-client utility are not established by declaration presence.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Additional GraphQL contract evidence

GraphQL schema completeness

UnscoredObserved
What we found

The query root is readable, with 15 application type(s); 11/56 fields and 4/14 arguments resolve to declared types. GraphQL depth probe: The endpoint returned a valid GraphQL schema response.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

GraphQL and relevant operation shape; introspection optional

Additional contract evidence may substantiate an existing capability. Disabled production introspection must not create a penalty.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

GraphQL pagination

UnscoredObserved
What we found

1 query field(s) have typed pagination inputs, but no complete continuation output was found. GraphQL depth probe: The endpoint returned a valid GraphQL schema response.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

GraphQL and relevant operation shape; introspection optional

Additional contract evidence may substantiate an existing capability. Disabled production introspection must not create a penalty.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

GraphQL batch mutations

UnscoredObserved
What we found

bulkArchiveEmails is explicitly batch/bulk and declares typed mutation input. GraphQL depth probe: The endpoint returned a valid GraphQL schema response.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

GraphQL and relevant operation shape; introspection optional

Additional contract evidence may substantiate an existing capability. Disabled production introspection must not create a penalty.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

GraphQL async job patterns

UnscoredObserved
What we found

1 trackable job type(s) expose ID plus status/state, but no mutation returns one. GraphQL depth probe: The endpoint returned a valid GraphQL schema response.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

GraphQL and relevant operation shape; introspection optional

Additional contract evidence may substantiate an existing capability. Disabled production introspection must not create a penalty.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

MCP discovery evidence

MCP descriptor

UnscoredObserved
What we found

An MCP server is described at https://primitive.dev/.well-known/mcp, but the description doesn't include a web address for the server.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

MCP surface

An MCP descriptor helps clients locate a service. This additional observation does not earn separate points for evidence already represented by the scored MCP check.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Usable MCP tools and resources

MCP tool listing

UnscoredCould not verify
What we found

Could not read live MCP tool listing from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live tool listing could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live tool listing could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP tool naming

UnscoredCould not verify
What we found

Could not read live MCP tool naming from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live tool naming could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live tool naming could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP tool descriptions

UnscoredCould not verify
What we found

Could not read live MCP tool descriptions from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live tool descriptions could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live tool descriptions could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP tool annotations

UnscoredCould not verify
What we found

Could not read live MCP tool annotations from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live tool annotations could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live tool annotations could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP parameter constraint form

UnscoredCould not verify
What we found

Could not read live MCP parameter constraint form from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool capability

Machine-checkable constraints on tool inputs let something other than the model enforce them. The reading claims constraint form only, never that a server rejects bad input, and remains unscored pending calibration against the live MCP panel.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live parameter constraint form could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live parameter constraint form could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP parameter schemas

UnscoredCould not verify
What we found

Could not read live MCP parameter schemas from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live parameter schemas could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live parameter schemas could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP resource listing

UnscoredCould not verify
What we found

Could not read live MCP resource listing from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live resource listing could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live resource listing could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP resource quality

UnscoredCould not verify
What we found

Could not read live MCP resource quality from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live resource quality could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live resource quality could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP multi-surface coverage

UnscoredCould not verify
What we found

2 MCP surfaces were declared; 0 completed live sessions. Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP server and advertised tool/resource capability

Live listings and contracts help agents discover tools and understand their inputs. These related observations remain unscored pending calibration of their contribution to successful tool use.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: This declared MCP surface was unreachable or did not complete a valid protocol session. (Could not verify)
  • https://www.primitive.dev/mcp/docs: This declared MCP surface was unreachable or did not complete a valid protocol session. (Could not verify)

Compatible MCP transport

MCP transport version

UnscoredCould not verify
What we found

Could not read live MCP transport modernity from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Detected MCP transport and negotiated version

A compatible negotiated protocol version helps clients and servers communicate. An older supported transport can still be usable.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live transport modernity could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live transport modernity could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP application UI

A2UI over MCP

UnscoredCould not verify
What we found

No adoption signal was detected, but endpoint discovery was incomplete or at least one declared MCP endpoint lacked readable list metadata, so site-level absence is unmeasurable. This metadata-only check did not call tools or read app resources.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected application UI surface

An embedded interface can support interactive workflows. Many tools work without a user interface, so its absence is not a general readiness failure.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)
  • https://www.primitive.dev/mcp/docs: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)

MCP Apps UI metadata quality

UnscoredCould not verify
What we found

No adoption signal was detected, but endpoint discovery was incomplete or at least one declared MCP endpoint lacked readable list metadata, so site-level absence is unmeasurable. This metadata-only check did not call tools or read app resources.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected application UI surface

An embedded interface can support interactive workflows. Many tools work without a user interface, so its absence is not a general readiness failure.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)
  • https://www.primitive.dev/mcp/docs: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)

Payment capabilities

Agentic Commerce Protocol

UnscoredCould not verify
What we found

Could not conclusively inspect published API specifications for Agentic Commerce Protocol checkout support. Blocked by robots.txt for a generic compliant agent (Disallow: /api; Disallow: /api/). This protocol's availability cannot be inferred from crawler policy.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Payment-enabled business model

Payment support describes what the business offers. It must not make a research publication or free public service appear less ready.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

ACP delegated payments

UnscoredCould not verify
What we found

Could not conclusively inspect published API specifications for ACP delegated-payment support. Blocked by robots.txt for a generic compliant agent (Disallow: /api; Disallow: /api/). This protocol's availability cannot be inferred from crawler policy.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Payment-enabled business model

Payment support describes what the business offers. It must not make a research publication or free public service appear less ready.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent Payments Protocol

UnscoredCould not verify
What we found

Could not conclusively inspect the UCP profile and published API specifications for AP2. Blocked by robots.txt for a generic compliant agent (Disallow: /api; Disallow: /api/). This protocol's availability cannot be inferred from crawler policy.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Payment-enabled business model

Payment support describes what the business offers. It must not make a research publication or free public service appear less ready.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Universal Commerce Protocol

UnscoredNot observed
What we found

No UCP discovery profile was found at /.well-known/ucp.

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Payment-enabled business model

Payment support describes what the business offers. It must not make a research publication or free public service appear less ready.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Machine payments (x402/MPP)

UnscoredNot observed
What we found

No machine-payment signal observed (no HTTP 402, no payment-required response header, and no /.well-known/x402.json manifest). Payment support cannot be ruled out from an unauthenticated probe. Blocked by robots.txt for a generic compliant agent (Disallow: /api; Disallow: /api/).

Why this is unscored

Useful context, outside the readiness score. Adoption, payment support and retrieval cost are not readiness quality by themselves.

When this matters

Payment-enabled business model

Payment support describes what the business offers. It must not make a research publication or free public service appear less ready.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

NLWeb support

NLWeb ask endpoint

UnscoredObserved
What we found

An NLWeb /ask operation is declared in a first-party published OpenAPI document.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected NLWeb service

Useful protocol observations; optional implementation is not universal readiness.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

NLWeb streaming

UnscoredObserved
What we found

NLWeb streaming support is declared in a first-party published OpenAPI document.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected NLWeb service

Useful protocol observations; optional implementation is not universal readiness.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

NLWeb schema feeds

UnscoredObserved
What we found

1 valid HTTPS SchemaMap feed location(s) are declared in robots.txt.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected NLWeb service

Useful protocol observations; optional implementation is not universal readiness.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Authentication & credentials

22.5/24 ptsCan agents authenticate and manage credentials? · 5 conclusive · 9 additional

Safe integration environment

Sandbox environment

3.5/5 ptsUseful
What we found

A test environment is documented at https://docs.primitive.dev/docs/sandbox with the detail an agent needs to start testing (test credentials or a test base URL). To reach the top level, it would need a full test workflow and separately documented test credentials.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Operations whose side effects or onboarding require a safe test environment

A sandbox helps validate consequential integrations; it is not necessary for every public content site or read-only API.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Usable least-privilege authentication

Auth discovery

5/5 ptsCross-verified
What we found

Agent-native auth discovery: a valid RFC 9728 PRM (via challenge) or a PRM plus a valid AS/OIDC descriptor.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Protected operations; anonymous access is valid when intended

Discovery, documentation and credential lifecycle jointly support a usable authorization flow. A public read-only service need not require OAuth.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

No public evidence URL recorded for this check

Credential management

4/4 ptsCross-verified
What we found

Credential management is fully documented at https://docs.primitive.dev/docs/auth, covering rotation, revocation, and credential scoping/expiry.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Protected operations; anonymous access is valid when intended

Discovery, documentation and credential lifecycle jointly support a usable authorization flow. A public read-only service need not require OAuth.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Programmatic auth flow

5/5 ptsCross-verified
What we found

A programmatic auth flow is fully documented at https://docs.primitive.dev/docs/auth, with a non-interactive grant, token endpoint, scopes, and token expiry/refresh.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Protected operations; anonymous access is valid when intended

Discovery, documentation and credential lifecycle jointly support a usable authorization flow. A public read-only service need not require OAuth.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Auth documentation

5/5 ptsCross-verified
What we found

Authentication is fully documented at https://docs.primitive.dev/docs/auth, naming complete method(s) and how they are sent, corroborated across surfaces or covering multiple methods.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Protected operations; anonymous access is valid when intended

Discovery, documentation and credential lifecycle jointly support a usable authorization flow. A public read-only service need not require OAuth.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

MCP authorization evidence

MCP authentication mechanism

UnscoredCould not verify
What we found

Could not read live MCP authentication mechanism from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Protected HTTP MCP; OAuth/PKCE only for applicable flow

Authentication metadata and challenges help clients understand how to obtain access. Observing a declaration does not prove that credentials can be issued or used successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live authentication mechanism could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live authentication mechanism could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP OAuth metadata

UnscoredCould not verify
What we found

Could not read live MCP OAuth metadata from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Protected HTTP MCP; OAuth/PKCE only for applicable flow

Authentication metadata and challenges help clients understand how to obtain access. Observing a declaration does not prove that credentials can be issued or used successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live OAuth metadata could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live OAuth metadata could not be read because the endpoint was unreachable or invalid. (Could not verify)

MCP PKCE S256

UnscoredCould not verify
What we found

Could not read live MCP PKCE support from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Measured, but not yet weighted. It adds no points and its absence subtracts none. Scoring requires calibration of reliability, applicability and overlap with existing checks.

When this matters

Protected HTTP MCP; OAuth/PKCE only for applicable flow

Authentication metadata and challenges help clients understand how to obtain access. Observing a declaration does not prove that credentials can be issued or used successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live PKCE support could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live PKCE support could not be read because the endpoint was unreachable or invalid. (Could not verify)

Emerging authentication guidance

auth.md

UnscoredObserved
What we found

The root auth.md document satisfies the exists criteria.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected emerging authentication scheme

An auth.md file is one possible guide. Reachable metadata and bounded simulation are not proof that credentials can be issued successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

auth.md structure

UnscoredNot observed
What we found

The root auth.md document does not satisfy the structured criteria.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected emerging authentication scheme

An auth.md file is one possible guide. Reachable metadata and bounded simulation are not proof that credentials can be issued successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

auth.md walkthrough simulation

UnscoredNot observed
What we found

The root auth.md document does not satisfy the walkthrough criteria.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected emerging authentication scheme

An auth.md file is one possible guide. Reachable metadata and bounded simulation are not proof that credentials can be issued successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent Auth discovery metadata

UnscoredNot observed
What we found

No conforming public Agent Auth discovery document was found.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected emerging authentication scheme

An auth.md file is one possible guide. Reachable metadata and bounded simulation are not proof that credentials can be issued successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent Auth endpoint reachability

UnscoredNot observed
What we found

No conforming public Agent Auth discovery document was found.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected emerging authentication scheme

An auth.md file is one possible guide. Reachable metadata and bounded simulation are not proof that credentials can be issued successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Agent Auth challenge

UnscoredCould not verify
What we found

API challenge headers could not be observed conclusively. Blocked by robots.txt for a generic compliant agent (Disallow: /api; Disallow: /api/). This protocol's availability cannot be inferred from crawler policy.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected emerging authentication scheme

An auth.md file is one possible guide. Reachable metadata and bounded simulation are not proof that credentials can be issued successfully.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

No public evidence URL recorded for this check

Reliability & recovery

15.6/28.2 ptsCan agents handle changes and failures? · 7 conclusive · 5 additional

Change and compatibility information

Changelog presence

0/5 ptsNot detected
What we found

No changelog or release notes found at the standard docs locations an agent would check.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Maintained interface or evolving product

Version identifiers and change records help clients manage compatibility as an interface evolves.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

API versioning

5/5 ptsCross-verified
What we found

The API version lifecycle is documented at https://docs.primitive.dev/docs/versioning, including deprecation/sunset. (source: docs)

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Maintained interface or evolving product

Version identifiers and change records help clients manage compatibility as an interface evolves.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Actionable limits

Rate limit documentation

1.8/5 ptsParseable
What we found

A rate-limit documentation page exists at https://docs.primitive.dev/docs/limits, but it doesn't state a concrete limit alongside a rate-limit response header.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

An interface with quotas or throttling

Published limits and response headers help clients pace requests and recover from throttling. They describe related aspects of the same service constraint.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Rate-limit response headers

UnscoredNot observed
What we found

No rate-limit response headers were present. Blocked by robots.txt for a generic compliant agent (Disallow: /api; Disallow: /api/).

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

An interface with quotas or throttling

Published limits and response headers help clients pace requests and recover from throttling. They describe related aspects of the same service constraint.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Observable outcomes and recovery

Retry & idempotency

0.3/3 ptsDetected
What we found

Retry/idempotency is mentioned at https://docs.primitive.dev/docs, but not on a page dedicated to documenting it.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Detected interface; idempotency for repeatable writes, webhooks only for event-driven workflows

Observable state and actionable errors help recovery. A status page or error schema does not prove successful repair.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Error documentation

3.5/5 ptsUseful
What we found

Errors are documented at https://docs.primitive.dev/docs/errors with specific codes or a documented response shape. To reach the top level, it would need recovery guidance and a machine-readable error format, or corroboration against the API spec.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Detected interface; idempotency for repeatable writes, webhooks only for event-driven workflows

Observable state and actionable errors help recovery. A status page or error schema does not prove successful repair.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Status & health endpoints

0/0.2 ptsNot detected
What we found

No health or status endpoint found. Blocked by robots.txt for a generic compliant agent (Disallow: /api/).

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Detected interface; idempotency for repeatable writes, webhooks only for event-driven workflows

Observable state and actionable errors help recovery. A status page or error schema does not prove successful repair.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Webhook documentation

5/5 ptsCross-verified
What we found

Webhooks are fully documented at https://docs.primitive.dev/docs/webhook-payload, with event types, payload shapes, signature verification, and delivery/retry semantics.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Detected interface; idempotency for repeatable writes, webhooks only for event-driven workflows

Observable state and actionable errors help recovery. A status page or error schema does not prove successful repair.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

MCP error handling

UnscoredCould not verify
What we found

Could not read live MCP error handling from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Detected interface; idempotency for repeatable writes, webhooks only for event-driven workflows

Observable state and actionable errors help recovery. A status page or error schema does not prove successful repair.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live error handling could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live error handling could not be read because the endpoint was unreachable or invalid. (Could not verify)

Additional GraphQL recovery evidence

GraphQL error type definitions

UnscoredObserved
What we found

Error provides both a human-readable message and a machine-readable code/type field. GraphQL depth probe: The endpoint returned a valid GraphQL schema response.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

GraphQL service; schema evidence obtainable under permitted scope

GraphQL error definitions and evolution policies help clients recover and manage compatibility. Disabled production introspection does not establish a defect.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

GraphQL versioning policy

UnscoredObserved
What we found

2 field(s) are deprecated; 2 explain why and 2 give replacement or migration guidance (for example Query.job). GraphQL depth probe: The endpoint returned a valid GraphQL schema response.

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

GraphQL service; schema evidence obtainable under permitted scope

GraphQL error definitions and evolution policies help clients recover and manage compatibility. Disabled production introspection does not establish a defect.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Identity & safeguards

10.4/11 ptsCan agents identify the publisher and its safeguards? · 4 conclusive · 4 additional

Attributable identity and consistent claims

security.txt

3/3 ptsCross-verified
What we found

security.txt at https://primitive.dev/.well-known/security.txt includes Contact, a future Expires date, and Encryption or Policy.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public company/service identity; MCP identity only for MCP

These establish provenance, disclosure routes and consistency. They cannot certify prompt-injection resistance or safe transactions.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Org identity signals

3/3 ptsCross-verified
What we found

Homepage exposes legal name, address, support contact, and social profile links.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public company/service identity; MCP identity only for MCP

These establish provenance, disclosure routes and consistency. They cannot certify prompt-injection resistance or safe transactions.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Metadata consistency

3/3 ptsCross-verified
What we found

Homepage metadata (canonical, Open Graph, schema) is present and consistent.

How this affects the score

These are recorded points before the total is normalized to 100.

When this matters

Public company/service identity; MCP identity only for MCP

These establish provenance, disclosure routes and consistency. They cannot certify prompt-injection resistance or safe transactions.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

MCP server identity

UnscoredCould not verify
What we found

Could not read live MCP server identity from any declared endpoint (0 connected, 0 required authentication, 0 not probed before the scan deadline, 2 unreachable or invalid). Live MCP probe: 7508 ms, 3 protocol request(s).

Why this is unscored

Additional evidence for this capability. It earns no separate points, so observing another related signal does not count twice.

When this matters

Public company/service identity; MCP identity only for MCP

These establish provenance, disclosure routes and consistency. They cannot certify prompt-injection resistance or safe transactions.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: Live server identity could not be read because the endpoint was unreachable or invalid. (Could not verify)
  • https://www.primitive.dev/mcp/docs: Live server identity could not be read because the endpoint was unreachable or invalid. (Could not verify)

Instruction-safe interaction surfaces

Accessibility-tree injection safety

UnscoredCould not verify
What we found

Accessibility-tree probe unavailable (deep_scan_only): Accessibility-tree checks are deep-scan only to avoid always-on browser probe cost.

Why this is unscored

A limited scanner observation, not proof of access from real agent infrastructure. It remains unscored until the probe can support that claim.

When this matters

Deep scans with an available browser accessibility tree snapshot

Prompt-injection-like instructions in accessibility text are a real manipulation risk for agent operators. This bounded probe can surface risky text but cannot prove complete absence, so it remains unscored.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence

Application isolation declarations

MCP App content security policy

UnscoredCould not verify
What we found

No adoption signal was detected, but endpoint discovery was incomplete or at least one declared MCP endpoint lacked readable list metadata, so site-level absence is unmeasurable. This metadata-only check did not call tools or read app resources.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected MCP application UI

Declared origins and CSP are relevant safeguards for an embedded UI, but declarations alone do not establish effective isolation.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)
  • https://www.primitive.dev/mcp/docs: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)

MCP App rendering domain

UnscoredCould not verify
What we found

No adoption signal was detected, but endpoint discovery was incomplete or at least one declared MCP endpoint lacked readable list metadata, so site-level absence is unmeasurable. This metadata-only check did not call tools or read app resources.

Why this is unscored

An emerging convention, not a universal requirement. It adds no points and its absence subtracts none. Adoption and reliable testing must justify any future weight.

When this matters

Detected MCP application UI

Declared origins and CSP are relevant safeguards for an embedded UI, but declarations alone do not establish effective isolation.

Evidence basis

These sources inform the check. They do not validate our exact point weights.

Guidance recorded with this scan · 2026-09-29. Recorded scores are unchanged.

Recorded evidence
Per-server results
  • https://www.primitive.dev/mcp: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)
  • https://www.primitive.dev/mcp/docs: MCP Apps list metadata was unreachable, invalid, or inconclusive. (Could not verify)

Agent Comprehension (Informational — not scored)

What an AI agent understood from the homepage, checked against supporting pages.

What does this business do?
Primitive provides email infrastructure built for AI agents, offering one-call HTTP email sending and receiving, managed addresses, hosted functions, and an agent-to-agent chat verb. (5 agreeing · 0 conflicting pages)
Who is it for?
It is for AI agents and the developers building them, enabling agents to send and receive email and reach people and other agents without managing mail servers. (5 agreeing · 0 conflicting pages)

Analyzed evidence supports the homepage-derived answers.

Supporting-page relationships: 5 Supports · 0 Contradicts · 0 Dilutes · 0 None

Run a full scan of primitive.dev