{"origin":"fly.io","checked":"2026-10-23T14:55:37Z","grade":"A+","score":65,"score_parts":{"coverage":40,"breadth":15,"conformance":10},"subscores":{"reach_and_policy":20,"readability":30,"capabilities":35,"conformance":10,"total_100":95,"grade_100":"A+"},"practical_usefulness":{"exa_parsable":true,"headless_blocked":false,"markdown_negotiation":true,"vary_accept_present":true,"js_shell_only":false,"render_mode":"markdown_native","semantic_html_quality":"high","text_to_html_ratio":0.877,"estimated_tokens":1335,"html_bloat_ratio":1.141,"table_count":0,"table_rows":6,"first_content_byte_offset":0,"json_ld_types":[],"has_attribute_rich_schema":false,"root_links":[]},"permissions":{"posture":"open_to_all","robots_txt_allows_ai":"partial","search_bots_allowed":true,"user_fetch_bots_allowed":true,"training_bots_allowed":true,"ai_crawlers":{"allowed":[],"blocked":[],"partial":[],"unlisted_default":"partial"},"assistant_access":{"openai":"partial","anthropic":"partial","google":"partial","perplexity":"partial","exa":"partial"},"meta_robots_directives":[],"nosnippet_or_noai":false,"retired_tokens_used":[],"content_signals":["search=yes, ai-input=yes, ai-train=yes"],"paywall_or_402_detected":false},"conformance_summary":{"valid":["ard","llms-txt","agents-md","anthropic-agent-skills-format","api-catalog-rfc9727","ai-crawler-tokens-robots","auth-md"],"valid_legacy":["ai-catalog-well-known-file","mcp-server-cards"],"schema_error":[],"blocked":[],"absent":["a2a","security-txt","okf"]},"agent_routing":{"preferred_mode":"mcp","fallback_mode":"openapi","can_fetch_directly":true,"do_not_scrape_raw_html":true,"summary":"Call the MCP endpoint at https://sprites.dev/mcp first. Do not scrape the HTML when a tool can answer.","fetch_recipe":{"url":"https://sprites.dev/mcp","method":"POST","headers":{"Accept":"application/json, text/event-stream","Content-Type":"application/json"},"note":"POST a JSON-RPC tools/list, or server/discover on the 2026-07-28 revision, before reading HTML."},"callable_endpoints":[{"kind":"mcp","url":"https://sprites.dev/mcp","transport_or_type":"streamable-http","status":"valid_legacy","tools_or_skills":["list_sprites","create_sprite","destroy_sprite","exec_list","exec","exec_kill","checkpoint_create","checkpoint_list","checkpoint_get","checkpoint_restore","policy_network_get","policy_network_update","service_list","service_get","service_create","service_start","service_stop","service_logs","file_read","file_write"],"source":"/.well-known/mcp/server-card.json"},{"kind":"openapi","url":"https://docs.fly.io/api/machines/openapi.json","transport_or_type":"application/vnd.oai.openapi+json","status":"valid","source":"/.well-known/ard.json"},{"kind":"openapi","url":"https://api.sprites.dev/openapi.json","transport_or_type":"application/json","status":"valid","source":"/.well-known/api-catalog"},{"kind":"agent_skills","url":"https://fly.io/.well-known/agent-skills/index.json","transport_or_type":"application/json","status":"valid","tools_or_skills":["fly-machines-api","sprites-quickstart"],"source":"/.well-known/agent-skills/index.json"},{"kind":"llms_txt","url":"https://fly.io/llms.txt","transport_or_type":"text/markdown","status":"valid","source":"/llms.txt"},{"kind":"markdown","url":"https://fly.io/","transport_or_type":"text/markdown","status":"valid","source":"/"},{"kind":"catalog","url":"https://fly.io/.well-known/ard.json","transport_or_type":"application/ai-catalog+json","status":"valid","source":"/.well-known/ard.json"},{"kind":"catalog","url":"https://fly.io/.well-known/ai-catalog.json","transport_or_type":"application/ai-catalog+json","status":"valid_legacy","source":"/.well-known/ai-catalog.json"},{"kind":"auth","url":"https://fly.io/auth.md","transport_or_type":"text/markdown","status":"valid","source":"/auth.md"}]},"valid":false,"outcome":"scored","steps_covered":["discover","permit","read","act"],"found":["llms-txt","agents-md","cloudflare-content-signals-policy","ard","ai-catalog-well-known-file","api-catalog-rfc9727","auth-md","anthropic-agent-skills-format","cloudflare-markdown-for-agents","ai-crawler-tokens-robots"],"manifests":[{"id":"ard","name":"Agentic Resource Discovery","path":"/.well-known/ard.json","url":"https://fly.io/.well-known/ard.json","status":200,"content_type":"application/json; charset=utf-8","article":"https://agenticweb.wiki/protocols/ard/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid","errors":[],"warnings":[]},{"id":"ai-catalog-well-known-file","name":"AI Catalog well-known file","path":"/.well-known/ai-catalog.json","url":"https://fly.io/.well-known/ai-catalog.json","status":200,"content_type":"application/json; charset=utf-8","article":"https://agenticweb.wiki/protocols/ai-catalog-well-known-file/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid_legacy","legacy":true,"errors":[],"warnings":[]},{"id":"mcp-server-cards","name":"MCP Server Cards (SEP-2127)","path":"/.well-known/mcp/server-card.json","url":"https://fly.io/.well-known/mcp/server-card.json","status":200,"content_type":"application/json; charset=utf-8","article":"https://agenticweb.wiki/protocols/mcp-server-cards/","present":true,"valid":false,"detected":false,"outcome":"errors","spec_status":"valid_legacy","legacy":true,"errors":["$schema missing (required: https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json)","name must be reverse-DNS with exactly one slash, e.g. com.example/weather"],"warnings":["Content-Type is application/json; charset=utf-8; SEP-2127 says serve application/mcp-server-card+json","description is over 100 characters","tools/resources/prompts listed in the card; SEP-2127 excludes primitives (list them live, or under a namespaced _meta key)","no ETag"]},{"id":"a2a","name":"Agent2Agent Protocol","path":"/.well-known/agent-card.json","url":"https://fly.io/.well-known/agent-card.json","status":404,"content_type":"text/html; charset=utf-8","article":"https://agenticweb.wiki/protocols/a2a/","present":false,"valid":null,"outcome":"absent","spec_status":"absent","errors":[],"warnings":[]},{"id":"llms-txt","name":"llms.txt","path":"/llms.txt","url":"https://fly.io/llms.txt","status":200,"content_type":"text/plain","article":"https://agenticweb.wiki/protocols/llms-txt/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid","errors":[],"warnings":[]},{"id":"agents-md","name":"AGENTS.md","path":"/AGENTS.md","url":"https://fly.io/AGENTS.md","status":200,"content_type":"text/markdown; charset=utf-8","article":"https://agenticweb.wiki/protocols/agents-md/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid","errors":[],"warnings":[]},{"id":"anthropic-agent-skills-format","name":"Agent Skills","path":"/.well-known/agent-skills/index.json","url":"https://fly.io/.well-known/agent-skills/index.json","status":200,"content_type":"application/json; charset=utf-8","article":"https://agenticweb.wiki/protocols/anthropic-agent-skills-format/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid","errors":[],"warnings":[]},{"id":"api-catalog-rfc9727","name":"api-catalog: A Well-Known URI and Link Relation to Help Discovery of APIs","path":"/.well-known/api-catalog","url":"https://fly.io/.well-known/api-catalog","status":200,"content_type":"application/linkset+json; profile=\"https://www.rfc-editor.org/info/rfc9727\"; charset=utf-8","article":"https://agenticweb.wiki/protocols/api-catalog-rfc9727/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid","errors":[],"warnings":[]},{"id":"ai-crawler-tokens-robots","name":"AI Crawler User-Agent Tokens in robots.txt","path":"/robots.txt","url":"https://fly.io/robots.txt","status":200,"content_type":"text/plain; charset=utf-8","article":"https://agenticweb.wiki/protocols/ai-crawler-tokens-robots/","present":true,"valid":true,"detected":false,"outcome":"valid","spec_status":"valid","errors":[],"warnings":["no Agentmap: line (optional convention pointing agents at /.well-known/ard.json)"]},{"id":"security-txt","name":"security.txt (RFC 9116)","path":"/.well-known/security.txt","url":"https://fly.io/.well-known/security.txt","status":404,"content_type":"text/html; charset=utf-8","article":null,"present":false,"valid":null,"outcome":"absent","spec_status":"absent","errors":[],"warnings":[]},{"id":"auth-md","name":"auth.md","path":"/auth.md","url":"https://fly.io/auth.md","status":200,"content_type":"text/markdown; charset=utf-8","article":"https://agenticweb.wiki/protocols/auth-md/","present":true,"valid":true,"detected":true,"outcome":"valid","spec_status":"valid","errors":[],"warnings":[]},{"id":"okf","name":"Open Knowledge Format","path":"/okf/index.md","url":"https://fly.io/okf/index.md","status":404,"content_type":"text/html; charset=utf-8","article":"https://agenticweb.wiki/protocols/okf/","present":false,"valid":null,"outcome":"absent","spec_status":"absent","errors":[],"warnings":[]}],"errors":["/.well-known/mcp/server-card.json: $schema missing (required: https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json)","/.well-known/mcp/server-card.json: name must be reverse-DNS with exactly one slash, e.g. com.example/weather"],"warnings":["/.well-known/mcp/server-card.json: Content-Type is application/json; charset=utf-8; SEP-2127 says serve application/mcp-server-card+json","/.well-known/mcp/server-card.json: description is over 100 characters","/.well-known/mcp/server-card.json: tools/resources/prompts listed in the card; SEP-2127 excludes primitives (list them live, or under a namespaced _meta key)","/.well-known/mcp/server-card.json: no ETag","/robots.txt: no Agentmap: line (optional convention pointing agents at /.well-known/ard.json)"],"recommendations":[{"id":"security-txt","name":"security.txt (RFC 9116)","why":"RFC 9116 contact and expiry, read by agents and people","url":"https://www.rfc-editor.org/rfc/rfc9116"}],"rubric":"+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.","probe":{"origin":"fly.io","checked":"2026-10-23T14:55:37Z","found":{"llms-txt":{"id":"llms-txt","url":"https://fly.io/llms.txt","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/llms-txt/"},"agents-md":{"id":"agents-md","url":"https://fly.io/AGENTS.md","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/agents-md/"},"cloudflare-content-signals-policy":{"id":"cloudflare-content-signals-policy","url":"https://fly.io/robots.txt","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/cloudflare-content-signals-policy/"},"ard":{"id":"ard","url":"https://fly.io/.well-known/ard.json","status":200,"found":true,"reason":"200, keys entries","article":"https://agenticweb.wiki/protocols/ard/"},"ai-catalog-well-known-file":{"id":"ai-catalog-well-known-file","url":"https://fly.io/.well-known/ai-catalog.json","status":200,"found":true,"reason":"200, keys entries","article":"https://agenticweb.wiki/protocols/ai-catalog-well-known-file/"},"api-catalog-rfc9727":{"id":"api-catalog-rfc9727","url":"https://fly.io/.well-known/api-catalog","status":200,"found":true,"reason":"200, linkset, keys linkset","article":"https://agenticweb.wiki/protocols/api-catalog-rfc9727/"},"auth-md":{"id":"auth-md","url":"https://fly.io/auth.md","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/auth-md/"},"anthropic-agent-skills-format":{"id":"anthropic-agent-skills-format","url":"https://fly.io/.well-known/agent-skills/index.json","status":200,"found":true,"reason":"200, json, keys skills","article":"https://agenticweb.wiki/protocols/anthropic-agent-skills-format/"},"cloudflare-markdown-for-agents":{"id":"cloudflare-markdown-for-agents","url":"https://fly.io/","status":200,"found":true,"reason":"GET / varied on Accept and returned Markdown","article":"https://agenticweb.wiki/protocols/cloudflare-markdown-for-agents/"}},"absent":{"a2a":{"id":"a2a","url":"https://fly.io/.well-known/agent-card.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/a2a/"},"ucp":{"id":"ucp","url":"https://fly.io/.well-known/ucp","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ucp/"},"aipref-content-usage-attachment":{"id":"aipref-content-usage-attachment","url":"https://fly.io/robots.txt","status":200,"found":false,"reason":"text_match (?im)^content-usage: not found","article":"https://agenticweb.wiki/protocols/aipref-content-usage-attachment/"},"aipref-vocabulary":{"id":"aipref-vocabulary","url":"https://fly.io/robots.txt","status":200,"found":false,"reason":"text_match (?im)^content-usage:\\s*\\S not found","article":"https://agenticweb.wiki/protocols/aipref-vocabulary/"},"tdmrep":{"id":"tdmrep","url":"https://fly.io/.well-known/tdmrep.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/tdmrep/"},"webbotauth":{"id":"webbotauth","url":"https://fly.io/.well-known/http-message-signatures-directory","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/webbotauth/"},"web-bot-auth-signature-agent-card":{"id":"web-bot-auth-signature-agent-card","url":"https://fly.io/.well-known/http-message-signatures-directory","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/web-bot-auth-signature-agent-card/"},"aid":{"id":"aid","url":"https://fly.io/.well-known/agent","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/aid/"},"adp":{"id":"adp","url":"https://fly.io/.well-known/agent.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/adp/"},"ardp":{"id":"ardp","url":"https://fly.io/.well-known/ardp/meta","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ardp/"},"ads":{"id":"ads","url":"https://fly.io/v1/agents","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ads/"},"adcp":{"id":"adcp","url":"https://fly.io/.well-known/adagents.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/adcp/"},"anp":{"id":"anp","url":"https://fly.io/.well-known/agent-descriptions","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/anp/"},"agora-protocol":{"id":"agora-protocol","url":"https://fly.io/.wellknown","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/agora-protocol/"},"rsl":{"id":"rsl","url":"https://fly.io/robots.txt","status":200,"found":false,"reason":"text_match (?im)^license:\\s*\\S|rsl\\.xml not found","article":"https://agenticweb.wiki/protocols/rsl/"},"agent-permissions-json":{"id":"agent-permissions-json","url":"https://fly.io/.well-known/agent-permissions.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/agent-permissions-json/"},"ai-crawler-tokens-robots":{"id":"ai-crawler-tokens-robots","url":"https://fly.io/robots.txt","status":200,"found":false,"reason":"text_match (?im)^user-agent:\\s*(GPTBot|OAI-SearchBot|ClaudeBot|Claude-User|Claude-SearchBot|Google-Extended|PerplexityBot|CCBot|Applebot-Extended|meta-externalagent|Bytespider|Amazonbot)\\b not found","article":"https://agenticweb.wiki/protocols/ai-crawler-tokens-robots/"},"agents-json":{"id":"agents-json","url":"https://fly.io/.well-known/agents.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/agents-json/"},"agents-txt":{"id":"agents-txt","url":"https://fly.io/agents.txt","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/agents-txt/"},"ai-txt":{"id":"ai-txt","url":"https://fly.io/ai.txt","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ai-txt/"},"lmos":{"id":"lmos","url":"https://fly.io/.well-known/wot-thing-description","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/lmos/"},"erc-8004":{"id":"erc-8004","url":"https://fly.io/.well-known/agent-registration.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/erc-8004/"},"vi":{"id":"vi","url":"https://fly.io/.well-known/verifiable-intent","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/vi/"},"oauth-metadata-for-agents":{"id":"oauth-metadata-for-agents","url":"https://fly.io/.well-known/oauth-protected-resource","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/oauth-metadata-for-agents/"},"okf":{"id":"okf","url":"https://fly.io/okf/index.md","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/okf/"},"identity-assertion-authz-grant":{"id":"identity-assertion-authz-grant","url":"https://fly.io/.well-known/oauth-authorization-server","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/identity-assertion-authz-grant/"},"kya-os":{"id":"kya-os","url":"https://fly.io/.well-known/mcp","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/kya-os/"},"oauth-cimd":{"id":"oauth-cimd","url":"https://fly.io/.well-known/oauth-authorization-server","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/oauth-cimd/"},"erc-8444":{"id":"erc-8444","url":"https://fly.io/.well-known/ard.json","status":200,"found":false,"reason":"text_match \"value:controllers?\" not found","article":"https://agenticweb.wiki/protocols/erc-8444/"}},"skipped":{"mcp":"no-fixed-path","agent-communication-protocol":"superseded","agentic-commerce-protocol":"unsafe-post","x402":"no-fixed-path","l402":"no-fixed-path","mpp":"no-fixed-path","s402":"no-fixed-path","nlweb":"unsafe-post","agent-connect-protocol":"unsafe-post","agent-protocol-aief":"unsafe-post","aitp":"unsafe-post","coral-protocol":"unsafe-post","vercel-agent-readability":"no-fixed-path","daap":"no-fixed-path","aap":"no-fixed-path","aauth":"needs-credentials","ap2":"needs-credentials","ap2-checkout-mandate":"needs-credentials","vcap":"needs-credentials","tap":"needs-credentials","agent-attribution-protocol":"needs-credentials","agent-audit-trail":"needs-credentials","artf":"needs-credentials","erc-8183":"not-http","erc-8226":"not-http","dns-aid":"not-http","agtp":"not-http","slim":"not-http","spiffe":"not-http","wimse":"not-http","http-message-signatures":"no-fixed-path","ans":"no-fixed-path","aip":"client-side","webmcp":"client-side","web-agent-protocol":"client-side","agent-client-protocol":"client-side","a2ui":"no-fixed-path","ag-ui":"no-fixed-path","mcp-apps":"no-fixed-path","openai-apps-sdk-manifests":"no-fixed-path","oasf":"no-fixed-path","aamp":"no-fixed-path","agora-commerce-protocol":"no-fixed-path","osi":"no-fixed-path","nlip":"no-fixed-path","emv-agentic-payments":"no-fixed-path","aiagent-auth":"no-fixed-path","dan":"not-http","mcp-registry":"no-fixed-path","wimse-aims":"no-fixed-path","personal-agent-protocol":"no-fixed-path","aauth-hardt":"no-fixed-path","cloudflare-pay-per-crawl":"no-fixed-path","wimse-agent-audit-record":"no-fixed-path","mcp-server-cards":"no-fixed-path","dawn-agent-discovery-framework":"no-fixed-path","agent-identity-document":"no-fixed-path","mcp-dns-discovery":"no-fixed-path","agent-principal-binding":"no-fixed-path","aip-delegation-chain":"no-fixed-path","credential-delegation-protocol-wimse":"no-fixed-path","agent-delegation-receipts":"no-fixed-path","aauth-r3":"no-fixed-path","acip":"no-fixed-path","knowledge-linkset":"no-fixed-path","scitt-ai-agent-execution":"no-fixed-path","agent-channel-fan-out":"no-fixed-path","aagv":"no-fixed-path","agentic-payments-gating-model":"no-fixed-path","idmandat-credential":"no-fixed-path","lws10-authn-ssi-cid":"no-fixed-path","wimse-workload-identity-metadata":"no-fixed-path","haace":"no-fixed-path","local-tool-call-proof":"no-fixed-path","agent-authorization-envelope":"no-fixed-path","a2wp":"no-fixed-path","agent-decision-commitment":"no-fixed-path","gbz-185-agent-interconnection":"no-fixed-path","amp-ant":"needs-credentials","x401":"no-fixed-path","kyapay-token":"needs-credentials","iab-comp":"no-fixed-path","agent-commerce-kit":"no-fixed-path","otel-genai-semconv":"not-http","erc-8001":"not-http","erc-8126":"not-http","erc-8196":"not-http","jafar":"no-fixed-path","anonymous-bot-auth":"no-fixed-path","workload-authz-grant":"needs-credentials","oauth-id-continuation":"needs-credentials","oauth-agent-delegation":"no-fixed-path","opena2a-aap":"no-fixed-path"},"coverage":{"discover":["ard","ai-catalog-well-known-file","api-catalog-rfc9727"],"identify":[],"permit":["cloudflare-content-signals-policy","auth-md"],"read":["llms-txt","agents-md","cloudflare-markdown-for-agents"],"act":["anthropic-agent-skills-format"],"coordinate":[],"pay":[],"present":[],"account":[]},"rules":"https://agenticweb.wiki/data/probes.json","extracted":{"catalogs":[{"path":"/.well-known/ard.json","spec_version":"1.0","host":"Fly.io","entries":4,"types":["application/mcp-server-card+json","application/vnd.oai.openapi+json","text/markdown; profile=\"urn:air:agent-skills\""]},{"path":"/.well-known/ai-catalog.json","spec_version":"1.0","host":"Fly.io","entries":4,"types":["application/mcp-server-card+json","application/vnd.oai.openapi+json","text/markdown; profile=\"urn:air:agent-skills\""]}],"mcp_endpoints":[{"name":"sprites","title":"Fly.io Sprites","version":"1.0.0","tools":["list_sprites","create_sprite","destroy_sprite","exec_list","exec","exec_kill","checkpoint_create","checkpoint_list","checkpoint_get","checkpoint_restore","policy_network_get","policy_network_update","service_list","service_get","service_create","service_start","service_stop","service_logs","file_read","file_write"],"server_card":"/.well-known/mcp/server-card.json","source":"/.well-known/mcp/server-card.json","url":"https://sprites.dev/mcp","transport":"streamable-http","protocol_versions":["2025-11-25"]}],"api_specs":[{"url":"https://docs.fly.io/api/machines/openapi.json","type":"application/vnd.oai.openapi+json","source":"/.well-known/ard.json"},{"url":"https://docs.fly.io/api/machines/openapi.json","type":"application/vnd.oai.openapi+json","source":"/.well-known/ai-catalog.json"},{"url":"https://docs.fly.io/api/machines/openapi.json","type":"application/json","source":"/.well-known/api-catalog"},{"url":"https://docs.fly.io/machines/api","type":"text/html","source":"/.well-known/api-catalog"},{"url":"https://api.sprites.dev/openapi.json","type":"application/json","source":"/.well-known/api-catalog"},{"url":"https://sprites.dev/api","type":"text/html","source":"/.well-known/api-catalog"},{"url":"https://fly.io/sprites/ecosystem","type":"text/html","source":"/.well-known/api-catalog"}],"agent_skills":[{"name":"fly-machines-api","description":"Call the Fly.io Machines API to create, start, stop, and destroy VMs programmatically. Use when an agent needs to run a container on Fly.io from code instead of flyctl, such as spinning up a VM per u…","type":"skill-md","url":"https://fly.io/agent-skills/fly-machines-api/SKILL.md","has_digest":true,"source":"/.well-known/agent-skills/index.json"},{"name":"sprites-quickstart","description":"Create a Fly.io Sprite — a persistent Linux VM an agent can build, test, and run services in — and connect to it over MCP or the CLI. Use when an agent needs its own computer to run untrusted or expl…","type":"skill-md","url":"https://fly.io/agent-skills/sprites-quickstart/SKILL.md","has_digest":true,"source":"/.well-known/agent-skills/index.json"}],"llms_txt_summary":{"title":"Fly.io","description":"Fly.io is a global public cloud for running full-stack and AI applications. Customer","links":41,"sections":["Product","Documentation","SDKs and client libraries","Security and compliance","Pages"],"full_version":false},"agents_md_summary":{"title":"Get Fly.io-ready","bytes":8883},"robots_ai_policy":{"allowed":[],"blocked":[],"partial":[],"unlisted_default":"partial","agentmap":null,"sitemaps":["https://fly.io/sitemap.xml"],"content_signals":["search=yes, ai-input=yes, ai-train=yes"],"license":[]},"root_readability":{"render_mode":"markdown_native","html_bytes":6091,"visible_text_bytes":5339,"visible_words":782,"text_to_html_ratio":0.877,"estimated_tokens":1335,"html_bloat_ratio":1.141,"js_shell_only":false,"has_main_landmark":false,"h1_count":1,"h2_count":0,"heading_hierarchy_valid":true,"table_count":0,"table_rows":6,"first_content_byte_offset":0,"meta_robots_directives":[],"snippet_or_ai_blocked_by_meta":false,"json_ld_types":[],"has_attribute_rich_schema":false,"vary_accept_present":true,"html_link_alternates":[]},"emerging_signals":{"unknown_robots_directives":["schemamap"]}}}}