{"tool1":{"_id":"69b2da6867df398baec12e43","name":"HubSpot","slug":"hubspot","url":"https://hubspot.com","description":"","logo":"","category":"CRM","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"HubSpot's REST API supports field selection and pagination, but lacks explicit batching endpoints and response compaction features, resulting in potentially verbose payloads for complex CRM data.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"HubSpot provides a comprehensive REST API with official SDKs in Node.js and Python, a CLI tool, and developer documentation, but lacks GraphQL and MCP server support which would elevate it to 8+.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"HubSpot supports API key authentication with scoped permissions and OAuth 2.0, enabling autonomous agent authentication without human intervention, though no mention of API key rotation or granular token expiration.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"No response time data collected and rate limits not documented in signals; standard REST API should handle reasonable concurrency but lack of conditional request support (ETags) and unknown rate limit generosity suggests adequate but not exceptional performance.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"HubSpot has comprehensive developer documentation and structured data on homepage, but no OpenAPI spec provided, no llms.txt or agents.json endpoints, and robots.txt blocks agents, making discovery friction-prone.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"As an enterprise SaaS platform, HubSpot likely has versioning and status monitoring, but signals lack explicit evidence of idempotency keys, API versioning strategy, or consistent error schemas.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"HubSpot supports scoped API keys and OAuth permissions enabling restricted access, but no evidence of sandbox environment, dry-run modes, or operation reversal capabilities for destructive actions like contact deletion.","na":false},"reactivity":{"score":6,"confidence":"scanner","evidence":"HubSpot supports webhooks for real-time events on contacts, deals, and companies, enabling reactive workflows, but no streaming or SSE alternatives, limiting efficiency for agents needing continuous data updates.","na":false}},"agentGrade":"B","agentScore":6.14,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":["Node (@hubspot/local-dev-lib)","Python (hubspot)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":46,"badgeEmbedCount":16,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.670Z","updatedAt":"2026-05-25T10:41:16.171Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:27:50.494Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":674509,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":false}},"packages":{"npm":[{"name":"@hubspot/api-client","description":"NodeJS v3 [HubSpot API](https://developers.hubspot.com/docs/api/overview) SDK(Client) files","version":"13.4.0"},{"name":"@hubspot/local-dev-lib","description":"Provides library functionality for HubSpot local development tooling, including the HubSpot CLI","version":"5.1.1"},{"name":"@hubspot/cli","description":"The official CLI for developing on HubSpot","version":"8.1.0"},{"name":"hubspot","description":"A node wrapper for the HubSpot API","version":"2.3.14"},{"name":"react-hubspot-form","description":"A React component to render HubSpot forms.","version":"1.3.7"}],"pypi":[{"name":"hubspot","version":"0.1.14dev","description":"UNKNOWN"}],"cli":true,"sdks":["Node (@hubspot/local-dev-lib)","Python (hubspot)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Lack of OpenAPI specification and robots.txt agent blocking make API discovery and integration significantly harder for AI agents compared to modern API-first platforms.","agentSummary":"HubSpot offers solid REST API access with SDKs and webhooks, supporting autonomous agent authentication and programmatic CRM operations. However, missing OpenAPI specs, no MCP server, and agent-blocking robots.txt create notable friction for seamless AI integration."}},"tool2":{"_id":"69b2da6867df398baec12e46","name":"Salesforce","slug":"salesforce","url":"https://salesforce.com","description":"","logo":"","category":"CRM","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Salesforce APIs support field selection and pagination, but the platform's complex object model and mandatory fields often result in larger-than-necessary responses; no evidence of compact response formats or batch optimization.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Salesforce provides REST API, CLI (@salesforce/cli), and SDKs in Node and Python, plus structured data on homepage, but lacks GraphQL support and no MCP server integration, limiting modern agent frameworks.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"Salesforce supports OAuth 2.0 and API key authentication with scoped permissions, enabling autonomous agent authentication, though OAuth flow adds complexity compared to simpler API key-only systems.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Salesforce has reasonable rate limits and API versioning, but no response time data collected, no evidence of ETag support for conditional requests, and concurrent request handling is standard but not explicitly optimized.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"Salesforce has developer documentation and structured data on homepage, but no OpenAPI spec found, no .llms.txt or agents.json files, making API discovery and integration harder than API-first platforms.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"Salesforce supports API versioning and has mature infrastructure, but no evidence of idempotency key support or consistent error schemas; robots.txt blocks agents suggesting potential reliability concerns for automated access.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"Salesforce offers scoped OAuth tokens and sandboxes for testing, but no dry-run capability, no explicit undo mechanisms, and robots.txt blocking agents suggests safety-first design may limit autonomous operation.","na":false},"reactivity":{"score":5,"confidence":"scanner","evidence":"Salesforce supports webhooks and streaming APIs for some use cases, but no evidence of SSE, push notifications, or efficient polling mechanisms; webhook coverage may be incomplete across all object types.","na":false}},"agentGrade":"B","agentScore":6.1,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":["Node (@salesforce/plugin-settings)","Python (salesforce)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":29,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.671Z","updatedAt":"2026-06-02T15:52:35.146Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:28:04.232Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":598305,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"@salesforce/cli","description":"The Salesforce CLI","version":"2.126.4"},{"name":"@salesforce/plugin-settings","description":"configure the Salesforce CLI","version":"2.4.60"},{"name":"@salesforce/sf-plugins-core","description":"Utils for writing Salesforce CLI plugins","version":"12.2.6"},{"name":"@salesforce/types","description":"contains typescript types for salesforce objects","version":"1.7.1"},{"name":"@salesforce/templates","description":"Salesforce JS library for templates","version":"66.4.1"}],"pypi":[{"name":"salesforce","version":"0.0.1","description":"A package to perform API calls to Salesforce"}],"cli":true,"sdks":["Node (@salesforce/plugin-settings)","Python (salesforce)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"The absence of an OpenAPI specification and agent-friendly metadata files (.llms.txt, agents.json) combined with robots.txt blocking agents creates significant friction for AI agents attempting to discover and autonomously integrate with Salesforce APIs.","agentSummary":"Salesforce offers solid programmatic access via REST APIs and SDKs with proper authentication mechanisms, making it serviceable for agent integration, but lacks modern agent-first signals (OpenAPI, MCP, .llms.txt) and appears to actively discourage autonomous bot access. Enterprise reliability and scoped permissions are strengths, while discovery friction and potential safety restrictions present notable obstacles."}}}