Build and interact with AI-native spreadsheets supporting Python, SQL, and JavaScript through Quadratic's collaborative platform.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 8 days ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The rmcp MCP server exposes 5 tools, focused primarily on filesystem capabilities. Its published description reads: "Build and interact with AI-native spreadsheets supporting Python, SQL, and JavaScript through Quadratic's collaborative platform". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates rmcp F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Hidden instructions in a tool description" and "Hidden instructions in a tool description". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check rmcp's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add rmcp to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://mcp.quadratichq.com/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Authenticate the MCP session with Quadratic. Actions: • login() — Start an OAuth device authorization flow. Returns a URL the user must open in a browser to authorize. The flow is completed by confirm
Read-only file metadata operations on Quadratic files the user has access to. No data is modified. Requires authentication. Actions: • list_files() — List all accessible files. • get_file_info(file_id
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: write_data
A tool description contains imperative text aimed at the model (e.g. "ignore previous", "before answering read …").
ode_cell_value. IMPORTANT: Always reference sheet data with q.cells() — neRecommendationRemove model-directed instructions from tool descriptions.
tool: (server instructions)
A tool description contains imperative text aimed at the model (e.g. "ignore previous", "before answering read …").
lt that summary before calling read tools; fetch full data only when the sample is insufficientRecommendationRemove model-directed instructions from tool descriptions.
tool: files_write
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
r modify state: create a new file, open an existing file to start an editing sessRecommendationAnnotate destructive tools and require human approval.
tool: read_data
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
pattern, and `{{SECRET_NAME}}` references to use in fetch code. team_uRecommendationRemove side-channel parameters; constrain tool inputs.
tool: read_data
A tool description tries to alter the model’s use of another tool.
vice, base URL, auth pattern, and `{{SECRET_NAME}}` references to usRecommendationDescriptions must describe only their own tool.
tool: read_data
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
se connections. Always call before writing SQL. Get connection_ids from list_conneRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: write_data
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
y id required. History: • undo(count?) — Default 1. • redo(count?) — DRecommendationRemove side-channel parameters; constrain tool inputs.
tool: write_data
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
election?) — Re-run code cells. Do NOT call after set_code_cell_value, sRecommendationAnnotate destructive tools and require human approval.
tool: write_data
A tool description tries to alter the model’s use of another tool.
e]") instead of A1 ranges. Colors: hex ("#FF0000"), empty string to removeRecommendationDescriptions must describe only their own tool.
tool: write_data
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
ID, QUICKBOOKS. Always call get_database_schemas before writing SQL. Cell must be empty. Empty sheet →RecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: (server instructions)
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
eferencing team secrets as {{SECRET_NAME}} placeholders. - **FinancialRecommendationRemove side-channel parameters; constrain tool inputs.
tool: (server instructions)
A tool description tries to alter the model’s use of another tool.
d of column references like `A` or infinite ranges like `A3:A`. ### ColumRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: auth
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: files_read
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: files_read
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
files_read Read-only file metadata operations on Quadratic files the userRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: files_write
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: files_write
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
that create or modify state: create a new file, open an existing file to start an editing sessRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: write_data
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: write_data
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
.parq/.pqt). To create a new file from an import, call files create_file first, tRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: (server instructions)
The description pairs a fetch imperative with a hardcoded external URL, letting the server relocate its real instructions off-metadata and mutate them after review. Fires only when a fetch verb and a URL co-occur, so benign documentation links do not.
URL of the form https://app.quadratichq.com/file/<uuid>.RecommendationDo not direct the model to fetch and act on external URLs; treat linked content as untrusted.
tool: read_data
An unusually long description is a common injection-padding tactic.
description length 5976 charsRecommendationKeep descriptions concise.
tool: write_data
An unusually long description is a common injection-padding tactic.
description length 13166 charsRecommendationKeep descriptions concise.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
File management operations that create or modify state: create a new file, open an existing file to start an editing session, or close a session. Requires authentication. Actions: • open_file(file_id?
Read-only queries on the open spreadsheet. No data is modified. Safe to auto-approve. Call as {"action": "<name>", "params": {...}} — per-action params are listed in the Action Reference below. Specia
Write operations on the open spreadsheet. Call as {"action": "<name>", "params": {...}} — per-action params are listed in the Action Reference below. Numbers, booleans, and nulls in cell values are co