agenticweb.wiki

composio.dev agentic web readiness

A Manifest validity: 75% (3/4 valid, 1 error, 22 warnings) · Surface score 49 (coverage 30 + breadth 9 + conformance 10). 5 standards observed across 3 of 9 steps; 4 manifests present (+ robots.txt, security.txt), 1 error, 22 warnings. Checked 2026-10-25 13:30:40 UTC. This grades the agent-facing files published at composio.dev, not the organisation's products.

Badge for a README: ![agentic web grade](https://agenticweb.wiki/badge/composio.dev.svg) · JSON · Markdown · Re-check now

Coverage by step

01 DiscoverAI Catalog well-known file, RFC 972702 Identifynothing observed03 PermitContent Signals Policy04 Readllms.txt, Markdown for Agents05 Actnothing observed06 Coordinatenothing observed07 Paynothing observed08 Presentnothing observed

Manifests

ManifestResultFindings
Agentic Resource Discovery
/.well-known/ard.json
absent HTTP 404
AI Catalog well-known file
/.well-known/ai-catalog.json
valid
  • entries[0].identifier is not a urn:air: identifier
  • entries[0] has no description; registries index on it
  • entries[1].identifier is not a urn:air: identifier
  • entries[2].identifier is not a urn:air: identifier
  • entries[3].identifier is not a urn:air: identifier
  • entries[3] has no description; registries index on it
  • entries[4].identifier is not a urn:air: identifier
  • entries[4] has no description; registries index on it
  • entries[5].identifier is not a urn:air: identifier
  • entries[5] has no description; registries index on it
  • entries[6].identifier is not a urn:air: identifier
  • entries[6] has no description; registries index on it
  • entries[7].identifier is not a urn:air: identifier
  • entries[7] has no description; registries index on it
  • entries[8].identifier is not a urn:air: identifier
  • entries[8] has no description; registries index on it
  • entries[9].identifier is not a urn:air: identifier
  • entries[9] has no description; registries index on it
  • no entry has representativeQueries; ARD registries use 2-5 example queries to index entries
  • served only at deprecated /.well-known/ai-catalog.json; ARD v0.91+ expects /.well-known/ard.json (serve both during migration)
MCP Server Cards (SEP-2127)
/mcp/server-card
absent HTTP 404
Agent2Agent Protocol
/.well-known/agent-card.json
absent HTTP 404
llms.txt
/llms.txt
valid
AGENTS.md
/AGENTS.md
absent HTTP 404
Agent Skills
/.well-known/agent-skills/index.json
absent HTTP 404
api-catalog: A Well-Known URI and Link Relation to Help Discovery of APIs
/.well-known/api-catalog
valid
AI Crawler User-Agent Tokens in robots.txt
/robots.txt
no AI tokens
  • no AI crawler token named (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, ...); the policy for them is whatever User-agent: * says (partial)
  • no Agentmap: line (optional convention pointing agents at /.well-known/ard.json)
security.txt (RFC 9116)
/.well-known/security.txt
valid
auth.md
/auth.md
errors
  • none of the auth.md mechanism names found (identity_assertion, service_auth, anonymous)
View valid /auth.md template for composio.dev
# Authenticating to Composio as an agent

This file is the agent-auth skill for composio.dev. It is linked from the authorization server's metadata (`agent_auth.skill`).

## Discovery
1. Call the API. A `401` carries `WWW-Authenticate: Bearer resource_metadata="https://composio.dev/.well-known/oauth-protected-resource"`.
2. Read `/.well-known/oauth-protected-resource` (RFC 9728) for `resource` and `authorization_servers`.
3. Read the authorization server's `/.well-known/oauth-authorization-server` (RFC 8414); the `agent_auth` block lists the endpoints below.

## Methods we accept
- `identity_assertion`: you hold a session for a user and can mint an ID-JAG with `aud` = our `resource`. Preferred.
- `service_auth`: you only know the user's email. A claim ceremony (6-digit code) is required.
- `anonymous`: no user. Immediate limited scopes; the user can claim later.

## Register
POST `agent_auth.identity_endpoint` with `{"type": "<method>", ...}`; exchange the returned `identity_assertion` at the token endpoint for an access token.

## Scopes
- `api.read`: read
- `api.write`: write (claimed registrations only)

## Rules
- Show the user our name and the scopes before asserting their identity.
- Keep `claim_token` in memory only.
- Revocation events arrive as Security Event Tokens at your registered events endpoint.
Open Knowledge Format
/okf/index.md
absent HTTP 404

What an agent can call

Standards observed

Cheapest next steps

  1. Agentic Resource Discovery: a catalog at /.well-known/ard.json lets agents discover your APIs, MCP servers and data in one fetch (emerging spec — publish only if you run the underlying endpoints; generate via MCP template({"id": "ard", "domain": "composio.dev"}))
  2. AGENTS.md: instructions for coding agents working on or with the site
    Generate starter /AGENTS.md for composio.dev
    # Composio for agents
    
    Composio and what it offers to agents
    
    ## Read the data, not the HTML
    - Index: https://composio.dev/llms.txt
    - API description: https://composio.dev/openapi.json
    - Discovery catalog: https://composio.dev/.well-known/ard.json
    
    ## Calling
    - MCP server (Streamable HTTP): https://composio.dev/mcp
    - Rate limits and authentication: describe them here
    
    ## Conventions
    - How to cite or attribute content
    - What not to do (no scraping of /account/, no automated sign-ups, etc.)
    
    Contact: security@composio.dev
    
  3. MCP Server Cards (SEP-2127): if you run an MCP server, a SEP-2127 card at <mcp-url>/server-card lets clients configure themselves (conditional spec — publish only if you run the underlying endpoints; generate via MCP template({"id": "mcp-server-cards", "domain": "composio.dev"}))

Agent pre-flight & practical readiness

Preferred mode: llms_txt (fallback markdown_negotiation). GET /llms.txt and follow the links it names. That index is the page list an agent should read.

Fetch: GET https://composio.dev/llms.txt GET /llms.txt and follow its links.

Practical readability: exa_parsable yes, markdown negotiation yes, render markdown_native, HTML quality high, first content at byte 0.

AI crawler posture: open_to_all · Assistant access: OpenAI allowed, Anthropic allowed, Google allowed, Perplexity allowed, Exa allowed.

Readiness subscores: reach 20/20, readability 30/30, capabilities 9/35, conformance 10/15, total 69/100, grade A.

How the grade is made

+10 per lifecycle step with a standard observed, counting manifests that validate or that the probe rule for the standard recognises (a valid MCP server card counts for MCP; max 90); +3 per observed standard beyond the first two (max 15); conformance +15 (+10 with one manifest) minus 5 per agent-facing manifest with errors, never below 0 (security.txt is reported, not scored). Lifecycle grade: A+ >= 60, A >= 45, B >= 30, C >= 20, D >= 10. Strict 100-point composite (subscores.total_100 / subscores.grade_100): reach_and_policy (20) + readability (30) + capabilities (35) + conformance (15), where A+ >= 80, A >= 65, B >= 45, C >= 28, D >= 15. Errors are specification violations; warnings are best-practice gaps. Only public paths are fetched, without credentials, so standards that need a login (skipped in the probe) are not counted either way. The same report is the validate_manifest tool on the MCP server.

JSON · Markdown · probe rules