{"tool1":{"_id":"69b2da6867df398baec12e22","name":"Todoist","slug":"todoist","url":"https://todoist.com","description":"","logo":"","category":"Project Management","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Todoist offers a REST API with pagination support, but lack of OpenAPI spec and no visible field selection/sparse fieldset capabilities suggest moderate token efficiency with room for optimization.","na":false},"access":{"score":8,"confidence":"scanner","evidence":"Multiple official SDKs (Node, Python), official TypeScript API wrapper, CLI tools, and a dedicated MCP server (todoist-mcp) provide excellent programmatic access across languages and frameworks.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"API key authentication with token-based access enables autonomous agent authentication without human intervention or OAuth complexity.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"No response time data available and rate limits not documented in signals; standard REST API suggests adequate but unexceptional performance without visible optimizations like ETags or conditional requests.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"Absence of OpenAPI spec, llms.txt, or agents.json files significantly hampers discoverability; homepage mentions agents but provides no structured discovery mechanism or predictable API documentation.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"SDK availability and official API wrapper suggest basic reliability, but lack of visible API versioning strategy, idempotency key documentation, or status page communication in signals indicates moderate consistency assurance.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"No evidence of sandbox/test mode, dry-run capabilities, or token scoping mechanisms; basic API key auth provides some isolation but lacks granular permission controls for safe agent delegation.","na":false},"reactivity":{"score":4,"confidence":"scanner","evidence":"No webhook, streaming, or SSE support evident in signals; agents must rely on polling to detect changes, making real-time synchronization inefficient.","na":false}},"agentGrade":"B","agentScore":6.4,"accessMethods":{"restApi":false,"graphql":false,"cli":true,"sdk":["Node (todoist-mcp)","Python (todoist)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":43,"badgeEmbedCount":6,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.660Z","updatedAt":"2026-06-01T12:20:39.793Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:25:42.937Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":221027,"hasStructuredData":false,"hasDeveloperDocs":false,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"todoist-mcp","description":"Todoist MCP Server","version":"1.3.0"},{"name":"@doist/todoist-api-typescript","description":"A typescript wrapper for the Todoist REST API.","version":"7.0.0"},{"name":"@doist/todoist-ai","description":"A collection of tools for Todoist using AI","version":"7.11.2"},{"name":"@doist/todoist-cli","description":"TypeScript CLI for Todoist","version":"1.22.1"},{"name":"todoist-ts-cli","description":"Unofficial CLI for Todoist using the official TypeScript SDK","version":"0.3.0"}],"pypi":[{"name":"todoist","version":"0.0.1","description":"todoist is a Python wrapper around the Todoist API"}],"cli":true,"sdks":["Node (todoist-mcp)","Python (todoist)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Absence of OpenAPI specification and standard AI discovery mechanisms (llms.txt, agents.json) combined with robots.txt blocking agents prevents automatic API discovery and integration by AI agents.","agentSummary":"Todoist has solid programmatic access through multiple SDKs and an MCP server, plus API key authentication suitable for autonomous agents, but lacks critical discoverability infrastructure and safety controls. Integration is feasible for dedicated implementations but impeded by missing OpenAPI docs and no real-time event mechanisms forcing agents into polling-based workflows."}},"tool2":{"_id":"69b2da6867df398baec12e16","name":"Shortcut","slug":"shortcut","url":"https://shortcut.com","description":"","logo":"","category":"Project Management","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":5,"confidence":"scanner","evidence":"No OpenAPI spec available to assess response field selection or pagination capabilities, and no evidence of GraphQL or batching support in the collected signals.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Multiple access methods available including an MCP server (@shortcut/mcp), SDKs for Node and Python, and developer documentation, though no REST API specification is published.","na":false},"auth":{"score":6,"confidence":"scanner","evidence":"Likely supports API key authentication given the presence of SDKs and MCP server, but no explicit documentation about scoped permissions, token expiration, or autonomous auth mechanisms is evident.","na":false},"speed":{"score":4,"confidence":"scanner","evidence":"Response time data is missing (null), and no information about rate limits, ETags, or concurrent request support is available from the collected signals.","na":false},"discoverability":{"score":3,"confidence":"scanner","evidence":"No OpenAPI specification found, no agents.json or llms.txt files, and while developer docs exist, the lack of formal API documentation severely limits discoverability for agents.","na":false},"reliability":{"score":4,"confidence":"scanner","evidence":"No information about idempotency keys, API versioning strategy, consistent schemas, or status pages is evident in the collected signals.","na":false},"safety":{"score":3,"confidence":"scanner","evidence":"No evidence of sandbox/test mode, dry-run capabilities, or scoped access tokens in the available data, creating risk for unintended operations.","na":false},"reactivity":{"score":2,"confidence":"scanner","evidence":"No mention of webhooks, streaming, SSE, or polling optimization mechanisms in the collected signals.","na":false}},"agentGrade":"C","agentScore":4.78,"accessMethods":{"restApi":true,"graphql":false,"cli":false,"sdk":["Node (@shortcut/mcp)","Python (shortcut)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":32,"badgeEmbedCount":7,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.655Z","updatedAt":"2026-05-29T18:33:24.898Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:25:05.255Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":208346,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":false,"hasSitemap":true}},"packages":{"npm":[{"name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","version":"1.0.4"},{"name":"@shortcut/mcp","description":"Shortcut MCP Server","version":"0.23.1"},{"name":"@liff/create-shortcut-on-home-screen","description":"@liff/create-shortcut-on-home-screen","version":"2.27.3"},{"name":"magic-string-ast","description":"magic-string with AST shortcut.","version":"1.0.3"},{"name":"@tauri-apps/plugin-global-shortcut","description":"![plugin-global-shortcut](https://github.com/tauri-apps/plugins-workspace/raw/v2/plugins/global-shortcut/banner.png)","version":"2.3.1"}],"pypi":[{"name":"shortcut","version":"0.0.2","description":"A X platform super simple api and command line application for creating shortcuts"}],"cli":false,"sdks":["Node (@shortcut/mcp)","Python (shortcut)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Absence of a published OpenAPI specification makes it impossible for agents to autonomously discover API capabilities, endpoints, parameters, and response schemas.","agentSummary":"Shortcut has solid programmatic access infrastructure with an MCP server and multi-language SDKs, but lacks critical agent-readiness features like API documentation, discoverability mechanisms, and safety guardrails. Agents would require extensive manual configuration and cannot autonomously discover or validate their interactions with the platform."}}}