{"tool1":{"_id":"69b2da6867df398baec12f57","name":"Loom","slug":"loom","url":"https://loom.com","description":"","logo":"","category":"Productivity","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":3,"confidence":"scanner","evidence":"No API documentation available to assess field selection or pagination; homepage content length (199KB) suggests verbose responses typical of video platforms without optimization.","na":false},"access":{"score":2,"confidence":"scanner","evidence":"No OpenAPI spec, no REST API documentation, no MCP server, and no public developer docs; only scattered SDK packages (embed, record-sdk) suggest limited programmatic access.","na":false},"auth":{"score":2,"confidence":"scanner","evidence":"No documented API key system or authentication mechanism; lack of developer docs makes autonomous agent authentication infeasible.","na":false},"speed":{"score":2,"confidence":"scanner","evidence":"No documented rate limits, caching mechanisms, or conditional request support; response time data absent from signals.","na":false},"discoverability":{"score":2,"confidence":"scanner","evidence":"No OpenAPI spec, no llms.txt or agents.json, no developer documentation, and robots.txt blocks agents; making the tool actively hostile to agent discovery.","na":false},"reliability":{"score":2,"confidence":"scanner","evidence":"No documented API versioning, idempotency keys, or consistent response schemas; absence of any developer documentation prevents verification of reliability practices.","na":false},"safety":{"score":1,"confidence":"scanner","evidence":"No test/sandbox mode, no dry-run capabilities, and no scoped access tokens documented; video platform with no apparent safety controls for agent operations.","na":false},"reactivity":{"score":1,"confidence":"scanner","evidence":"No evidence of webhooks, streaming, SSE, or efficient polling mechanisms in available signals.","na":false}},"agentGrade":"F","agentScore":2.08,"accessMethods":{"restApi":false,"graphql":false,"cli":true,"sdk":["Node (@atlaskit/editor-plugin-loom)","Python (loom)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":40,"badgeEmbedCount":5,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.756Z","updatedAt":"2026-08-11T15:55:41.776Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:46:27.030Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":199523,"hasStructuredData":true,"hasDeveloperDocs":false,"hasAgentMentions":false,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"@atlaskit/editor-plugin-loom","description":"Loom plugin for @atlaskit/editor-core","version":"9.3.4"},{"name":"@shopify/loom-cli","description":"The CLI for loom","version":"1.1.0"},{"name":"@loomhq/record-sdk","description":"The Loom Software Development Kit","version":"4.9.1"},{"name":"@shopify/loom-plugin-babel","description":"loom technology plugin for babel","version":"1.0.2"},{"name":"@shopify/loom-plugin-typescript","description":"loom technology plugin for typescript","version":"1.1.1"},{"name":"firebase-tools","description":"Command-Line Interface for Firebase","version":"15.9.1"},{"name":"@playwright/mcp","description":"Playwright Tools for MCP","version":"0.0.68"},{"name":"@loomhq/loom-embed","description":"SDK for easily embedding videos","version":"1.7.0"},{"name":"mcp-framework","description":"Framework for building Model Context Protocol (MCP) servers in Typescript","version":"0.2.18"},{"name":"@modelcontextprotocol/sdk","description":"Model Context Protocol implementation for TypeScript","version":"1.27.1"}],"pypi":[{"name":"loom","version":"0.0.18","description":"Elegant deployment with Fabric and Puppet."}],"cli":true,"sdks":["Node (@atlaskit/editor-plugin-loom)","Python (loom)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Loom has no public API documentation, no OpenAPI spec, and explicitly blocks AI agents via robots.txt—making it effectively inaccessible to agents without undocumented workarounds.","agentSummary":"Loom is a consumer/prosumer video platform with minimal programmatic access and no official agent support; it is effectively off-limits to autonomous agents due to lack of API documentation and explicit anti-agent signals in robots.txt."}},"tool2":{"_id":"69b2da6867df398baec12f4e","name":"Google Docs","slug":"google-docs","url":"https://docs.google.com","description":"","logo":"","category":"Productivity","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Google Docs API supports field masks for selective data retrieval and pagination, but responses can be verbose with nested document structures; no obvious batching or streaming optimizations documented.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Google Docs has a mature REST API with official SDKs, and multiple community MCP server implementations exist (@a-bonus/google-docs-mcp, google-docs-mcp), enabling programmatic access via multiple pathways.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"Google Docs uses OAuth 2.0 with scoped permissions and service accounts, allowing autonomous agent authentication; however, OAuth flow requires initial setup and token refresh handling adds complexity.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Response times not measured in signals, but Google's infrastructure typically provides good latency; rate limits exist but are reasonable for most use cases, though no ETag support is evident.","na":false},"discoverability":{"score":8,"confidence":"scanner","evidence":"Google Docs has comprehensive official documentation, predictable REST API patterns, and clear error messages; however, no OpenAPI spec was found on the main site, though the API is well-documented elsewhere.","na":false},"reliability":{"score":7,"confidence":"scanner","evidence":"Google Docs API uses versioning (v1) with stable schemas and Google's reliability infrastructure; however, no explicit idempotency key support or published SLA details are evident from collected signals.","na":false},"safety":{"score":6,"confidence":"scanner","evidence":"OAuth scoped permissions provide access control, and Google Workspace has audit logs; however, no explicit sandbox/test mode, dry-run capability, or built-in undo for API operations is apparent.","na":false},"reactivity":{"score":3,"confidence":"scanner","evidence":"No webhooks, streaming, or server-sent events support found in signals; agents must rely on polling for change detection, which is inefficient for real-time collaboration scenarios.","na":false}},"agentGrade":"B","agentScore":6.56,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":[],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":119,"badgeEmbedCount":12,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.750Z","updatedAt":"2026-09-09T11:02:12.576Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:45:54.370Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":916674,"hasStructuredData":false,"hasDeveloperDocs":true,"hasAgentMentions":false,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":false}},"packages":{"npm":[{"name":"google-docs-mustaches","description":"📝Interpolate Google Docs files using mustaches and formatters","version":"1.2.2"},{"name":"@a-bonus/google-docs-mcp","description":"MCP server for Google Docs, Sheets, and Drive","version":"1.1.0"},{"name":"google-docs-mcp","description":"Model Context Protocol for Google Docs integration","version":"1.0.0"},{"name":"react-google-docs-viewer","description":"Google Docs Viewer wrapper for ReactJS","version":"1.0.1"},{"name":"@maxim_mazurok/gapi.client.docs-v1","description":"TypeScript typings for Google Docs API v1","version":"0.2.20260310"},{"name":"@google/gemini-cli-core","description":"Gemini CLI Core","version":"0.33.0"},{"name":"@google/gemini-cli","description":"Gemini CLI","version":"0.33.0"},{"name":"firebase-tools","description":"Command-Line Interface for Firebase","version":"15.9.1"},{"name":"chrome-devtools-mcp","description":"MCP server for Chrome DevTools","version":"0.20.0"},{"name":"@modelcontextprotocol/sdk","description":"Model Context Protocol implementation for TypeScript","version":"1.27.1"}],"pypi":[],"cli":true,"sdks":[]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Lack of webhooks or real-time change notifications forces agents to use inefficient polling, and the absence of an official MCP server (only community implementations) creates fragmentation in agent integration patterns.","agentSummary":"Google Docs offers solid programmatic access through a mature REST API and emerging MCP server support, with good discoverability and OAuth-based auth suitable for autonomous agents. However, limited real-time reactivity and reliance on polling for change detection make it less optimal for reactive workflows."}}}