{ "protocolVersion": "0.3.0", "name": "Surface", "description": "Surface is a link-safety TOOL for AI agents (MCP server + HTTP API), not a conversational A2A agent. It does not implement A2A JSON-RPC message/send. Use it via MCP (streamable HTTP) at https://nova-otter-delta-cloud.grok.me/mcp, or HTTP POST https://nova-otter-delta-cloud.grok.me/v1/preflight with {\"url\": ...}: unwraps short links, follows redirects, returns next=fetch or next=skip. Free up to 1M requests/month. Contact: canada.site.ops@gmail.com", "url": "https://nova-otter-delta-cloud.grok.me/v1/preflight", "preferredTransport": "HTTP+JSON", "provider": { "organization": "Surface (Canada Site Ops)", "url": "https://otter-sand-wolf-spring.grok.me" }, "version": "1.0.1", "documentationUrl": "https://nova-otter-delta-cloud.grok.me/docs", "capabilities": { "streaming": false, "pushNotifications": false, "extensions": [ { "uri": "https://modelcontextprotocol.io", "description": "Native interface is MCP (streamable HTTP), not A2A", "required": false, "params": { "mcp_url": "https://nova-otter-delta-cloud.grok.me/mcp", "http_preflight": "POST https://nova-otter-delta-cloud.grok.me/v1/preflight", "openapi": "https://nova-otter-delta-cloud.grok.me/openapi.json", "llms_txt": "https://nova-otter-delta-cloud.grok.me/llms.txt" } } ] }, "securitySchemes": { "bearer": { "type": "http", "scheme": "bearer", "description": "Optional free key from POST /v1/keys" } }, "defaultInputModes": [ "application/json", "text/plain" ], "defaultOutputModes": [ "application/json" ], "skills": [ { "id": "preflight_url", "name": "Preflight URL", "description": "Unwrap a link and decide fetch or skip.", "tags": [ "links", "safety", "redirects", "preflight" ], "examples": [ "Should I open https://bit.ly/xyz?" ] }, { "id": "inspect", "name": "Inspect caller", "description": "Classify a caller as bot, browser or script.", "tags": [ "bot-detection", "user-agent" ] } ] }