{"schema_version":"verify.compare.v1","generated_at":"2026-08-15T10:12:22.236504+00:00","count":1,"missing_servers":[],"results":[{"server_id":"ai.revuo/revuo","display_name":"Revuo","profile_url":"https://verify.sentinelsignal.io/servers/ai.revuo/revuo","compare_url":"https://verify.sentinelsignal.io/compare?server=ai.revuo%2Frevuo","trust_summary_url":"https://verify.sentinelsignal.io/v1/servers/ai.revuo/revuo/trust-summary","claimed":false,"verified_publisher":false,"claim_status":"unclaimed","badge_url":"https://verify.sentinelsignal.io/badge/ai.revuo/revuo.svg","report_url":"https://verify.sentinelsignal.io/v1/servers/ai.revuo/revuo/report","policy_url":"https://verify.sentinelsignal.io/v1/servers/ai.revuo/revuo/policy","evidence_url":"https://verify.sentinelsignal.io/api/v1/servers/ai.revuo/revuo/evidence","commerce_signal":null,"payment_capable":null,"delegation_level":null,"risk_flags":[],"strengths":["report_available","policy_available","badge_available"],"limitations":["unclaimed_profile","publisher_not_verified"],"last_seen":null,"last_scored":"2026-08-15T03:53:45.439729+00:00","recommended_agent_action":"allow_with_policy_review","observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"}}],"servers":[{"namespace":"ai.revuo","name":"revuo","title":"Revuo","description":"Agent-callable B2B SaaS directory: capability-structured, continuously verified listings.","homepage_url":null,"docs_url":null,"icon_url":null,"support_url":null,"remote_url":"https://www.revuo.ai/api/mcp","server_card_url":null,"latest_version":"1.0.0","current_status":"healthy","current_score":61.46,"transport_type":"streamable-http","has_oauth":false,"has_dcr":false,"has_prompts":false,"tool_count":14,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-08-15T03:53:45.439729+00:00","registry_source":"official_registry","registry_identifier":"ai.revuo/revuo","canonical_identifier":null,"current_score_components":{"auth_operability_score":2.0,"error_contract_score":2.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":3.0,"backward_compatibility_score":4.0,"slo_health_score":3.0,"security_hygiene_score":2.0,"task_success_score":4.0,"trust_confidence_score":4.0,"abuse_noise_ratio_score":4.0,"prompt_contract_score":0.0,"resource_contract_score":0.0,"discovery_metadata_score":1.0,"registry_consistency_score":2.0,"installability_score":4.0,"session_semantics_score":4.0,"tool_surface_design_score":4.0,"result_shape_stability_score":4.0,"oauth_interop_score":0.0,"recovery_semantics_score":0.0,"maintenance_signal_score":4.0,"adoption_signal_score":2.0,"freshness_confidence_score":4.0,"transport_fidelity_score":4.0,"spec_recency_score":2.0,"session_resume_score":3.0,"step_up_auth_score":0.0,"transport_compliance_score":2.0,"utility_coverage_score":0.0,"advanced_capability_coverage_score":0.0,"connector_publishability_score":2.0,"tool_snapshot_churn_score":4.0,"connector_replay_score":4.0,"request_association_score":0.0,"interactive_flow_safety_score":0.0,"action_safety_score":3.0,"official_registry_presence_score":4.0,"safety_transparency_score":2.0,"tool_capability_clarity_score":4.0,"destructive_operation_safety_score":3.0,"egress_ssrf_resilience_score":1.0,"execution_sandbox_safety_score":4.0,"data_exfiltration_resilience_score":3.0,"least_privilege_scope_score":3.0,"secret_handling_hygiene_score":3.0,"dependency_supply_chain_signal_score":1.0,"input_sanitization_safety_score":3.0,"tool_namespace_clarity_score":4.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use.","badge":"score-medium","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":100.0,"label":"high","reason":"Based on 20 recent validations, 14 captured checks, and validation age of 6.3 hours.","live_check_count":14,"validation_age_hours":6.31,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":14,"validation_age_hours":6.31,"freshness_threshold_hours":24}},"incident_feed":[],"disputes":[],"remediations":[],"client_remediation_modes":[],"client_profiles":[],"client_readiness_verdicts":[],"publishability_policy_profiles":[],"compatibility_fixtures":[],"install_snippets":{},"aliases":[],"raw_evidence":{"checks":{"probe_noise_resilience":{"status":"ok","latency_ms":403.38,"details":{"url":"https://www.revuo.ai/robots.txt","http_status":200,"headers":{"content-type":"text/plain; charset=utf-8","strict-transport-security":"max-age=315360000; includeSubDomains; preload"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"error","latency_ms":335.64,"details":{"url":"https://www.revuo.ai/.well-known/mcp/server-card.json","error":"Client error '404 Not Found' for url 'https://www.revuo.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_protected_resource":{"status":"error","latency_ms":288.38,"details":{"url":"https://www.revuo.ai/.well-known/oauth-protected-resource","error":"Client error '404 Not Found' for url 'https://www.revuo.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_authorization_server":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"openid_configuration":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"initialize":{"status":"ok","latency_ms":302.51,"details":{"url":"https://www.revuo.ai/api/mcp","payload":{"result":{"protocolVersion":"2025-03-26","capabilities":{"logging":{},"tools":{}},"serverInfo":{"name":"revuo","title":"Revuo","version":"1.0.0","description":"B2B SaaS directory built for the AI-citation era. Capability-structured, continuously verified listings exposed to agents via MCP. Three locked verticals: PIM/PXM, Tender Management, Billing & Invoicing.","icons":[{"src":"https://www.revuo.ai/favicon.svg","mimeType":"image/svg+xml","sizes":["any"]}],"websiteUrl":"https://www.revuo.ai"}},"id":1,"jsonrpc":"2.0"},"http_status":200,"headers":{"content-type":"text/event-stream","strict-transport-security":"max-age=315360000; includeSubDomains; preload"}}},"protocol_version_probe":{"status":"warning","latency_ms":null,"details":{"claimed_version":"2025-03-26","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25","releases_behind":2,"lag_days":244}},"tools_list":{"status":"ok","latency_ms":571.91,"details":{"url":"https://www.revuo.ai/api/mcp","payload":{"result":{"tools":[{"name":"tools.get","description":"Get detailed information about a specific MCP tool, scoped to one product. Pass both the productSlug and the tool name — same-named tools across products are distinct. Response: { tool: { normalizedName, displayName, description, inputSchema, productSlug, productName, serverQualifiedName, isRemoteCapable, accessModel, healthScore, readOnly, destructive, tier, unverified, verifiedAt, position (always 1), rank (always 1.0) } }. Errors: { error: { code: 'not_found', ... } }.","inputSchema":{"type":"object","properties":{"productSlug":{"description":"Slug of the product that exposes this tool (e.g. 'linear', 'github')","type":"string"},"name":{"description":"Normalized tool name (e.g. 'search_issues', 'send_message')","type":"string"}},"required":["productSlug","name"]},"outputSchema":{"type":"object","properties":{"tool":{"type":["object","null"],"properties":{"position":{"type":"integer"},"rank":{"type":"number"},"normalizedName":{"type":"string"},"displayName":{"type":"string"},"description":{"type":["string","null"]},"inputSchema":true,"productSlug":{"type":"string"},"productName":{"type":"string"},"serverQualifiedName":{"type":["string","null"]},"isRemoteCapable":{"type":"boolean"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"relevance":{"type":["integer","null"]},"accessModel":{"type":["string","null"],"enum":["Unknown","Open","Keyed","Account","Commercial",null]},"healthScore":{"type":["integer","null"]},"readOnly":{"type":["boolean","null"]},"destructive":{"type":["boolean","null"]},"callableNow":{"type":["boolean","null"]},"setup":{"type":["string","null"]}},"required":["position","rank","normalizedName","displayName","productSlug","productName"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"categories.list","description":"Lists all product categories in the directory. Use category slugs to filter product searches in products.search / products.find_by_capability. Response: { categories: [{ slug, name, description }] }. Note: this is a thin call. For a full directory briefing (subcategories, capability slugs per category, product counts, locked-vertical flags), prefer directory.overview as a single up-front call.","inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"categories":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]}},"required":["slug","name","description"]}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"mcp.score_server","description":"Score an MCP server against the Revuo quality rubric. Pass either a product slug (scored from cached probe data on the product's direct-probe MCP entry; fast) OR an endpoint URL (probed live). Returns: { target, server, summary { coreAwarded/Max/Percent, extensionAwarded/Max/Percent, probedAt }, categories[] (ServerMetadata, CapabilityQuality, ConfigurationUX, RevuoExtensions), checks[] (every rubric check with awarded/max/passed/evaluated/fixSuggestion/evidence), topFixes[] (failed checks ranked by points-at-stake), probe (probe diagnostics) }. Core score (max 100) is Smithery-comparable. Extension score covers Revuo-specific signals (response time today; freshness, error envelope, schema stability are not yet implemented and report evaluated=false — excluded from totals, never counted as a failure). A check with evaluated=false is a Revuo gap, not the server's fault. Errors: { error: { code: 'bad_input'|'not_found', ... } }.","inputSchema":{"type":"object","properties":{"slug":{"description":"Product slug whose direct-probe MCP server to score. Mutually exclusive with url.","type":["string","null"],"default":null},"url":{"description":"MCP endpoint URL (HTTPS) to probe and score. Mutually exclusive with slug.","type":["string","null"],"default":null},"refresh":{"description":"When passing slug, force a fresh probe instead of using cached probe data. Default false.","type":"boolean","default":false}}},"outputSchema":{"type":"object","properties":{"target":{"type":["object","null"],"properties":{"kind":{"type":"string"},"value":{"type":"string"}},"required":["kind","value"]},"server":{"type":["object","null"],"properties":{"name":{"type":["string","null"]},"title":{"type":["string","null"]},"version":{"type":["string","null"]},"description":{"type":["string","null"]},"websiteUrl":{"type":["string","null"]},"protocolVersion":{"type":["string","null"]},"toolCount":{"type":"integer"}},"required":["name","title","version","description","websiteUrl","protocolVersion","toolCount"]},"summary":{"type":["object","null"],"properties":{"coreAwarded":{"type":"number"},"coreMax":{"type":"number"},"corePercent":{"type":"number"},"extensionAwarded":{"type":"number"},"extensionMax":{"type":"number"},"extensionPercent":{"type":"number"},"probedAt":{"type":"string","format":"date-time"}},"required":["coreAwarded","coreMax","corePercent","extensionAwarded","extensionMax","extensionPercent","probedAt"]},"categories":{"type":["array","null"],"items":{"type":"object","properties":{"category":{"type":"string"},"awarded":{"type":"number"},"max":{"type":"number"},"percent":{"type":"number"},"passed":{"type":"integer"},"total":{"type":"integer"},"isCore":{"type":"boolean"}},"required":["category","awarded","max","percent","passed","total","isCore"]}},"checks":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string"},"name":{"type":"string"},"awarded":{"type":"number"},"max":{"type":"number"},"passed":{"type":"boolean"},"isCore":{"type":"boolean"},"fixSuggestion":{"type":["string","null"]},"evidence":{"type":["string","null"]},"evaluated":{"type":"boolean","default":true}},"required":["id","category","name","awarded","max","passed","isCore","fixSuggestion","evidence"]}},"topFixes":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string"},"pointsAtStake":{"type":"number"},"suggestion":{"type":"string"}},"required":["id","category","pointsAtStake","suggestion"]}},"probe":{"type":["object","null"],"properties":{"fromCache":{"type":"boolean"},"success":{"type":"boolean"},"responseTimeMs":{"type":"integer"},"error":{"type":["string","null"]},"endpoint":{"type":["string","null"]}},"required":["fromCache","success","responseTimeMs","error","endpoint"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"products.get_mcp_setup","description":"Get MCP server setup instructions for a product. Returns available servers, their tools, connection details, and whether they support remote (hosted) access. Each server carries a machine-usable connect block: { transport ('http'|'local'), url, mcpJson (paste-ready snippet), claudeMcpAddCommand (`claude mcp add ...`), installLinkUrl (a tracked link that routes through Revuo for vendor attribution, then redirects to the product) }. For remote servers use mcpJson/claudeMcpAddCommand directly; for local servers follow repositoryUrl. Each server also carries schema { hash, stable, lastChangeAt } — cache the hash and pass it to tools.changes(knownHash) later to detect tool-schema drift (rug-pull / tool-poisoning). Response when MCP support exists: { product: { slug, name, websiteUrl, tier, unverified, verifiedAt }, hasMcpSupport: true, totalToolCount, servers[], agentReadiness? }. Response when product exists but lacks MCP: { product: {...}, hasMcpSupport: false, message }. Errors: { error: { code: 'not_found', ... } }.","inputSchema":{"type":"object","properties":{"slug":{"description":"Product slug (URL-friendly identifier)","type":"string"}},"required":["slug"]},"outputSchema":{"type":"object","properties":{"product":{"type":["object","null"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"websiteUrl":{"type":"string"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"houseProduct":{"type":["boolean","null"],"default":null},"sponsored":{"type":["boolean","null"],"default":null}},"required":["slug","name","websiteUrl","tier","unverified","verifiedAt"]},"hasMcpSupport":{"type":["boolean","null"]},"totalToolCount":{"type":["integer","null"]},"servers":{"type":["array","null"],"items":{"type":"object","properties":{"qualifiedName":{"type":"string"},"displayName":{"type":"string"},"description":{"type":["string","null"]},"repositoryUrl":{"type":["string","null"]},"isVerified":{"type":"boolean"},"verifiedSource":{"type":"string","enum":["None","Probe","Registry"]},"isRemoteCapable":{"type":"boolean"},"useCount":{"type":"integer"},"license":{"type":["string","null"]},"registries":{"type":"array","items":{"type":"string"}},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"inputSchema":true},"required":["name","description","inputSchema"]}},"setup":{"type":"object","properties":{"steps":{"type":"array","items":{"type":"string"}},"isRemote":{"type":"boolean"},"repositoryUrl":{"type":["string","null"]}},"required":["steps","isRemote","repositoryUrl"]},"connect":{"type":"object","properties":{"transport":{"type":"string"},"url":{"type":["string","null"]},"mcpJson":{"type":["string","null"]},"claudeMcpAddCommand":{"type":["string","null"]},"installLinkUrl":{"type":"string"}},"required":["transport","url","mcpJson","claudeMcpAddCommand","installLinkUrl"]},"schema":{"type":"object","properties":{"hash":{"type":["string","null"]},"stable":{"type":"boolean"},"lastChangeAt":{"type":["string","null"],"format":"date-time"}},"required":["hash","stable","lastChangeAt"]}},"required":["qualifiedName","displayName","description","repositoryUrl","isVerified","verifiedSource","isRemoteCapable","useCount","license","registries","tools","setup","connect","schema"]}},"agentReadiness":{"type":["object","null"],"properties":{"compositeScore":{"type":"number"},"api":{"type":"object","properties":{"hasPublicApi":{"type":"boolean"},"apiStyles":{"type":"array","items":{"type":"string"}},"authModels":{"type":"array","items":{"type":"string"}},"hasFreeTier":{"type":"boolean"}},"required":["hasPublicApi","apiStyles","authModels","hasFreeTier"]},"aiSummary":{"type":["string","null"]}},"required":["compositeScore","api","aiSummary"]},"message":{"type":["string","null"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"products.get","description":"Get full details for a product by slug, including MCP integration data and agent readiness scores. Response: { product: { slug, name, tagline, description, websiteUrl, logoUrl, pricingModel, currentScore (0-100), tier (free|verified|featured), unverified (true when no approved vendor claim), verifiedAt (ISO; absent if never crawled), categories[], knownLimitations?[] (sourced weaknesses, each with evidenceUrl — weigh before recommending), alternatives?[] (neutral, score-ranked same-category options, self excluded, houseProduct disclosed) }, mcp?: { hasMcpSupport, totalToolCount, totalUseCount, servers[] }, agentReadiness?: { compositeScore (0-100), aiSummary } }. Errors: { error: { code: 'not_found', ... } }.","inputSchema":{"type":"object","properties":{"slug":{"description":"Product slug (URL-friendly identifier)","type":"string"}},"required":["slug"]},"outputSchema":{"type":"object","properties":{"product":{"type":["object","null"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"description":{"type":["string","null"]},"websiteUrl":{"type":"string"},"logoUrl":{"type":["string","null"]},"pricingModel":{"type":"string","enum":["Free","Freemium","Paid","Enterprise","ContactUs"]},"currentScore":{"type":"number"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"categories":{"type":"array","items":{"type":"string"}},"knownLimitations":{"type":["array","null"],"items":{"type":"object","properties":{"summary":{"type":"string"},"detail":{"type":["string","null"]},"evidenceUrl":{"type":"string"},"source":{"type":"string","enum":["UserReview","Editorial","CapabilityGap","ExternalSource"]},"severity":{"type":"string","enum":["Minor","Notable","Significant"]}},"required":["summary","detail","evidenceUrl","source","severity"]}},"alternatives":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"currentScore":{"type":"number"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]}},"required":["slug","name","tagline","currentScore","tier","houseProduct","unverified"]}}},"required":["slug","name","websiteUrl","categories"]},"mcp":{"type":["object","null"],"properties":{"hasMcpSupport":{"type":"boolean"},"totalToolCount":{"type":"integer"},"totalUseCount":{"type":"integer"},"servers":{"type":"array","items":{"type":"object","properties":{"qualifiedName":{"type":"string"},"displayName":{"type":"string"},"isVerified":{"type":"boolean"},"verifiedSource":{"type":"string","enum":["None","Probe","Registry"]},"isRemoteCapable":{"type":"boolean"},"useCount":{"type":"integer"},"toolCount":{"type":"integer"}},"required":["qualifiedName","displayName","isVerified","verifiedSource","isRemoteCapable","useCount","toolCount"]}}},"required":["hasMcpSupport","totalToolCount","totalUseCount","servers"]},"agentReadiness":{"type":["object","null"],"properties":{"compositeScore":{"type":"number"},"aiSummary":{"type":["string","null"]}},"required":["compositeScore","aiSummary"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"tools.find_for_task","description":"Find the best MCP tools for a given task. Describe what you want to accomplish (e.g. 'manage github issues', 'send slack messages', 'query a database') and get ranked results — each result is one (product, tool) pair, since same-named tools across providers are NOT interchangeable. By default only shows tools available via remote (network-hosted) servers. Audience: agent builders looking for installable MCP tools — for B2B SaaS recommendations, prefer products.search or products.find_by_capability. Ranking basis: relevance score desc (+1 per term hit, +3 for full-phrase hit); within an equal relevance tier, callable-now (Open access) + remote + healthy tools are boosted ahead — never a hard filter (a product-bound tool stays in its own money query), then productName. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1; 1.0 = top, scales linearly down by ordinal position) } plus preflight annotations { accessModel (open|keyed|account|commercial), healthScore (0-100, nullable), readOnly, destructive, callableNow (true = usable anonymously right now), setup (one-line 'how to get access' pointer for non-Open tools) }. Response: { task, matchType (none|exactSlug|canonicalSlug|nlpFallback), resolvedCapabilities[], capabilityProducts[] (B2B SaaS products that claim the same capability — empty when matchType=none), results[] (MCP-tool-level matches), buckets { callableNow, requiresSetup } }. Each result: { position, rank, normalizedName, displayName, description, inputSchema, relevance, accessModel, healthScore, readOnly, destructive, callableNow, setup, productSlug, productName, serverQualifiedName, isRemoteCapable, tier, unverified, verifiedAt }. Empty case: { task, matchType, message, suggestedQueries[], suggestedCapabilities[] }.","inputSchema":{"type":"object","properties":{"taskDescription":{"description":"Natural language description of the task you want to accomplish","type":"string"},"remoteOnly":{"description":"If true (default), only return tools from remote-capable MCP servers","type":"boolean","default":true},"access":{"description":"Optional access-class filter: 'open' (callable anonymously), 'keyed', 'account', 'commercial', or 'unknown'. Omit for all — Open tools are boosted, not required.","type":["string","null"],"default":null},"limit":{"description":"Maximum number of tool results to return","type":"integer","default":10}},"required":["taskDescription"]},"outputSchema":{"type":"object","properties":{"task":{"type":["string","null"]},"matchType":{"type":["string","null"],"enum":["None","ExactSlug","CanonicalSlug","NlpFallback",null]},"resolvedCapabilities":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["Unspecified","Integration","Compliance","Format","Standard","Workflow"]}},"required":["slug","name","kind"]}},"capabilityProducts":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"websiteUrl":{"type":"string"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"matchedCapabilities":{"type":"array","items":{"type":"string"}}},"required":["position","rank","slug","name","websiteUrl","matchedCapabilities"]}},"results":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"normalizedName":{"type":"string"},"displayName":{"type":"string"},"description":{"type":["string","null"]},"inputSchema":true,"productSlug":{"type":"string"},"productName":{"type":"string"},"serverQualifiedName":{"type":["string","null"]},"isRemoteCapable":{"type":"boolean"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"relevance":{"type":["integer","null"]},"accessModel":{"type":["string","null"],"enum":["Unknown","Open","Keyed","Account","Commercial",null]},"healthScore":{"type":["integer","null"]},"readOnly":{"type":["boolean","null"]},"destructive":{"type":["boolean","null"]},"callableNow":{"type":["boolean","null"]},"setup":{"type":["string","null"]}},"required":["position","rank","normalizedName","displayName","productSlug","productName"]}},"buckets":{"type":["object","null"],"properties":{"callableNow":{"type":"integer"},"requiresSetup":{"type":"integer"}},"required":["callableNow","requiresSetup"]},"message":{"type":["string","null"]},"suggestedQueries":{"type":["array","null"],"items":{"type":"string"}},"suggestedCapabilities":{"type":["array","null"],"items":{"type":"string"}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"directory.overview","description":"Single 'call this first' entry-point that briefs an agent on the entire Revuo directory. Returns the taxonomy with subcategories, product counts per category, locked-vertical flags (the three verticals Revuo prioritizes), capability slugs valid per category, and the canonical capability-kind taxonomy (integration/compliance/format/standard/workflow). Use this once at the start of a session to ground every subsequent products.search / products.find_by_capability / tools.find_for_task call. Response: { directory: { name, tagline, url, policyUrl, capabilityKinds[] }, lockedVerticals[], categories[] (each with subcategories[], productCount, isLockedVertical, capabilitySlugs[]), tools: { ...tool-name hints } }.","inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"directory":{"type":["object","null"],"properties":{"name":{"type":"string"},"tagline":{"type":"string"},"url":{"type":"string"},"policyUrl":{"type":"string"},"capabilityTaxonomyUrl":{"type":"string"},"capabilityKinds":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"description":{"type":"string"}},"required":["kind","description"]}}},"required":["name","tagline","url","policyUrl","capabilityTaxonomyUrl","capabilityKinds"]},"lockedVerticals":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"rationale":{"type":"string"},"listed":{"type":"boolean"}},"required":["slug","rationale","listed"]}},"categories":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"productCount":{"type":"integer"},"isLockedVertical":{"type":"boolean"},"lockedVerticalRationale":{"type":["string","null"]},"capabilitySlugs":{"type":"array","items":{"type":"string"}},"subcategories":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"productCount":{"type":"integer"},"capabilitySlugs":{"type":"array","items":{"type":"string"}}},"required":["slug","name","description","productCount","capabilitySlugs"]}}},"required":["slug","name","description","productCount","isLockedVertical","lockedVerticalRationale","capabilitySlugs","subcategories"]}},"tools":{"type":["object","null"],"properties":{"search":{"type":"object","properties":{"name":{"type":"string"},"use":{"type":"string"}},"required":["name","use"]},"byCapability":{"type":"object","properties":{"name":{"type":"string"},"use":{"type":"string"}},"required":["name","use"]},"byTask":{"type":"object","properties":{"name":{"type":"string"},"use":{"type":"string"}},"required":["name","use"]},"agentReady":{"type":"object","properties":{"name":{"type":"string"},"use":{"type":"string"}},"required":["name","use"]},"productDetail":{"type":"object","properties":{"name":{"type":"string"},"use":{"type":"string"}},"required":["name","use"]}},"required":["search","byCapability","byTask","agentReady","productDetail"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"rankings.get","description":"Get the published editorial ranking (\"Best {Category}\") for a category. Ordering basis: computed editorial score ONLY (verified capability coverage, evidence verification rate & freshness, agent readiness, data completeness — weights published at /api/methodology). Tier is NOT a ranking input for this tool; positions are never sold. Rankings are published snapshots (monthly schedule; manual publishes are marked) — stable between recomputes and citable. Each entry carries { position, rank (0..1), slug, name, score (0-100), breakdown (raw 0-100 per dimension), tier (annotation only), houseProduct (true = built by Revuo's founder — same formula as everyone, disclosed machine-readably), unverified, verifiedAt }. unrankedCount + unranked[] name the category products that failed an eligibility gate, with reasons. Response: { category, computedAt, methodologyVersion, methodologyUrl, trigger, entries[], unranked[] }. Errors: { error: { code: 'not_found', ... } } — also returned when a category has no published ranking yet.","inputSchema":{"type":"object","properties":{"category":{"description":"Category slug (e.g. 'pim-software'). Use categories.list for valid slugs.","type":"string"},"limit":{"description":"Max ranked entries to return (caps at 50)","type":"integer","default":25}},"required":["category"]},"outputSchema":{"type":"object","properties":{"category":{"type":["string","null"]},"computedAt":{"type":["string","null"],"format":"date-time"},"methodologyVersion":{"type":["string","null"]},"methodologyUrl":{"type":["string","null"]},"trigger":{"type":["string","null"]},"entries":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"websiteUrl":{"type":["string","null"]},"score":{"type":"number"},"breakdown":{"type":"object","additionalProperties":{"type":"number"}},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"}},"required":["slug","name"]}},"unranked":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"reason":{"type":"string"}},"required":["slug","name","reason"]}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"tools.search","description":"Search for MCP tools by capability. Each result is one (product, tool) pair — tools sharing a name across providers are NOT interchangeable, so each provider's tool is its own row with its own description and input schema. Ranking basis: semantic relevance to the query (embedding search); on the lexical fallback (searchMode='lexical') results are name-ordered and rank does NOT reflect relevance. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1; 1.0 = top) } so callers can merge results across tools consistently, plus preflight annotations { accessModel (open|keyed|account|commercial; whether an agent can call it without becoming a customer first), healthScore (0-100, nullable), readOnly, destructive } so you can judge callability and safety BEFORE selecting. Optional access filter narrows to a single access class. Response: { searchMode ('semantic'|'lexical'), tools: [{ position, rank, normalizedName, displayName, description, inputSchema, productSlug, productName, serverQualifiedName, isRemoteCapable, accessModel, healthScore, readOnly, destructive, tier, unverified (true when no approved vendor claim), verifiedAt (ISO; nullable) }] }. Errors: { error: { code: 'bad_input', ... } }.","inputSchema":{"type":"object","properties":{"query":{"description":"Search query to find tools by name or capability. Natural-language phrases work best (semantic search).","type":"string"},"remoteOnly":{"description":"If true, only return tools available via remote (network-hosted) MCP servers","type":"boolean","default":false},"access":{"description":"Optional access-class filter: 'open' (callable anonymously), 'keyed', 'account', 'commercial', or 'unknown'. Omit for all.","type":["string","null"],"default":null},"limit":{"description":"Maximum number of results to return","type":"integer","default":20}},"required":["query"]},"outputSchema":{"type":"object","properties":{"tools":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"normalizedName":{"type":"string"},"displayName":{"type":"string"},"description":{"type":["string","null"]},"inputSchema":true,"productSlug":{"type":"string"},"productName":{"type":"string"},"serverQualifiedName":{"type":["string","null"]},"isRemoteCapable":{"type":"boolean"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"relevance":{"type":["integer","null"]},"accessModel":{"type":["string","null"],"enum":["Unknown","Open","Keyed","Account","Commercial",null]},"healthScore":{"type":["integer","null"]},"readOnly":{"type":["boolean","null"]},"destructive":{"type":["boolean","null"]},"callableNow":{"type":["boolean","null"]},"setup":{"type":["string","null"]}},"required":["position","rank","normalizedName","displayName","productSlug","productName"]}},"searchMode":{"type":["string","null"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"tools.list_by_name","description":"List every (product, tool) pair that shares a normalized name. A disambiguation lookup — same name across providers does NOT mean the tools are interchangeable. Ranking basis: productName. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1) } plus preflight annotations { accessModel, healthScore, readOnly, destructive }. Response: { normalizedName, total, tools[] (each: position, rank, productSlug, productName, displayName, description, inputSchema, serverQualifiedName, isRemoteCapable, accessModel, healthScore, readOnly, destructive, tier, unverified, verifiedAt) }.","inputSchema":{"type":"object","properties":{"name":{"description":"Normalized tool name (e.g. 'search', 'create_issue')","type":"string"}},"required":["name"]},"outputSchema":{"type":"object","properties":{"normalizedName":{"type":["string","null"]},"total":{"type":["integer","null"]},"tools":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"normalizedName":{"type":"string"},"displayName":{"type":"string"},"description":{"type":["string","null"]},"inputSchema":true,"productSlug":{"type":"string"},"productName":{"type":"string"},"serverQualifiedName":{"type":["string","null"]},"isRemoteCapable":{"type":"boolean"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"relevance":{"type":["integer","null"]},"accessModel":{"type":["string","null"],"enum":["Unknown","Open","Keyed","Account","Commercial",null]},"healthScore":{"type":["integer","null"]},"readOnly":{"type":["boolean","null"]},"destructive":{"type":["boolean","null"]},"callableNow":{"type":["boolean","null"]},"setup":{"type":["string","null"]}},"required":["position","rank","normalizedName","displayName","productSlug","productName"]}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"tools.changes","description":"Detect whether a product's MCP tool schema has DRIFTED since you cached it — rug-pull / tool-poisoning detection (a server silently changing a tool's description or input schema after you approved it; web search structurally cannot answer this). Pass the product slug and EITHER the schema hash you cached earlier (knownHash, from products.get_mcp_setup → server.schema.hash — the strongest signal: an exact mismatch means the tools changed) OR the ISO-8601 timestamp you cached at (since). With neither, it returns the current fingerprint to cache for next time. A product may expose MULTIPLE servers: knownHash is per-server, so pass `server` (a qualifiedName) with knownHash on a multi-server product — otherwise knownHash is applied only when there's exactly one server. Re-verify before trusting a previously-approved tool. Response: { product, hasMcpSupport, drifted (did ANY tracked server change vs your reference; null when no reference given), servers[] (each: qualifiedName, currentSchemaHash, schemaStable, lastSchemaChangeAt, toolCount, directlyProbed, driftedSinceKnownHash, driftedSince, advice) }. Errors: { error: { code: 'not_found'|'bad_input', ... } }.","inputSchema":{"type":"object","properties":{"slug":{"description":"Product slug whose MCP tool schema to check.","type":"string"},"knownHash":{"description":"The schema hash you cached earlier (products.get_mcp_setup → server.schema.hash). Exact-mismatch drift signal.","type":["string","null"],"default":null},"server":{"description":"The server qualifiedName your knownHash belongs to. Required with knownHash on a multi-server product.","type":["string","null"],"default":null},"since":{"description":"ISO-8601 timestamp you last cached at. Reports whether a schema change was recorded after it.","type":["string","null"],"default":null}},"required":["slug"]},"outputSchema":{"type":"object","properties":{"product":{"type":["object","null"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"websiteUrl":{"type":"string"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"houseProduct":{"type":["boolean","null"],"default":null},"sponsored":{"type":["boolean","null"],"default":null}},"required":["slug","name","websiteUrl","tier","unverified","verifiedAt"]},"hasMcpSupport":{"type":["boolean","null"]},"servers":{"type":["array","null"],"items":{"type":"object","properties":{"qualifiedName":{"type":"string"},"currentSchemaHash":{"type":["string","null"]},"schemaStable":{"type":"boolean"},"lastSchemaChangeAt":{"type":["string","null"],"format":"date-time"},"toolCount":{"type":"integer"},"lastProbedAt":{"type":["string","null"],"format":"date-time"},"directlyProbed":{"type":"boolean"},"driftedSinceKnownHash":{"type":["boolean","null"]},"driftedSince":{"type":["boolean","null"]},"advice":{"type":"string"}},"required":["qualifiedName","currentSchemaHash","schemaStable","lastSchemaChangeAt","toolCount","lastProbedAt","directlyProbed","driftedSinceKnownHash","driftedSince","advice"]}},"drifted":{"type":["boolean","null"]},"message":{"type":["string","null"]},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"products.search","description":"Search for B2B SaaS products by name OR by capability. The query is first resolved against the canonical capability taxonomy (e.g. 'salesforce-integration', 'xrechnung-support', 'soc2'); on hit, products that claim that capability are returned. Falls back to name/slug/tagline substring search. Optional category scope. Ranking basis: currentScore desc (computed editorial score), then name. Paid tier is NOT a ranking input — tier appears only as an annotation on results. Every result carries { position (1-based), rank (0..1; 1.0 = top, scales linearly down by ordinal position) } so callers can merge results across tools consistently. Response: { query, matchType (none|exactSlug|canonicalSlug|nlpFallback), resolvedCapabilities[], products[] }. Each product carries { position, rank, tier (free|verified|featured — annotation only), houseProduct (true = built by Revuo's founder; conflict-of-interest disclosure), sponsored (true = paid Featured placement), unverified (true when the listing has no approved vendor claim; omitted otherwise — absence means an approved vendor claim, NOT crawl freshness; use verifiedAt for that), verifiedAt (ISO timestamp of last claim crawl; absent if never crawled), currentScore (0-100), compositeScore (agent-readiness 0-100, nullable), matchedCapability (true if surfaced by capability path) }. Errors: { error: { code: 'not_found'|'bad_input', ... } }.","inputSchema":{"type":"object","properties":{"query":{"description":"Search query — capability slug or natural-language description; falls back to name match","type":"string"},"category":{"description":"Optional category slug to filter results","type":["string","null"],"default":null}},"required":["query"]},"outputSchema":{"type":"object","properties":{"query":{"type":["string","null"]},"matchType":{"type":["string","null"],"enum":["None","ExactSlug","CanonicalSlug","NlpFallback",null]},"resolvedCapabilities":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["Unspecified","Integration","Compliance","Format","Standard","Workflow"]}},"required":["slug","name","kind"]}},"products":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"websiteUrl":{"type":"string"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"currentScore":{"type":["number","null"]},"compositeScore":{"type":["number","null"]},"matchedCapability":{"type":["boolean","null"]}},"required":["position","rank","slug","name","websiteUrl"]}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"products.find_agent_ready","description":"Find products with the highest agent readiness scores — products that are easiest for AI agents to integrate with. Sorted by compositeScore desc; supports skip/limit pagination. All readiness scores are 0-100, higher better. Calibration: <30 = not agent-ready (default minimumScore filter), 30-49 = early/limited, 50-69 = decent, 70-89 = strong, 90+ = exceptional. Ranking basis: compositeScore desc. Tier is NOT a tiebreaker here — buyer intent is technical fit, not paid placement. Every result carries { position (1-based, within the returned page), rank (0..1; 1.0 = top of this page) } so callers can merge results across tools consistently. Response: { products: [{ position, rank, slug, name, tagline, websiteUrl, tier (free|verified|featured), unverified (true when no approved vendor claim), verifiedAt (ISO; nullable), agentReadiness: { compositeScore, apiScore, protocolScore, sdkScore, integrationScore, dxScore } (each 0-100), mcp?: { hasMcpSupport, totalToolCount, serverCount } }] }.","inputSchema":{"type":"object","properties":{"minimumScore":{"description":"Minimum composite agent readiness score (0-100). Higher = more agent-ready. 0 returns everything; 50 is a usable threshold.","type":"integer","default":30},"skip":{"description":"Number of results to skip (for pagination). Default 0.","type":"integer","default":0},"limit":{"description":"Maximum number of results to return per page. Caps at 50.","type":"integer","default":20}}},"outputSchema":{"type":"object","properties":{"products":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"websiteUrl":{"type":"string"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"agentReadiness":{"type":"object","properties":{"compositeScore":{"type":"number"},"apiScore":{"type":"number"},"protocolScore":{"type":"number"},"sdkScore":{"type":"number"},"integrationScore":{"type":"number"},"dxScore":{"type":"number"}},"required":["compositeScore","apiScore","protocolScore","sdkScore","integrationScore","dxScore"]},"mcp":{"type":["object","null"],"properties":{"hasMcpSupport":{"type":"boolean"},"totalToolCount":{"type":"integer"},"serverCount":{"type":"integer"}},"required":["hasMcpSupport","totalToolCount","serverCount"]}},"required":["position","rank","slug","name","websiteUrl","agentReadiness"]}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}},{"name":"products.find_by_capability","description":"Find B2B SaaS products that support a specific capability — an integration with a named service ('salesforce-integration'), a data format ('xrechnung-support'), an industry standard ('eclass-support'), or a compliance certification ('soc2'). Accepts either a canonical capability slug or natural language; resolves to a structured capability when possible. Ranking basis: currentScore desc (computed editorial score), then name. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1; 1.0 = top, scales linearly down by ordinal position) } so callers can merge results across tools consistently. Response: { capability, matchType (none|exactSlug|canonicalSlug|nlpFallback — exactSlug & canonicalSlug are deterministic; nlpFallback is heuristic), resolvedFeatures[], products[] }. Each product: { position, rank, slug, name, tagline, websiteUrl, tier, unverified (true when no approved vendor claim), verifiedAt, evidence[] (per-claim: featureSlug, evidenceUrl, notes, source, confidence) }. Empty: { capability, matchType, message, suggestedSlugs[] } when no capability matched, or products: [] when capability matched but no products claim it yet.","inputSchema":{"type":"object","properties":{"capability":{"description":"Capability slug ('salesforce-integration') OR natural-language description ('integrates with Salesforce')","type":"string"},"category":{"description":"Optional category slug to scope the search (e.g. 'pim', 'tender-management', 'billing')","type":["string","null"],"default":null},"limit":{"description":"Maximum number of results to return","type":"integer","default":20}},"required":["capability"]},"outputSchema":{"type":"object","properties":{"capability":{"type":["string","null"]},"matchType":{"type":["string","null"],"enum":["None","ExactSlug","CanonicalSlug","NlpFallback",null]},"resolvedFeatures":{"type":["array","null"],"items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["Unspecified","Integration","Compliance","Format","Standard","Workflow"]}},"required":["slug","name","kind"]}},"products":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":"integer"},"rank":{"type":"number"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"websiteUrl":{"type":"string"},"tier":{"type":"string","enum":["Free","Verified","Featured"]},"houseProduct":{"type":["boolean","null"]},"sponsored":{"type":["boolean","null"]},"unverified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"},"evidence":{"type":"array","items":{"type":"object","properties":{"featureSlug":{"type":["string","null"]},"evidenceUrl":{"type":["string","null"]},"notes":{"type":["string","null"]},"source":{"type":["string","null"]},"confidence":{"type":["number","null"]}},"required":["featureSlug","evidenceUrl","notes","source","confidence"]}}},"required":["position","rank","slug","name","websiteUrl","evidence"]}},"message":{"type":["string","null"]},"suggestedSlugs":{"type":["array","null"],"items":{"type":"string"}},"error":{"type":["object","null"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resource":{"type":["string","null"]},"id":{"type":["string","null"]},"field":{"type":["string","null"]},"hint":{"type":["string","null"]}},"required":["code","message"]}}},"annotations":{"openWorldHint":true,"readOnlyHint":true},"execution":{"taskSupport":"optional"}}]},"id":2,"jsonrpc":"2.0"},"http_status":200,"headers":{"content-type":"text/event-stream","strict-transport-security":"max-age=315360000; includeSubDomains; preload"}}},"prompts_list":{"status":"missing","latency_ms":389.51,"details":{"url":"https://www.revuo.ai/api/mcp","payload":{"error":{"code":-32601,"message":"Method 'prompts/list' is not available."},"id":3,"jsonrpc":"2.0"},"http_status":200,"headers":{"content-type":"text/event-stream","strict-transport-security":"max-age=315360000; includeSubDomains; preload"},"reason":"not_advertised"}},"prompt_get":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"resources_list":{"status":"missing","latency_ms":111.41,"details":{"url":"https://www.revuo.ai/api/mcp","payload":{"error":{"code":-32601,"message":"Method 'resources/list' is not available."},"id":5,"jsonrpc":"2.0"},"http_status":200,"headers":{"content-type":"text/event-stream","strict-transport-security":"max-age=315360000; includeSubDomains; preload"},"reason":"not_advertised"}},"resource_read":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"determinism_probe":{"status":"ok","latency_ms":460.34,"details":{"attempts":2,"successful":2,"matches":2,"stable_ratio":1.0,"baseline_signature":"e1ebc4d0cc6dda2d4c1d49c50a8bed84b19067cb5f93394b8f63bd33b4b8a979","errors":[]}},"instruction_tool_reference_probe":{"status":"ok","latency_ms":null,"details":{"referenced_tools":[],"missing_tools":[],"observed_tool_count":14}},"session_resume_probe":{"status":"warning","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":true,"protocol_version":"2025-03-26"}},"step_up_auth_probe":{"status":"missing","latency_ms":null,"details":{"oauth_present":false,"auth_required_checks":[],"supported_scopes":[],"scope_specificity_ratio":0.0,"broad_scopes":[],"challenge_headers":[],"step_up_signals":[],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"warning","latency_ms":381.42,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-03-26","bad_protocol_status_code":400,"bad_protocol_payload":{"error":{"code":-32000,"message":"Bad Request: The MCP-Protocol-Version header value '1999-99-99' is not supported."},"id":"","jsonrpc":"2.0"},"bad_protocol_headers":{"content-type":"application/json; charset=utf-8","strict-transport-security":"max-age=315360000; includeSubDomains; preload"},"bad_protocol_error":null,"delete_status_code":null,"delete_error":null,"expired_session_status_code":null,"expired_session_error":null,"issues":["missing_session_id","missing_protocol_header"]}},"utility_coverage_probe":{"status":"missing","latency_ms":331.7,"details":{"completions":{"advertised":false,"sample_target":null,"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"missing","http_status":200},"initialize_capability_keys":["logging","tools"]}},"advanced_capabilities_probe":{"status":"warning","latency_ms":null,"details":{"capabilities":{"prompts":false,"resources":false,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":true,"resource_links":false},"enabled_count":1,"enabled":["structured_outputs"],"initialize_capability_keys":["logging","tools"]}},"tool_snapshot_probe":{"status":"ok","latency_ms":null,"details":{"current_tool_count":14,"previous_tool_count":14,"similarity":1.0,"added":[],"removed":[],"changed_outputs":[]}},"connector_replay_probe":{"status":"ok","latency_ms":null,"details":{"backward_compatible":true,"would_break_after_refresh":false,"added_tools":[],"removed_tools":[],"required_arg_breaks":[],"output_breaks":[],"additive_output_changes":[]}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"missing","latency_ms":null,"details":{"risk_hits":[],"safe_hits":[],"oauth_supported":false,"prompt_available":false}},"action_safety_probe":{"status":"ok","latency_ms":null,"details":{"summary":{"tool_count":14,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":14,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":0,"annotation_conflict_tools":1,"risk_distribution":{"low":0,"medium":14,"high":0,"critical":0},"capability_distribution":{"read":14,"network":14},"has_mutating_capability":false,"has_non_read_capability":false},"auth_present":false,"safeguard_count":5,"confirmation_signals":["products.get","tools.search","tools.changes","products.search","products.find_agent_ready","products.find_by_capability"],"reason":null}},"official_registry_probe":{"status":"ok","latency_ms":null,"details":{"registry_source":"official_registry","registry_identifier":"ai.revuo/revuo","direct_match":true,"official_peer_count":1}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":true,"registry_title":null,"server_card_title":null,"registry_version":null,"server_card_version":null,"registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":1,"compared_fields":["title","version","homepage","repository"],"readable_sources":["registry"],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_server_card_tools","compared_tool_count":0,"compared_dimensions":["server_name","server_version","declared_vs_observed_auth","tool_membership","parameter_names","required_parameters","parameter_types","output_schema_presence"],"server_name_mismatch":false,"card_server_name":null,"live_server_name":"revuo","server_version_mismatch":false,"card_server_version":null,"live_server_version":"1.0.0","auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"warning","latency_ms":null,"details":{"transport":"streamable-http","tool_count":14,"high_risk_tools":0,"blockers":["protocol_version","session_resume","step_up_auth","transport_compliance","request_association","server_card"],"criteria":{"remote_transport":true,"initialize":true,"tools_list":true,"protocol_version":false,"session_resume":false,"step_up_auth":false,"transport_compliance":false,"connector_replay":true,"request_association":false,"action_safety":true,"server_card":false,"tool_surface":true,"auth_flow":true}}}}},"active_alerts":[],"maintainer_analytics":{},"public_server_reputation":{},"maintainer_response_quality":{},"maintainer_annotations":[],"maintainer_rebuttals":[],"security_posture_summary":{},"tool_security_inventory":[],"transport_compliance":{},"utility_coverage":{},"write_action_governance":{},"provenance_divergence":{},"alias_consolidation":{},"alert_routing":{},"authenticated_validation":{},"hosted_runtime":{},"action_controls_diff":null,"benchmark_tasks":[],"latest_capability_counts":{},"point_loss_breakdown":[],"verdict_traces":{},"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_893f11e4cd4a0595","generated_at":"2026-08-15T10:12:22.297378+00:00","trust_evaluated_at":"2026-08-15T10:12:22.297378+00:00","evidence_revision":"98fe43750cbe4f7d23e8275e","source":"current_snapshot","server":"ai.revuo/revuo","last_validated_at":"2026-08-15T03:53:45.439729+00:00","validation_age_hours":6.31,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-15T03:53:45.439729+00:00","age_hours":6.31,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":61.46,"raw_score":61.46,"confidence_score":100.0,"confidence_weighted_score":61.5,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":61.46,"display_score":61.46,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"no blocking gaps found in current evidence","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":1},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":6.31,"live_check_count":14,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":14,"validation_age_hours":6.31,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-15T10:12:22.297378+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_893f11e4cd4a0595","generated_at":"2026-08-15T10:12:22.297378+00:00","trust_evaluated_at":"2026-08-15T10:12:22.297378+00:00","evidence_revision":"98fe43750cbe4f7d23e8275e","source":"current_snapshot","server":"ai.revuo/revuo","last_validated_at":"2026-08-15T03:53:45.439729+00:00","validation_age_hours":6.31,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-15T03:53:45.439729+00:00","age_hours":6.31,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":61.46,"raw_score":61.46,"confidence_score":100.0,"confidence_weighted_score":61.5,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":61.46,"display_score":61.46,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"no blocking gaps found in current evidence","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":1},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":6.31,"live_check_count":14,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":14,"validation_age_hours":6.31,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-15T10:12:22.297378+00:00"}},"agent_commerce":{},"latest_claim":null,"maintainer_profile_slug":null,"watch_summary":{},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"trust_evaluated_at":"2026-08-15T10:12:22.297378+00:00","evidence_revision":"98fe43750cbe4f7d23e8275e","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-15T10:12:22.297378+00:00"},"owner_opted_out":false,"observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"},"snapshot_id":"trustsnap_893f11e4cd4a0595"}],"rows":[{"label":"Snapshot ID","values":["trustsnap_893f11e4cd4a0595"]},{"label":"Status","values":["healthy"]},{"label":"Score","values":[61.46]},{"label":"Production readiness","values":["Safe for evaluation"]},{"label":"Production trust decision","values":["Allow with approval"]},{"label":"Recommended policy","values":["Block"]},{"label":"Observed Attention","values":["No observed attention"]},{"label":"Evidence confidence","values":[100.0]},{"label":"Freshness","values":["n/a"]},{"label":"Latency","values":["n/a"]},{"label":"Spec recency","values":[2.0]},{"label":"Session resume","values":[3.0]},{"label":"Step-up auth","values":[0.0]},{"label":"Transport compliance","values":[2.0]},{"label":"Utility coverage","values":[0.0]},{"label":"Publishability","values":[2.0]},{"label":"Connector replay","values":[4.0]},{"label":"Request association","values":[0.0]},{"label":"Action safety","values":[3.0]},{"label":"Registry presence","values":[4.0]},{"label":"Provenance divergence","values":[null]},{"label":"Client compatibility: ChatGPT","values":["unknown"]},{"label":"Client compatibility: Claude","values":["unknown"]},{"label":"Write-action publishing","values":["unknown"]},{"label":"Snapshot churn risk","values":["unknown"]},{"label":"Transport","values":["streamable-http"]},{"label":"Auth","values":["Unauthenticated / none"]},{"label":"Tools","values":[14]},{"label":"Prompts","values":[0]},{"label":"Resources","values":[0]},{"label":"OAuth","values":[false]},{"label":"DCR","values":[false]},{"label":"Taxonomy","values":[""]},{"label":"Recommended for","values":["none"]},{"label":"Top alerts","values":["none"]}],"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"cache_note":"Compact compare fallback response; deep compare evidence is deferred to protect web capacity.","trust_evaluated_at":"2026-08-15T10:12:22.297378+00:00","materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-15T10:12:22.400997+00:00"}}