Atestiv MCP connector

Atestiv exposes its public directory to AI agents over the Model Context Protocol.

Endpoint: https://atestiv.com/mcp (streamable HTTP)
Authentication: none. Public, read-only.
Rate limit: 60 requests per minute per client.

Tools

search_catalog searches agents, skills, automations, and commands. Filter by kind, category, governance tier, or risk classification. Returns up to 25 results with links.

get_listing returns the full record for one listing, including its governance tier, risk classification, author, source, and receipt ID.

verify_receipt verifies a governance receipt against Atestiv's published Ed25519 signing keys and reports whether the signature is valid, which key signed it, and when.

list_categories returns all categories, kinds, and tiers with counts.

Tool reference

search_catalog

Search Atestiv's public directory of AI agents, skills, automations, and commands. Filter by kind, category, governance tier, or risk classification. An empty query with a filter returns the filtered list. Every result includes the atestiv.com URL of its page.

ParameterTypeDescription
querystringWords to match against name, ID, description, tags, category, and platform. Plain language is fine: results are ranked by how many words match and where, and not every word has to match. May be empty when a filter is given.
kind?agent | skill | automation | commandOnly return this kind of listing.
category?stringCategory slug or name, from list_categories. Only automations carry a category.
tier?attested | reviewed-approved | escalated | pending | rejected | reviewed-rejected | unverifiedGovernance tier, as shown on the listing's badge.
risk?stringRisk classification, e.g. T0, T1, T2 for skills or low, medium for agents.
limit?integerMaximum results to return (default 10, max 25).

Returns { results: [{ id, kind, name, summary, category, platform, tier, tier_label, risk, url }], total, url }

get_listing

Full record for one listing: description, governance tier, risk classification, author, source, and receipt ID where one exists. Accepts a listing ID, a slug, or a page path such as skills/<slug>.

ParameterTypeDescription
idstringListing ID (e.g. ecc-agent-architect), slug, or page path.

Returns { id, kind, name, description, category, platform, tier, tier_label, risk, author, source_url, receipt_id?, evaluated_at?, verify_url?, url }

verify_receipt

Verify a governance receipt against Atestiv's published Ed25519 signing keys, using the same check as atestiv.com/verify. Reports whether the signature is valid, which key signed it, and when. An invalid signature is a normal result (valid: false with a reason), not an error.

ParameterTypeDescription
receipt_idstringReceipt ID, or the ID or slug of the listing whose latest receipt should be checked.

Returns { receipt_id, listing_id, valid, reason?, key_id, key_alias, key_status, signed_at, algorithm, verify_url, url }

list_categories

All categories, listing kinds, and governance tiers in the directory, each with a count of listings.

No parameters.

Returns { categories: [{ slug, name, count, url }], kinds: [{ kind, count, url }], tiers: [{ tier, label, count }], url }

Errors come back as tool results with isError set and a code of not_found, invalid_input, or unavailable. Requests over the rate limit get HTTP 429 with a Retry-After header and the code rate_limited.

What the connector does not do

It does not create, edit, or delete listings, does not take payments, and does not access any data about you. It returns only what is already public on atestiv.com.

Connecting

  • Meta Muse: add Atestiv from the connector directory.
  • Claude: Settings, Connectors, add custom connector, paste the endpoint URL.
  • ChatGPT and Cursor: add as a remote MCP server with the endpoint URL.

Questions: support@execlayer.io