{"schema_version":"verify.compare.v1","generated_at":"2026-09-24T18:23:07.290992+00:00","count":1,"missing_servers":[],"results":[{"server_id":"github-getremcp/remcp","display_name":"getremcp/remcp","profile_url":"https://verify.sentinelsignal.io/servers/github-getremcp/remcp","compare_url":"https://verify.sentinelsignal.io/compare?server=github-getremcp%2Fremcp","trust_summary_url":"https://verify.sentinelsignal.io/v1/servers/github-getremcp/remcp/trust-summary","claimed":false,"verified_publisher":false,"claim_status":"unclaimed","badge_url":"https://verify.sentinelsignal.io/badge/github-getremcp/remcp.svg","report_url":"https://verify.sentinelsignal.io/v1/servers/github-getremcp/remcp/report","policy_url":"https://verify.sentinelsignal.io/v1/servers/github-getremcp/remcp/policy","evidence_url":"https://verify.sentinelsignal.io/api/v1/servers/github-getremcp/remcp/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-09-24T13:07:41.625561+00:00","recommended_agent_action":"unknown","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":"github-getremcp","name":"remcp","title":"getremcp/remcp","description":"Remote MCP access to computers you explicitly pair — files, terminal, desktop UI, browser automation, diagnostics, and documents.","homepage_url":"https://remcp.site","docs_url":"https://remcp.site","icon_url":"https://avatars.githubusercontent.com/u/332060005?v=4","support_url":"https://github.com/getremcp/remcp","remote_url":"https://remcp.site","server_card_url":null,"latest_version":null,"current_status":"failing","current_score":null,"transport_type":"streamable-http","has_oauth":true,"has_dcr":true,"has_prompts":false,"tool_count":0,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-09-24T13:07:41.625561+00:00","registry_source":"github_topic_registry","registry_identifier":"github_topic_registry:getremcp/remcp","canonical_identifier":null,"current_score_components":{"auth_operability_score":3.0,"error_contract_score":0.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":0.0,"backward_compatibility_score":4.0,"slo_health_score":0.0,"security_hygiene_score":0.0,"task_success_score":0.0,"trust_confidence_score":0.0,"prompt_contract_score":0.0,"resource_contract_score":3.0,"discovery_metadata_score":2.0,"registry_consistency_score":3.0,"installability_score":0.0,"session_semantics_score":0.0,"tool_surface_design_score":0.0,"result_shape_stability_score":0.0,"oauth_interop_score":4.0,"recovery_semantics_score":0.0,"maintenance_signal_score":1.0,"adoption_signal_score":2.0,"freshness_confidence_score":1.0,"transport_fidelity_score":1.0,"spec_recency_score":0.0,"session_resume_score":0.0,"step_up_auth_score":3.0,"transport_compliance_score":0.0,"utility_coverage_score":0.0,"advanced_capability_coverage_score":1.0,"connector_publishability_score":0.0,"tool_snapshot_churn_score":0.0,"connector_replay_score":0.0,"request_association_score":0.0,"interactive_flow_safety_score":4.0,"official_registry_presence_score":2.0,"safety_transparency_score":3.0,"tool_capability_clarity_score":0.0,"data_exfiltration_resilience_score":0.0,"dependency_supply_chain_signal_score":0.0,"input_sanitization_safety_score":0.0,"tool_namespace_clarity_score":0.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"failing","label":"Failing","reason":"The latest validation run was attempted but did not complete successfully.","badge":"score-low"},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":null,"label":"not_assessed","reason":"No evidence-bearing validation runs exist yet (8 captured checks, validation age 5.3 hours). Confidence cannot be computed.","live_check_count":8,"validation_age_hours":5.26,"basis":{"evidence_bearing_validations":0,"affirmative_live_check_count":8,"validation_age_hours":5.26,"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":598.66,"details":{"url":"https://remcp.site/robots.txt","http_status":200,"headers":{"content-type":"text/plain; charset=utf-8","strict-transport-security":"max-age=31536000"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"ok","latency_ms":527.61,"details":{"url":"https://remcp.site/.well-known/mcp/server-card.json","payload":{"serverInfo":{"name":"remcp","version":"0.2.106","description":"Securely control paired computers with ReMCP: semantic desktop UI/Accessibility, browser DOM/CDP, keyboard and pointer input, files, terminals, diagnostics, screenshots, and structured PDF/DOCX/XLSX tools.","websiteUrl":"https://remcp.site"},"authentication":{"required":true,"schemes":["oauth2"]},"tools":[{"name":"list_devices","title":"List ReMCP devices","description":"Use this when the target computer is not already unambiguous. Call it first to list computers paired to the signed-in ReMCP account and see which ones are online.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"online":{"type":"boolean"},"platform":{"type":"string"},"arch":{"type":"string"},"agent_version":{"type":"string"},"runtime_version":{"type":"string"},"capabilities":{"type":"object","properties":{"tool_count":{"type":"number"},"tools":{"type":"array","items":{"type":"string"}}},"required":["tool_count","tools"],"additionalProperties":false},"revoked":{"type":"boolean"},"disabled":{"type":"boolean"}},"required":["id","name","online"],"additionalProperties":false}},"how_to_connect":{"type":"string"}},"required":["devices"],"additionalProperties":false}},"required":["text","data"],"additionalProperties":false},"annotations":{"title":"List ReMCP devices","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"manage_account","title":"Manage ReMCP account","description":"Use this when the task concerns the signed-in ReMCP account or paired-computer membership: inspect profile, recent calls, usage or hosted configuration; create a pairing; or ping, rename, enable, disable, or permanently remove one pairing. Use list_devices first when the target computer is ambiguous. Local runtime preferences belong to manage_system.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["profile","recent_calls","usage","configuration","pair","ping","rename","enable","disable","remove"],"description":"Account or pairing operation to perform."},"device":{"type":"string","description":"Device id from list_devices. Required for ping/rename/enable/disable/remove; optional as a recent_calls/usage filter."},"name":{"type":"string","maxLength":100,"description":"New account-visible label for operation=rename."},"limit":{"type":"number","minimum":1,"maximum":100,"description":"Maximum recent calls for operation=recent_calls."},"days":{"type":"number","minimum":1,"maximum":90,"description":"Usage window for operation=usage."},"tool":{"type":"string","description":"Optional tool filter for recent_calls or usage."}},"required":["operation"],"allOf":[{"if":{"properties":{"operation":{"enum":["ping","rename","enable","disable","remove"]}},"required":["operation"]},"then":{"required":["device"]}},{"if":{"properties":{"operation":{"const":"rename"}},"required":["operation"]},"then":{"required":["name"]}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Manage ReMCP account","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},{"name":"read_file","title":"Read file","description":"Use this when the task calls for plain text files on a paired computer: source code, configuration, Markdown, logs, scripts, or other line-oriented text. Use read_document instead for PDF, DOCX, XLSX and other structured document content. read_file keeps legacy PDF/DOCX extraction for compatibility but should not be the model’s first choice for those formats.","inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file to read. Relative paths resolve against the runtime working directory."},"offset":{"type":"number","description":"Zero-based first line to read. Negative values read the last N lines."},"length":{"type":"number","description":"Maximum number of lines to return."},"device":{"type":"string","description":"ReMCP device id returned by list_devices. Required for every device operation."}},"required":["path","device"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Read file","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"manage_files","title":"Manage files","description":"Use this when the task is about files, directories, archives, or filesystem search on one paired computer. Choose exactly one operation; parameters must contain only that operation’s arguments and are validated against its closed schema. Write, edit, move, permission, and delete operations can change or remove local data or fail on OS permissions, while read and search operations leave files unchanged. Use read_file instead for one known text file so the native file preview remains available.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["read_files","read_multiple_files","read_binary","write_binary","hash_file","list_directory","get_file_info","write_file","write_files","apply_patch","set_permissions","edit_block","replace_lines","replace_in_files","diff_files","move_to_trash","create_directory","move_file","copy_file","copy_paths","move_paths","delete_path","delete_paths","create_archive","extract_archive","start_search","get_more_search_results","stop_search","list_searches"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"read_files"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute directory (or single file) to start from."},"pattern":{"type":"string","description":"Glob matched against the relative path and the file name, such as \"src/**/*.ts\" or \"*.md\". Default **/* ."},"max_files":{"type":"number","description":"Stop after this many files. Default 100, maximum 500."},"max_lines_per_file":{"type":"number","description":"Lines kept per file. Default 2000."},"include_ignored":{"type":"boolean","description":"Also descend into .git and node_modules. Default false."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"read_multiple_files"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"paths":{"type":"array","items":{"type":"string"},"description":"Absolute paths of the files to read, at most 50 per call."}},"required":["paths"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"read_binary"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file to read."},"offset_bytes":{"type":"number","description":"Byte offset to start at. Default 0."},"length_bytes":{"type":"number","description":"Chunk size in bytes. Default and maximum 1048576 (1 MiB)."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"write_binary"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file to write."},"data":{"type":"string","description":"Base64-encoded content."},"mode":{"type":"string","enum":["rewrite","append"],"description":"rewrite replaces the file, append adds to the end. Default rewrite."}},"required":["path","data"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"hash_file"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file to hash."},"algorithm":{"type":"string","enum":["sha256","sha1","md5"],"description":"Hash algorithm. Default sha256."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"list_directory"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the directory to list."},"depth":{"type":"number","description":"Directory levels to list, from 1 to 5. Default 1."},"pattern":{"type":"string","description":"Optional glob that filters file names, such as \"*.log\". Directories are always listed."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"get_file_info"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path to inspect."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"write_file"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file to write."},"content":{"type":"string","description":"Full file content, or the text to append."},"mode":{"type":"string","enum":["rewrite","append"],"description":"rewrite replaces the file content, append adds to the end. Default rewrite."}},"required":["path","content"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"write_files"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"files":{"type":"array","description":"Files to write, at most 200 per call.","items":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file."},"content":{"type":"string","description":"Full file content."},"mode":{"type":"string","enum":["rewrite","append"],"description":"rewrite replaces the file (default), append adds to the end."}},"required":["path","content"],"additionalProperties":false}}},"required":["files"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"apply_patch"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"patch":{"type":"string","description":"Unified diff, including ---/+++ headers and @@ hunks."},"path":{"type":"string","description":"Apply every hunk to this file, ignoring the patch headers."},"dry_run":{"type":"boolean","description":"Report the diff without writing. Default false."}},"required":["patch"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"set_permissions"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path whose permissions should change."},"mode":{"type":"string","description":"Octal mode such as \"755\" or \"0644\"."},"recursive":{"type":"boolean","description":"Apply to a directory and everything inside it. Default false."},"uid":{"type":"number","description":"Optional numeric user id to set as owner."},"gid":{"type":"number","description":"Optional numeric group id to set as owner."}},"required":["path","mode"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"edit_block"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"file_path":{"type":"string","description":"Absolute path of the file to edit."},"old_string":{"type":"string","description":"Exact existing text to replace."},"new_string":{"type":"string","description":"Replacement text."},"expected_replacements":{"type":"number","description":"Number of matches required for the edit to apply. Default 1."},"allow_fuzzy":{"type":"boolean","description":"Allow a whitespace-tolerant fallback when the exact text is not found. Default true."},"dry_run":{"type":"boolean","description":"Return the diff without changing the file. Default false."}},"required":["file_path","old_string","new_string"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"replace_lines"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the file to edit."},"start_line":{"type":"number","description":"First line to replace, 1-based and inclusive."},"end_line":{"type":"number","description":"Last line to replace, 1-based and inclusive."},"content":{"type":"string","description":"Replacement text; an empty string deletes the range."},"dry_run":{"type":"boolean","description":"Return the diff without changing the file. Default false."}},"required":["path","start_line","end_line","content"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"replace_in_files"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of a file or directory to search."},"pattern":{"type":"string","description":"Text or regular expression to find."},"replacement":{"type":"string","description":"Replacement text. In regex mode, $1 and friends refer to capture groups."},"filePattern":{"type":"string","description":"Optional glob limiting which file names are changed, such as \"*.ts\"."},"regex":{"type":"boolean","description":"Treat pattern as a regular expression. Default false (plain text)."},"dry_run":{"type":"boolean","description":"Only report the files that would change. Default false."},"maxFiles":{"type":"number","description":"Stop after this many changed files. Default 100, maximum 500."}},"required":["path","pattern","replacement"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"diff_files"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"left":{"type":"string","description":"Absolute path of the original file."},"right":{"type":"string","description":"Absolute path of the file to compare against it."},"context_lines":{"type":"number","description":"Lines of context around each change. Default 3, maximum 20."}},"required":["left","right"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"move_to_trash"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"source":{"type":"string","description":"Absolute path to move to the trash."}},"required":["source"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"create_directory"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the directory to create."},"paths":{"type":"array","items":{"type":"string"},"description":"Several directories to create at once, at most 200."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"move_file"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"source":{"type":"string","description":"Absolute path to move."},"destination":{"type":"string","description":"Absolute destination path."},"overwrite":{"type":"boolean","description":"Replace an existing destination file. Default true."}},"required":["source","destination"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"copy_file"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"source":{"type":"string","description":"Absolute path of the file to copy."},"destination":{"type":"string","description":"Absolute destination path."},"overwrite":{"type":"boolean","description":"Replace the destination when it already exists. Default true."}},"required":["source","destination"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"copy_paths"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"paths":{"type":"array","description":"Pairs to copy, at most 200 per call.","items":{"type":"object","properties":{"source":{"type":"string","description":"Absolute path to copy."},"destination":{"type":"string","description":"Absolute destination path."}},"required":["source","destination"],"additionalProperties":false}},"overwrite":{"type":"boolean","description":"Replace an existing destination. Default true."}},"required":["paths"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"move_paths"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"paths":{"type":"array","description":"Pairs to move, at most 200 per call.","items":{"type":"object","properties":{"source":{"type":"string","description":"Absolute path to move."},"destination":{"type":"string","description":"Absolute destination path."}},"required":["source","destination"],"additionalProperties":false}},"overwrite":{"type":"boolean","description":"Replace an existing destination. Default true."}},"required":["paths"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"delete_path"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path to delete."},"recursive":{"type":"boolean","description":"Delete a non-empty directory with its contents. Default true."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"delete_paths"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"paths":{"type":"array","items":{"type":"string"},"description":"Absolute paths to delete, at most 500 per call."},"recursive":{"type":"boolean","description":"Delete non-empty directories with their contents. Default true."}},"required":["paths"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"create_archive"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"paths":{"type":"array","items":{"type":"string"},"description":"Absolute paths of the files and directories to include."},"destination":{"type":"string","description":"Absolute path of the archive to create."},"format":{"type":"string","enum":["tar","tar.gz","zip"],"description":"Archive format. Default tar.gz, or zip when the destination ends in .zip."}},"required":["paths","destination"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"extract_archive"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"archive":{"type":"string","description":"Absolute path of the archive to extract."},"destination":{"type":"string","description":"Absolute directory to extract into. Defaults to the archive directory."}},"required":["archive"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"start_search"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the directory or file to search."},"pattern":{"type":"string","description":"Regular expression for content searches, or a glob such as \"*.ts\" when searchType is files."},"searchType":{"type":"string","enum":["content","files"],"description":"Search file contents (default) or file names."},"filePattern":{"type":"string","description":"Optional relative glob that limits which files are searched, such as \"*.ts\"."},"ignoreCase":{"type":"boolean","description":"Case-insensitive content matching."},"maxResults":{"type":"number","description":"Stop the search after this many results. Default 200."},"includeHidden":{"type":"boolean","description":"Include hidden files and directories."},"includeIgnored":{"type":"boolean","description":"Also search directories normally skipped, such as node_modules, dist, build, and virtualenvs."},"contextLines":{"type":"number","description":"Number of context lines to return around each content match, up to 10."},"literalSearch":{"type":"boolean","description":"Treat the pattern as literal text instead of a regular expression."}},"required":["path","pattern"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"get_more_search_results"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"sessionId":{"type":"string","description":"Search id returned by start_search."},"offset":{"type":"number","description":"Zero-based first result to return. Negative values read from the end."},"length":{"type":"number","description":"Maximum number of results to return. Default 100."}},"required":["sessionId"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"stop_search"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"sessionId":{"type":"string","description":"Search id returned by start_search."}},"required":["sessionId"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"list_searches"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{},"additionalProperties":false}}}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Manage files","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},{"name":"run_terminal","title":"Run terminal operations","description":"Use this when the task needs a shell command or an existing ReMCP terminal session: start, read, wait, interact, stop, or list sessions. Choose exactly one operation; parameters are validated against that operation’s closed schema. Starting or interacting with commands can change local or external state, and force termination can lose unsaved process work; reading, waiting, and listing do not mutate the session. Use manage_system for OS-wide process inventory or killing an arbitrary PID.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["start_process","read_process_output","interact_with_process","wait_for_process_output","force_terminate","list_sessions"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"start_process"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"command":{"type":"string","description":"Shell command to run."},"timeout_ms":{"type":"number","description":"How long to wait for initial output before returning, in milliseconds. Default 1000."}},"required":["command"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"read_process_output"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"pid":{"type":"number","description":"Session pid returned by start_process."},"offset":{"type":"number","description":"Zero-based line number to start from, counted across everything the session has produced; a negative value reads the last N lines. Omit for new output. Lines evicted by the buffer cap are no longer available."},"length":{"type":"number","description":"Maximum number of lines to return."},"timeout_ms":{"type":"number","description":"How long to wait for new output when no offset is given, in milliseconds."}},"required":["pid"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"interact_with_process"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"pid":{"type":"number","description":"Session pid returned by start_process."},"input":{"type":"string","description":"Line of input to send; a newline is appended."},"timeout_ms":{"type":"number","description":"How long to wait for the response, in milliseconds. Default 1000."}},"required":["pid","input"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"wait_for_process_output"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"pid":{"type":"number","description":"Session pid returned by start_process."},"pattern":{"type":"string","description":"Regular expression or literal text to wait for."},"timeout_ms":{"type":"number","description":"How long to wait before returning the output collected so far, in milliseconds. Default 10000."}},"required":["pid","pattern"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"force_terminate"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"pid":{"type":"number","description":"Session pid returned by start_process."}},"required":["pid"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"list_sessions"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{},"additionalProperties":false}}}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Run terminal operations","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"control_computer","title":"Control computer","description":"Use this when the task needs semantic inspection or control of native desktop applications: snapshots, windows, accessibility/UI elements, waits, displays, app launch, text/input, clipboard, open/reveal, notifications, or short screen recording. Semantic snapshot/find/wait operations observe state, while clicks, typing, window close, app launch, clipboard writes, and recording can change application or local state. Prefer semantic inspection/actions before raw coordinates; use view_image only when pixels are required and control_browser for page DOM/CDP actions.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["computer_snapshot","list_windows","ui_snapshot","ui_find","wait_for_ui","display_inventory","computer_action","window_action","launch_app","ui_action","type_text","keyboard","pointer","drag_drop","scroll","clipboard","open_path","reveal_path","notification","record_screen"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"computer_snapshot"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"max_ui_nodes":{"type":"number","description":"Maximum native accessibility nodes; default 800."},"max_ui_depth":{"type":"number","description":"Maximum native accessibility depth; default 12."},"include_ui":{"type":"boolean","description":"Include native accessibility tree; default true. False is the fast screenshot-only path."},"ui_scope":{"type":"string","enum":["active","desktop"],"description":"Accessibility scope for computer_snapshot. Default active keeps the compact snapshot fast; desktop requests all accessible applications/windows."},"semantic_tree":{"type":"boolean","description":"Include compact semantic hierarchy text alongside nodes; default true."},"ui_browser_dom":{"type":"boolean","description":"Prefer the native browser accessibility document subtree when the OS exposes one; on Windows this also enables the Firefox MSAA/IAccessible fallback."},"include_screenshot":{"type":"boolean","description":"Include real rendered desktop pixels; default true."},"screenshot_region":{"type":"array","minItems":4,"maxItems":4,"items":{"type":"number"},"description":"Virtual-desktop [left,top,right,bottom] region; takes precedence over full desktop."},"screenshot_window_id":{"type":"string","description":"Capture the window returned by list_windows instead of the whole desktop."},"screenshot_monitor":{"type":"string","description":"Monitor name substring or \"primary\"."},"screenshot_monitor_index":{"type":"number","description":"Zero-based monitor index."},"screenshot_padding":{"type":"number","description":"Pixels of context around a targeted screenshot; 0..200."},"grid_columns":{"type":"number","description":"Optional reference-grid column count returned as visual metadata; 0..20."},"grid_rows":{"type":"number","description":"Optional reference-grid row count returned as visual metadata; 0..20."},"include_browser":{"type":"boolean","description":"Include CDP browser accessibility when available. Default auto: only when the active app looks Chromium-based."},"browser_max_nodes":{"type":"number","description":"Maximum browser accessibility nodes; default 500, maximum 2000."},"include_ocr":{"type":"boolean","description":"Run optional local OCR. Default auto: only when native accessibility and browser DOM are unavailable. Requires tesseract on PATH."},"ocr_language":{"type":"string","description":"Tesseract language code, default eng; multiple languages may use eng+deu."},"ocr_max_words":{"type":"number","description":"Maximum OCR word boxes returned; default 2000, maximum 10000."},"ocr_psm":{"type":"number","description":"Tesseract page segmentation mode, 3..13; default 11."},"ocr_timeout_ms":{"type":"number","description":"OCR timeout, default 30000 ms, maximum 120000 ms."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"list_windows"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"include_monitor":{"type":"boolean","description":"Enrich each window with monitor and monitor_index; default true."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"ui_snapshot"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"scope":{"type":"string","enum":["active","desktop"],"description":"Default active. Use desktop only when cross-application discovery is required."},"pid":{"type":"number","description":"Optional owning process id scope."},"app":{"type":"string","description":"Optional application/process name substring scope."},"window_title":{"type":"string","description":"Optional top-level accessibility window/frame title scope."},"browser_dom":{"type":"boolean","description":"Prefer the native browser document accessibility subtree instead of browser chrome when supported."},"semantic_tree":{"type":"boolean","description":"Include compact semantic hierarchy text; default true."},"max_nodes":{"type":"number","description":"Maximum nodes; default 500, maximum 5000."},"max_depth":{"type":"number","description":"Maximum traversal depth; default 8, maximum 32."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"ui_find"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"refresh":{"type":"boolean","description":"Force a fresh accessibility capture instead of the short-lived snapshot cache."},"limit":{"type":"number","description":"Maximum matches; default 20."},"max_nodes":{"type":"number","description":"Maximum accessibility nodes to inspect or return; keep this bounded and raise it only when the target is missing."},"max_depth":{"type":"number","description":"Maximum accessibility tree depth to traverse."}},"additionalProperties":false,"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]}]}}}},{"if":{"properties":{"operation":{"const":"wait_for_ui"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"state":{"type":"string","enum":["present","absent","changed"],"description":"changed captures the first matching semantic state and waits until it differs."},"condition":{"type":"string","enum":["text_exists","active_window","element_exists","element_enabled","focused_element"],"description":"Semantic condition to wait for; choose the condition that directly proves the requested state transition."},"text":{"type":"string","description":"Text used by text_exists or active_window."},"browser_dom":{"type":"boolean","description":"Use native browser document accessibility where supported."},"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"timeout_ms":{"type":"number","description":"Maximum wait, capped at 120000 ms."},"poll_ms":{"type":"number","description":"Polling interval, 50..5000 ms."}},"additionalProperties":false,"anyOf":[{"required":["state"]},{"required":["condition"]}],"allOf":[{"if":{"properties":{"condition":{"const":"text_exists"}},"required":["condition"]},"then":{"required":["text"]}},{"if":{"properties":{"condition":{"const":"active_window"}},"required":["condition"]},"then":{"anyOf":[{"required":["text"]},{"required":["name"]},{"required":["window_title"]}]}},{"if":{"properties":{"condition":{"enum":["element_exists","element_enabled"]}},"required":["condition"]},"then":{"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]}]}},{"if":{"properties":{"state":{"enum":["present","absent"]}},"required":["state"]},"then":{"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]}]}}]}}}},{"if":{"properties":{"operation":{"const":"display_inventory"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"computer_action"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["click","invoke","focus","set_value","select","toggle","expand","collapse","scroll_into_view","set_range_value","add_to_selection","remove_from_selection","multi_select","multi_edit"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"target":{"type":"string","enum":["auto","ui","ui_element","browser","ocr","coordinates"],"description":"Optional target type. auto tries native accessibility first, then browser DOM/CDP, OCR text when requested, then coordinates for click."},"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"title":{"type":"string","description":"Optional browser page title substring when target=browser."},"text":{"type":"string","description":"Text used by multi_edit or as a compatibility value for a semantic edit."},"value":{"type":"string","description":"New value for set_value, set_range_value, or select."},"x":{"type":"number","description":"Virtual-desktop X coordinate used only by the final click fallback."},"y":{"type":"number","description":"Virtual-desktop Y coordinate used only by the final click fallback."},"selector":{"type":"string","description":"CSS selector when the fallback target is a browser element."},"browser_text":{"type":"string","description":"Visible browser text used to locate a DOM fallback target."},"ocr_text":{"type":"string","description":"Visible text to find in rendered pixels for the OCR click fallback."},"ocr_region":{"type":"array","minItems":4,"maxItems":4,"items":{"type":"number"},"description":"Optional virtual-desktop [left,top,right,bottom] region to OCR. Prefer bounds from list_windows or computer_snapshot."},"ocr_language":{"type":"string","description":"Tesseract language code, default eng."},"ocr_psm":{"type":"number","description":"Tesseract page segmentation mode, default 11."},"ocr_timeout_ms":{"type":"number","description":"OCR timeout in milliseconds."},"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint for a browser fallback."},"target_id":{"type":"string","description":"Browser page target id returned by browser_tabs."},"url_contains":{"type":"string","description":"Browser URL substring used to select a page."},"option":{"type":"string","description":"Option value for browser select."},"targets":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","properties":{"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."}},"additionalProperties":false},"description":"Native semantic targets for action=multi_select."},"replace_selection":{"type":"boolean","description":"For multi_select, select the first item before adding the rest; default true."},"edits":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","properties":{"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"text":{"type":"string","description":"Replacement text for this semantic edit."},"method":{"type":"string","enum":["auto","accessibility","clipboard","keys"],"description":"Text-entry strategy; auto is recommended."},"clear":{"type":"boolean","description":"Clear the current value before entering text; default true."}},"required":["text"],"additionalProperties":false},"description":"Native semantic target + text entries for action=multi_edit."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"required":["action"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"const":"click"}},"required":["action"]},"then":{"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]},{"required":["selector"]},{"required":["browser_text"]},{"required":["ocr_text"]},{"required":["x","y"]}]}},{"if":{"properties":{"action":{"enum":["invoke","set_value","select","toggle","expand","collapse","scroll_into_view","set_range_value","add_to_selection","remove_from_selection"]}},"required":["action"]},"then":{"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]},{"required":["selector"]},{"required":["browser_text"]}]}},{"if":{"properties":{"action":{"const":"focus"}},"required":["action"]},"then":{"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]},{"required":["selector"]},{"required":["browser_text"]},{"required":["pid"]},{"required":["app"]},{"required":["window_title"]},{"required":["title"]}]}},{"if":{"properties":{"action":{"enum":["set_value","set_range_value"]}},"required":["action"]},"then":{"required":["value"]}},{"if":{"properties":{"action":{"const":"multi_select"}},"required":["action"]},"then":{"required":["targets"]}},{"if":{"properties":{"action":{"const":"multi_edit"}},"required":["action"]},"then":{"required":["edits"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"window_action"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["focus","minimize","maximize","restore","move","resize","move_resize","close"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"id":{"type":"string","description":"Window id returned by list_windows."},"pid":{"type":"number","description":"Owning process id."},"app":{"type":"string","description":"Application/process name substring."},"title":{"type":"string","description":"Window title substring."},"x":{"type":"number","description":"Virtual-desktop X coordinate in pixels."},"y":{"type":"number","description":"Virtual-desktop Y coordinate in pixels."},"width":{"type":"number","description":"Width in pixels."},"height":{"type":"number","description":"Height in pixels."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"required":["action"],"additionalProperties":false,"allOf":[{"anyOf":[{"required":["id"]},{"required":["pid"]},{"required":["app"]},{"required":["title"]}]},{"if":{"properties":{"action":{"const":"move"}},"required":["action"]},"then":{"required":["x","y"]}},{"if":{"properties":{"action":{"const":"resize"}},"required":["action"]},"then":{"required":["width","height"]}},{"if":{"properties":{"action":{"const":"move_resize"}},"required":["action"]},"then":{"required":["x","y","width","height"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"launch_app"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"app":{"type":"string","description":"Application name, friendly Start Menu name, or executable path."},"path":{"type":"string","description":"Alias for app."},"args":{"type":"array","items":{"type":"string"},"description":"Argument array passed directly to the launched application; no shell parsing."},"cwd":{"type":"string","description":"Optional permitted working directory for direct executable launch."},"wait_for_window":{"type":"string","description":"Optional application/title substring that must appear after launch."},"wait_timeout_ms":{"type":"number","description":"Maximum wait for wait_for_window; default 10000, maximum 120000."}},"additionalProperties":false,"anyOf":[{"required":["app"]},{"required":["path"]}]}}}},{"if":{"properties":{"operation":{"const":"ui_action"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["click","invoke","focus","set_value","select","toggle","expand","collapse","scroll_into_view","set_range_value","add_to_selection","remove_from_selection"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"value":{"description":"New text or numeric range value."}},"required":["action"],"additionalProperties":false,"allOf":[{"anyOf":[{"required":["id"]},{"required":["label"]},{"required":["name"]},{"required":["role"]},{"required":["automation_id"]}]},{"if":{"properties":{"action":{"enum":["set_value","set_range_value"]}},"required":["action"]},"then":{"required":["value"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"type_text"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"text":{"type":"string","description":"Text to enter."},"method":{"type":"string","enum":["auto","accessibility","clipboard","keys"],"description":"Default auto prefers verified accessibility editing and falls back to clipboard paste. keys sends physical key events and therefore follows the active keyboard layout."},"clear":{"type":"boolean","description":"Replace existing text for semantic/window-scoped accessibility input, or clear it before keyboard/paste fallback."},"caret_position":{"type":"string","enum":["start","idle","end"],"description":"Where text insertion should occur when the semantic editor supports caret placement."},"press_enter":{"type":"boolean","description":"Press Enter after typing; physical Enter delivery requires verified window focus."},"delay_ms":{"type":"number","description":"Per-key delay for method=keys."},"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"window_id":{"type":"string","description":"Optional target window id. With auto/accessibility + clear=true, a unique editable control may be updated semantically without focus; keyboard/clipboard fallbacks verify focus before dispatch."},"title":{"type":"string","description":"Optional target window title substring. With auto/accessibility + clear=true, a unique editable control may be updated semantically without compositor focus."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"required":["text"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"keyboard"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"shortcut":{"type":"string","description":"Keyboard shortcut such as CTRL+L, CMD+K or ALT+F4."},"key":{"type":"string","description":"Single key name such as Enter, Escape, Tab or A."},"keys":{"type":"array","items":{"type":"string"},"description":"Ordered key names that together form the requested shortcut or key sequence.","minItems":1},"window_id":{"type":"string","description":"Optional target window id returned by list_windows. On Wayland the target is focused and verified before keyboard/text input is dispatched."},"pid":{"type":"number","description":"Optional target process id."},"app":{"type":"string","description":"Optional target application/process name substring."},"title":{"type":"string","description":"Optional target window title substring."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"additionalProperties":false,"anyOf":[{"required":["shortcut"]},{"required":["key"]},{"required":["keys"]}]}}}},{"if":{"properties":{"operation":{"const":"pointer"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["move","click","double_click","right_click","down","up"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"x":{"type":"number","description":"Virtual-desktop X coordinate in pixels."},"y":{"type":"number","description":"Virtual-desktop Y coordinate in pixels."},"button":{"type":"string","enum":["left","right","middle"],"description":"Pointer button to use for click/down/up or drag gestures."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"required":["action"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"const":"move"}},"required":["action"]},"then":{"required":["x","y"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"drag_drop"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"from_x":{"type":"number","description":"Source X coordinate for a drag gesture."},"from_y":{"type":"number","description":"Source Y coordinate for a drag gesture."},"to_x":{"type":"number","description":"Destination X coordinate for a drag gesture."},"to_y":{"type":"number","description":"Destination Y coordinate for a drag gesture."},"from_id":{"type":"string","description":"Source UI element id; use instead of from_x/from_y."},"to_id":{"type":"string","description":"Destination UI element id; use instead of to_x/to_y."},"button":{"type":"string","enum":["left","right","middle"],"description":"Pointer button to use for click/down/up or drag gestures."},"hold_ms":{"type":"number","description":"How long to hold the pointer button before movement during a drag."},"duration_ms":{"type":"number","description":"Duration of the drag/movement gesture in milliseconds."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"additionalProperties":false,"allOf":[{"anyOf":[{"required":["from_id"]},{"required":["from_x","from_y"]}]},{"anyOf":[{"required":["to_id"]},{"required":["to_x","to_y"]}]}]}}}},{"if":{"properties":{"operation":{"const":"scroll"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"delta_x":{"type":"number","description":"Horizontal delta; positive means right."},"delta_y":{"type":"number","description":"Vertical delta; positive means down."},"delta":{"type":"number","description":"Alias for delta_y."},"direction":{"type":"string","enum":["up","down","left","right"],"description":"Human-readable scroll direction used with wheel_times instead of explicit deltas."},"wheel_times":{"type":"number","description":"Number of 120-unit wheel steps when direction is used; 1..50."},"x":{"type":"number","description":"Virtual-desktop X coordinate in pixels."},"y":{"type":"number","description":"Virtual-desktop Y coordinate in pixels."},"id":{"type":"string","description":"Element id returned by ui_snapshot or ui_find. Linux ids are stable per-process accessibility paths and legacy linux:<index> ids remain accepted."},"label":{"type":"number","description":"Compact numeric label from the most recent ui_snapshot/ui_find; useful for repeated actions without repeating names or coordinates."},"pid":{"type":"number","description":"Limit matching to one owning process id when available."},"app":{"type":"string","description":"Limit matching to an application/process name substring when available."},"window_title":{"type":"string","description":"Limit matching to a top-level accessibility window/frame title substring when available."},"name":{"type":"string","description":"Accessible name/title substring."},"role":{"type":"string","description":"Accessible role such as Button, Edit, textbox or AXButton."},"automation_id":{"type":"string","description":"Windows AutomationId when available."},"backend":{"type":"string","enum":["auto","x11","portal"],"description":"Input backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11."}},"additionalProperties":false,"anyOf":[{"required":["delta_x"]},{"required":["delta_y"]},{"required":["delta"]},{"required":["direction"]}]}}}},{"if":{"properties":{"operation":{"const":"clipboard"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["read","write","clear"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"text":{"type":"string","description":"Text to write."}},"required":["action"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"open_path"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"File or directory to open."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"reveal_path"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"File or directory to reveal."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"notification"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"title":{"type":"string","description":"Window/page title substring used to select the target."},"message":{"type":"string","description":"Notification message."},"timeout_seconds":{"type":"number","description":"Bounded native notification display timeout in seconds when the platform supports it."}},"required":["message"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"record_screen"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"duration_seconds":{"type":"number","description":"1..120 seconds."},"fps":{"type":"number","description":"1..60."},"destination":{"type":"string","description":"Permitted output path."}},"additionalProperties":false}}}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Control computer","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"view_image","title":"View image or screenshot","description":"Use this when the result must be pixels from a paired computer: read an existing image, capture the desktop, or capture one window, monitor, or region. These operations return pixels without interacting with the visible UI; use control_computer or control_browser instead when semantic structure or an action is enough.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["read_image","take_screenshot","screenshot_region"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"read_image"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Absolute path of the image file."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"take_screenshot"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"directory":{"type":"string","description":"Absolute directory to write the temporary PNG into. Defaults to the system temp directory."},"keep":{"type":"boolean","description":"Keep the PNG on disk instead of deleting it after it is returned. Default false."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"screenshot_region"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"x":{"type":"number","description":"Virtual-desktop X coordinate in pixels."},"y":{"type":"number","description":"Virtual-desktop Y coordinate in pixels."},"width":{"type":"number","description":"Width in pixels."},"height":{"type":"number","description":"Height in pixels."},"window_id":{"type":"string","description":"Window id returned by list_windows."},"pid":{"type":"number","description":"Owning process id used to scope the target."},"app":{"type":"string","description":"Application/process name or substring used to select the target."},"title":{"type":"string","description":"Window/page title substring used to select the target."},"monitor":{"type":"string","description":"Monitor name substring, or \"primary\"."},"monitor_index":{"type":"number","description":"Zero-based monitor index from display_inventory."},"padding":{"type":"number","description":"Optional pixels added around the resolved rectangle; 0..200."}},"additionalProperties":false,"anyOf":[{"required":["x","y","width","height"]},{"required":["window_id"]},{"required":["pid"]},{"required":["app"]},{"required":["title"]},{"required":["monitor"]},{"required":["monitor_index"]}]}}}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"View image or screenshot","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"control_browser","title":"Control browser","description":"Use this when the target is a debuggable Chromium page and the task needs tabs, navigation, DOM/accessibility inspection, element search/actions, waits, or explicit JavaScript evaluation. Snapshot, find, and wait operations observe page state; navigation, clicks, typing, uploads, and JavaScript evaluation can change page or remote-site state. Choose one operation and pass only its validated parameters. Use control_computer for browser chrome or other native desktop/non-CDP applications.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["browser_tabs","browser_navigate","browser_snapshot","browser_find","browser_action","browser_wait","browser_evaluate"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"browser_tabs"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"browser_navigate"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."},"action":{"type":"string","enum":["url","new_tab","back","forward","reload"],"description":"Default url when url is provided, otherwise reload. new_tab creates the first page target when needed."},"url":{"type":"string","description":"Destination URL for action=url or action=new_tab."},"wait":{"type":"boolean","description":"Wait for the page load event; default true."},"ignore_cache":{"type":"boolean","description":"Reload without cache when action=reload."}},"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"enum":["url","new_tab"]}},"required":["action"]},"then":{"required":["url"]}}]}}}},{"if":{"properties":{"operation":{"const":"browser_snapshot"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."},"max_nodes":{"type":"number","description":"Maximum AX nodes; default 1500."},"include_screenshot":{"type":"boolean","description":"Attach a real CDP-rendered viewport PNG screenshot; default false."},"selector":{"type":"string","description":"When include_screenshot=true, center this CSS-selected element before capture and report its viewport bounds."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"browser_find"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."},"selector":{"type":"string","description":"CSS selector."},"text":{"type":"string","description":"Visible text substring."},"role":{"type":"string","description":"ARIA role."},"limit":{"type":"number","description":"Maximum number of results to return."}},"additionalProperties":false,"anyOf":[{"required":["selector"]},{"required":["text"]},{"required":["role"]}]}}}},{"if":{"properties":{"operation":{"const":"browser_action"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."},"action":{"type":"string","enum":["click","focus","type","set_value","select","scroll_into_view","upload","press","set_viewport"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"selector":{"type":"string","description":"CSS selector for the target element; prefer the reusable selector returned by browser_find."},"text":{"type":"string","description":"For action=type, Unicode text to insert. For element actions without selector, visible text may identify the target."},"value":{"type":"string","description":"Value for action=set_value; also accepted as a compatibility fallback for action=type."},"text_value":{"type":"string","description":"Compatibility alias for the type/set_value text value."},"option":{"type":"string","description":"Option value to select in a browser select element."},"path":{"type":"string","description":"Permitted local filesystem path."},"paths":{"type":"array","items":{"type":"string"},"description":"List of permitted local filesystem paths.","minItems":1},"key":{"type":"string","description":"Single key name such as Enter, Escape, Tab or A."},"width":{"type":"number","description":"CSS viewport width for set_viewport."},"height":{"type":"number","description":"CSS viewport height for set_viewport."},"device_scale_factor":{"type":"number","description":"Device scale factor for set_viewport; default 1."},"mobile":{"type":"boolean","description":"Enable mobile emulation for set_viewport."}},"required":["action"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"enum":["click","focus","type","set_value","select","scroll_into_view"]}},"required":["action"]},"then":{"anyOf":[{"required":["selector"]},{"required":["text"]}]}},{"if":{"properties":{"action":{"const":"upload"}},"required":["action"]},"then":{"required":["selector"],"anyOf":[{"required":["path"]},{"required":["paths"]}]}},{"if":{"properties":{"action":{"const":"press"}},"required":["action"]},"then":{"required":["key"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"browser_wait"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."},"condition":{"type":"string","enum":["selector","text","url_contains","load","navigation","network_idle"],"description":"Semantic condition to wait for; choose the condition that directly proves the requested state transition."},"selector":{"type":"string","description":"CSS selector identifying a web element."},"text":{"type":"string","description":"Text required by the selected action."},"value":{"type":"string","description":"Value required by the selected action."},"poll_ms":{"type":"number","description":"Polling interval in milliseconds."},"idle_ms":{"type":"number","description":"Required zero-in-flight network quiet window for network_idle; default 500 ms."}},"additionalProperties":false,"allOf":[{"if":{"not":{"required":["condition"]}},"then":{"required":["selector"]}},{"if":{"properties":{"condition":{"const":"selector"}},"required":["condition"]},"then":{"required":["selector"]}},{"if":{"properties":{"condition":{"const":"text"}},"required":["condition"]},"then":{"required":["text"]}},{"if":{"properties":{"condition":{"const":"url_contains"}},"required":["condition"]},"then":{"anyOf":[{"required":["value"]},{"required":["text"]}]}}]}}}},{"if":{"properties":{"operation":{"const":"browser_evaluate"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"endpoint":{"type":"string","description":"Loopback Chrome DevTools endpoint. Defaults to REMCP_CDP_URL or http://127.0.0.1:9222."},"target_id":{"type":"string","description":"Page target id returned by browser_tabs."},"title":{"type":"string","description":"Choose a page whose title contains this text."},"url_contains":{"type":"string","description":"Choose a page whose URL contains this text."},"timeout_ms":{"type":"number","description":"Timeout in milliseconds."},"expression":{"type":"string","description":"JavaScript expression."},"await_promise":{"type":"boolean","description":"Await a returned Promise; default true."}},"required":["expression"],"additionalProperties":false}},"required":["parameters"]}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Control browser","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"manage_system","title":"Manage system","description":"Use this when the task concerns operating-system or ReMCP runtime state: system/runtime/process facts, runtime preferences, services, event logs, networking, installed apps, environment, audio, or explicit power actions. Fact, log, and inventory operations only observe state; process termination, runtime preference changes, service/audio changes, restart, and shutdown can interrupt work or change the machine. Choose one operation and pass only its validated parameters. Use run_terminal for general shell commands and ReMCP terminal sessions.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["get_system_info","list_processes","kill_process","get_runtime_info","get_runtime_stats","set_config_value","service","event_log","network","installed_apps","environment","audio","power_action"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"get_system_info"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"list_processes"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"limit":{"type":"number","description":"Maximum number of processes to return. Default 100, maximum 1000."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"kill_process"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"pid":{"type":"number","description":"Process id to terminate."}},"required":["pid"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"get_runtime_info"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"get_runtime_stats"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"set_config_value"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"key":{"type":"string","description":"telemetryEnabled (true/false), maxReadLines, maxBufferedLines or maxOutputBytes."},"value":{"description":"New value: a boolean for telemetryEnabled, a number for the limits."}},"required":["key","value"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"service"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["list","status","start","stop","restart"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"name":{"type":"string","description":"Service/unit/launchd label."},"scope":{"type":"string","enum":["user","system"],"description":"Scope of the operation; choose user scope unless the task explicitly requires a system service."}},"required":["action"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"enum":["status","start","stop","restart"]}},"required":["action"]},"then":{"required":["name"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"event_log"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"log":{"type":"string","description":"Windows log name."},"since":{"type":"string","description":"Time window such as 30s, 10m, 2h, or 1d."},"filter":{"type":"string","description":"Optional bounded filter expression or text used to reduce returned results."},"query":{"type":"string","description":"Optional platform-specific query used to reduce returned log results."},"limit":{"type":"number","description":"Maximum number of results to return."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"network"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["summary","interfaces","dns","routes","listeners","test"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"host":{"type":"string","description":"Host name or IP address for a bounded connectivity test."},"port":{"type":"number","description":"TCP port number for a connectivity test."},"timeout_ms":{"type":"number","description":"Bounded timeout in milliseconds."}},"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"const":"test"}},"required":["action"]},"then":{"required":["host","port"]}}]}}}},{"if":{"properties":{"operation":{"const":"installed_apps"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"filter":{"type":"string","description":"Name substring."},"limit":{"type":"number","description":"Maximum results; default 1000."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"environment"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"include_env":{"type":"boolean","description":"Include sanitized environment variables; default false."}},"additionalProperties":false}}}},{"if":{"properties":{"operation":{"const":"audio"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["status","set_volume","mute","unmute"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"volume":{"type":"number","description":"0..100 for set_volume."}},"required":["action"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"const":"set_volume"}},"required":["action"]},"then":{"required":["volume"]}}]}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"power_action"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["lock","sleep","restart","shutdown"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"delay_seconds":{"type":"number","description":"Optional delay, maximum 3600 seconds."}},"required":["action"],"additionalProperties":false}},"required":["parameters"]}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Manage system","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"manage_documents","title":"Manage documents","description":"Use this when the task is structured document content: read PDF/DOCX/XLSX, edit DOCX/XLSX directly, or merge, split, extract, or inspect PDFs. DOCX/XLSX edits can replace the input when no separate output is supplied, and PDF write operations create or replace their requested output; read_document itself is read-only. Choose one operation and pass only its validated parameters. Use read_file for plain line-oriented text and control_computer only for interactive Office UI.","inputSchema":{"type":"object","properties":{"device":{"type":"string","description":"ReMCP device id returned by list_devices."},"operation":{"type":"string","enum":["read_document","edit_spreadsheet","edit_document","pdf_action"],"description":"Concrete runtime operation to perform inside this domain."},"parameters":{"type":"object","description":"Arguments for the selected operation. The selected operation keeps its original closed input schema."}},"required":["device","operation"],"allOf":[{"if":{"properties":{"operation":{"const":"read_document"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Document path."},"sheet":{"type":"string","description":"Worksheet name for XLSX."},"max_cells":{"type":"number","description":"Maximum number of spreadsheet cells to return."}},"required":["path"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"edit_spreadsheet"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Existing .xlsx path, or the new workbook destination when create=true."},"create":{"type":"boolean","description":"Create a new XLSX at path. Fails if path already exists; do not combine with output."},"output":{"type":"string","description":"Optional output .xlsx when editing an existing workbook; defaults to replacing input."},"sheet":{"type":"string","description":"Worksheet name. For create=true, defaults to Sheet1 and becomes the new workbook sheet name."},"edits":{"type":"array","maxItems":500,"items":{"type":"object","properties":{"cell":{"type":"string","description":"Single A1 cell reference."},"range":{"type":"string","description":"Rectangular range such as A1:C3."},"value":{"description":"Scalar value for one cell or to fill a range."},"values":{"type":"array","items":{"type":"array","items":{}},"description":"2D matrix matching the range dimensions."},"formula":{"type":"string","description":"Optional formula; for a range it is written to each expanded cell."}},"additionalProperties":false},"description":"Bounded list of spreadsheet edits; each item names a cell/range and the value(s) or formula to write."}},"required":["path","edits"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"edit_document"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"path":{"type":"string","description":"Existing .docx path, or the new document destination when create=true."},"create":{"type":"boolean","description":"Create a new DOCX at path. Fails if path already exists; do not combine with output."},"output":{"type":"string","description":"Optional output .docx path when editing an existing document."},"operations":{"type":"array","maxItems":100,"items":{"type":"object","properties":{"action":{"type":"string","enum":["replace","append_paragraph","prepend_paragraph","insert_paragraph_before","insert_paragraph_after","delete_paragraph"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"search":{"type":"string","description":"Paragraph text substring for replace/insert/delete operations."},"replacement":{"type":"string","description":"Replacement text for matching document content."},"all":{"type":"boolean","description":"Apply to all matching paragraphs; default true."},"text":{"type":"string","description":"Paragraph text to append/prepend/insert."}},"required":["action"],"additionalProperties":false},"description":"Bounded list of structured document operations executed in order."}},"required":["path","operations"],"additionalProperties":false}},"required":["parameters"]}},{"if":{"properties":{"operation":{"const":"pdf_action"}},"required":["operation"]},"then":{"properties":{"parameters":{"type":"object","properties":{"action":{"type":"string","enum":["merge","split","extract_pages","annotations","info"],"description":"Operation to perform; choose the narrowest action that directly matches the requested outcome."},"path":{"type":"string","description":"Permitted local filesystem path."},"paths":{"type":"array","items":{"type":"string"},"description":"List of permitted local filesystem paths.","minItems":2,"maxItems":100},"output":{"type":"string","description":"Optional permitted output path; when omitted the tool may update the input according to its action."},"output_dir":{"type":"string","description":"Permitted directory for generated output files."},"pattern":{"type":"string","description":"Output filename pattern where supported."},"pages":{"type":"string","description":"Page list/ranges such as 1-3,5."}},"required":["action"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"enum":["annotations","info","split","extract_pages"]}},"required":["action"]},"then":{"required":["path"]}},{"if":{"properties":{"action":{"const":"merge"}},"required":["action"]},"then":{"required":["paths","output"]}},{"if":{"properties":{"action":{"const":"extract_pages"}},"required":["action"]},"then":{"required":["pages","output"]}}]}},"required":["parameters"]}}],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Concise human-readable result of the tool call."},"data":{"description":"Optional structured result data for follow-up reasoning and tool calls.","anyOf":[{"type":"object"},{"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["text"],"additionalProperties":false},"annotations":{"title":"Manage documents","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}}],"resources":[{"uri":"skill://remcp/change-code-and-verify/SKILL.md","name":"SKILL.md","mimeType":"text/markdown"},{"uri":"skill://remcp/change-code-and-verify/agents/openai.yaml","name":"agents/openai.yaml","mimeType":"application/yaml"},{"uri":"skill://remcp/change-code-and-verify/references/verification-checklist.md","name":"references/verification-checklist.md","mimeType":"text/markdown"},{"uri":"skill://remcp/change-code-and-verify/references/visual-engineering-qa.md","name":"references/visual-engineering-qa.md","mimeType":"text/markdown"},{"uri":"skill://remcp/remcp-operator/SKILL.md","name":"SKILL.md","mimeType":"text/markdown"},{"uri":"skill://remcp/remcp-operator/agents/openai.yaml","name":"agents/openai.yaml","mimeType":"application/yaml"},{"uri":"skill://remcp/remcp-operator/references/computer-use-routing.md","name":"references/computer-use-routing.md","mimeType":"text/markdown"},{"uri":"skill://remcp/remcp-operator/references/file-process-workflows.md","name":"references/file-process-workflows.md","mimeType":"text/markdown"},{"uri":"skill://remcp/run-and-watch-processes/SKILL.md","name":"SKILL.md","mimeType":"text/markdown"},{"uri":"skill://remcp/run-and-watch-processes/agents/openai.yaml","name":"agents/openai.yaml","mimeType":"application/yaml"},{"uri":"skill://remcp/safe-destructive-operations/SKILL.md","name":"SKILL.md","mimeType":"text/markdown"},{"uri":"skill://remcp/safe-destructive-operations/agents/openai.yaml","name":"agents/openai.yaml","mimeType":"application/yaml"},{"uri":"skill://remcp/transfer-files-between-machines/SKILL.md","name":"SKILL.md","mimeType":"text/markdown"},{"uri":"skill://remcp/transfer-files-between-machines/agents/openai.yaml","name":"agents/openai.yaml","mimeType":"application/yaml"},{"uri":"skill://remcp/transfer-files-between-machines/references/chunking.md","name":"references/chunking.md","mimeType":"text/markdown"}],"prompts":[]},"http_status":200,"headers":{"content-type":"application/json; charset=utf-8","strict-transport-security":"max-age=31536000"}}},"oauth_protected_resource":{"status":"ok","latency_ms":479.23,"details":{"url":"https://remcp.site/.well-known/oauth-protected-resource","payload":{"resource":"https://remcp.site/mcp","authorization_servers":["https://remcp.site"],"bearer_methods_supported":["header"],"scopes_supported":["openid","email","remcp:control","offline_access"],"resource_documentation":"https://remcp.site","resource_policy_uri":"https://remcp.site/privacy","resource_tos_uri":"https://remcp.site/terms"},"http_status":200,"headers":{"content-type":"application/json; charset=utf-8","strict-transport-security":"max-age=31536000"}}},"oauth_authorization_server":{"status":"ok","latency_ms":181.84,"details":{"url":"https://remcp.site/.well-known/oauth-authorization-server","payload":{"issuer":"https://remcp.site","authorization_endpoint":"https://remcp.site/oauth/authorize","token_endpoint":"https://remcp.site/oauth/token","registration_endpoint":"https://remcp.site/oauth/register","userinfo_endpoint":"https://remcp.site/oauth/userinfo","revocation_endpoint":"https://remcp.site/oauth/revoke","device_authorization_endpoint":"https://remcp.site/oauth/device_authorization","jwks_uri":"https://remcp.site/.well-known/jwks.json","response_types_supported":["code"],"response_modes_supported":["query"],"grant_types_supported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"token_endpoint_auth_methods_supported":["none"],"code_challenge_methods_supported":["S256"],"id_token_signing_alg_values_supported":["RS256"],"scopes_supported":["openid","email","remcp:control","offline_access"],"subject_types_supported":["public"],"claims_supported":["sub","email","email_verified","name"],"claims_parameter_supported":false,"request_parameter_supported":false,"authorization_response_iss_parameter_supported":true},"http_status":200,"headers":{"content-type":"application/json; charset=utf-8","strict-transport-security":"max-age=31536000"}}},"openid_configuration":{"status":"ok","latency_ms":181.86,"details":{"url":"https://remcp.site/.well-known/openid-configuration","payload":{"issuer":"https://remcp.site","authorization_endpoint":"https://remcp.site/oauth/authorize","token_endpoint":"https://remcp.site/oauth/token","registration_endpoint":"https://remcp.site/oauth/register","userinfo_endpoint":"https://remcp.site/oauth/userinfo","revocation_endpoint":"https://remcp.site/oauth/revoke","device_authorization_endpoint":"https://remcp.site/oauth/device_authorization","jwks_uri":"https://remcp.site/.well-known/jwks.json","response_types_supported":["code"],"response_modes_supported":["query"],"grant_types_supported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"token_endpoint_auth_methods_supported":["none"],"code_challenge_methods_supported":["S256"],"id_token_signing_alg_values_supported":["RS256"],"scopes_supported":["openid","email","remcp:control","offline_access"],"subject_types_supported":["public"],"claims_supported":["sub","email","email_verified","name"],"claims_parameter_supported":false,"request_parameter_supported":false,"authorization_response_iss_parameter_supported":true},"http_status":200,"headers":{"content-type":"application/json; charset=utf-8","strict-transport-security":"max-age=31536000"}}},"initialize":{"status":"error","latency_ms":182.32,"details":{"url":"https://remcp.site","error":"Client error '404 Not Found' for url 'https://remcp.site'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404","http_status":404,"payload":{},"headers":{"content-type":"text/html; charset=utf-8","strict-transport-security":"max-age=31536000"}}},"protocol_version_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_protocol_version","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25"}},"tools_list":{"status":"skipped","latency_ms":null,"details":{"reason":"initialize_unreachable"}},"prompts_list":{"status":"skipped","latency_ms":null,"details":{"reason":"initialize_unreachable"}},"prompt_get":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"resources_list":{"status":"skipped","latency_ms":null,"details":{"reason":"initialize_unreachable"}},"resource_read":{"status":"missing","latency_ms":null,"details":{"reason":"no_resource_uri"}},"determinism_probe":{"status":"skipped","latency_ms":null,"details":{"reason":"initialize_unreachable"}},"instruction_tool_reference_probe":{"status":"not_assessed","latency_ms":null,"details":{"reason":"initialize_or_tools_unavailable"}},"session_resume_probe":{"status":"skipped","latency_ms":null,"details":{"reason":"initialize_unreachable"}},"step_up_auth_probe":{"status":"warning","latency_ms":null,"details":{"oauth_present":true,"auth_required_checks":[],"supported_scopes":["email","offline_access","openid","remcp:control"],"scope_specificity_ratio":0.2,"broad_scopes":[],"challenge_headers":[],"step_up_signals":[],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"skipped","latency_ms":null,"details":{"reason":"initialize_unreachable"}},"utility_coverage_probe":{"status":"missing","latency_ms":null,"details":{"completions":{"advertised":false,"sample_target":{"type":"resource","uri":"skill://remcp/change-code-and-verify/SKILL.md"},"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"skipped","http_status":null},"initialize_capability_keys":[]}},"advanced_capabilities_probe":{"status":"warning","latency_ms":null,"details":{"capabilities":{"prompts":false,"resources":true,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":false,"resource_links":true},"enabled_count":2,"enabled":["resource_links","resources"],"initialize_capability_keys":[]}},"tool_snapshot_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_tools"}},"connector_replay_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_tools"}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"ok","latency_ms":null,"details":{"risk_hits":[],"safe_hits":["oauth","browser","consent"],"oauth_supported":true,"prompt_available":false}},"action_safety_probe":{"status":"not_assessed","latency_ms":null,"details":{"summary":{"tool_count":0,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":0,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":0,"annotation_conflict_tools":0,"risk_distribution":{"low":0,"medium":0,"high":0,"critical":0},"capability_distribution":{},"has_mutating_capability":false,"has_non_read_capability":false},"auth_present":true,"safeguard_count":0,"confirmation_signals":[],"reason":"empty_observation_set"}},"official_registry_probe":{"status":"missing","latency_ms":null,"details":{"registry_source":"github_topic_registry","direct_match":false,"official_peer_count":0}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":false,"registry_title":null,"server_card_title":"remcp","registry_version":null,"server_card_version":"0.2.106","registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":2,"compared_fields":["title","version","homepage","repository"],"readable_sources":["server_card"],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_live_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":"remcp","live_server_name":null,"server_version_mismatch":false,"card_server_version":"0.2.106","live_server_version":null,"auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"error","latency_ms":null,"details":{"transport":"streamable-http","tool_count":0,"high_risk_tools":0,"blockers":["initialize","tools_list","protocol_version","session_resume","step_up_auth","transport_compliance","connector_replay","request_association","action_safety","tool_surface","auth_flow"],"criteria":{"remote_transport":true,"initialize":false,"tools_list":false,"protocol_version":false,"session_resume":false,"step_up_auth":false,"transport_compliance":false,"connector_replay":false,"request_association":false,"action_safety":false,"server_card":true,"tool_surface":false,"auth_flow":false}}}}},"active_alerts":[{"code":"server_failing","severity":"critical","title":"Latest validation is failing","message":"Core MCP flows did not validate successfully on the latest run.","addressee":"publisher"}],"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_42cf3967d902ecae","generated_at":"2026-09-24T18:23:07.310468+00:00","trust_evaluated_at":"2026-09-24T18:23:07.310468+00:00","evidence_revision":"1b1711e259a303081e8366e7","source":"current_snapshot","server":"github-getremcp/remcp","last_validated_at":"2026-09-24T13:07:41.625561+00:00","validation_age_hours":5.26,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-24T13:07:41.625561+00:00","age_hours":5.26,"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":null,"raw_score":null,"confidence_score":null,"confidence_weighted_score":null,"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":"failing","current_score":null,"display_score":null,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Not assessed","why":"tool surface has not been observed by any completed validation run","next_action":"revalidate so the tool surface can be inspected before a production decision is made","reason_count":0},"production_readiness_class":{"code":"failing","label":"Failing","reason":"The latest validation run was attempted but did not complete successfully."},"evidence_confidence":{"score":null,"label":"not_assessed","validation_age_hours":5.26,"live_check_count":8,"basis":{"evidence_bearing_validations":0,"affirmative_live_check_count":8,"validation_age_hours":5.26,"freshness_threshold_hours":24}},"active_alerts":[{"code":"server_failing","severity":"critical","title":"Latest validation is failing"}],"active_alert_summary":{"critical":1,"high":0,"medium":0,"low":0,"high_or_critical":1,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-24T18:23:07.310468+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_42cf3967d902ecae","generated_at":"2026-09-24T18:23:07.310468+00:00","trust_evaluated_at":"2026-09-24T18:23:07.310468+00:00","evidence_revision":"1b1711e259a303081e8366e7","source":"current_snapshot","server":"github-getremcp/remcp","last_validated_at":"2026-09-24T13:07:41.625561+00:00","validation_age_hours":5.26,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-24T13:07:41.625561+00:00","age_hours":5.26,"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":null,"raw_score":null,"confidence_score":null,"confidence_weighted_score":null,"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":"failing","current_score":null,"display_score":null,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Not assessed","why":"tool surface has not been observed by any completed validation run","next_action":"revalidate so the tool surface can be inspected before a production decision is made","reason_count":0},"production_readiness_class":{"code":"failing","label":"Failing","reason":"The latest validation run was attempted but did not complete successfully."},"evidence_confidence":{"score":null,"label":"not_assessed","validation_age_hours":5.26,"live_check_count":8,"basis":{"evidence_bearing_validations":0,"affirmative_live_check_count":8,"validation_age_hours":5.26,"freshness_threshold_hours":24}},"active_alerts":[{"code":"server_failing","severity":"critical","title":"Latest validation is failing"}],"active_alert_summary":{"critical":1,"high":0,"medium":0,"low":0,"high_or_critical":1,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-24T18:23:07.310468+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-09-24T18:23:07.310468+00:00","evidence_revision":"1b1711e259a303081e8366e7","active_alert_summary":{"critical":1,"high":0,"medium":0,"low":0,"high_or_critical":1,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-24T18:23:07.310468+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_42cf3967d902ecae"}],"rows":[{"label":"Snapshot ID","values":["trustsnap_42cf3967d902ecae"]},{"label":"Status","values":["failing"]},{"label":"Score","values":[null]},{"label":"Production readiness","values":["Failing"]},{"label":"Production trust decision","values":["Not assessed"]},{"label":"Recommended policy","values":["Not assessed"]},{"label":"Observed Attention","values":["No observed attention"]},{"label":"Evidence confidence","values":[null]},{"label":"Freshness","values":["n/a"]},{"label":"Latency","values":["n/a"]},{"label":"Spec recency","values":[0.0]},{"label":"Session resume","values":[0.0]},{"label":"Step-up auth","values":[3.0]},{"label":"Transport compliance","values":[0.0]},{"label":"Utility coverage","values":[0.0]},{"label":"Publishability","values":[0.0]},{"label":"Connector replay","values":[0.0]},{"label":"Request association","values":[0.0]},{"label":"Action safety","values":[null]},{"label":"Registry presence","values":[2.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":["OAuth"]},{"label":"Tools","values":[0]},{"label":"Prompts","values":[0]},{"label":"Resources","values":[0]},{"label":"OAuth","values":[true]},{"label":"DCR","values":[true]},{"label":"Taxonomy","values":[""]},{"label":"Recommended for","values":["none"]},{"label":"Top alerts","values":["Latest validation is failing"]}],"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-09-24T18:23:07.310468+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-09-24T18:23:07.314521+00:00"}}