Relvato monitors websites in a real browser. It checks sign-ups, logins, checkout, payments, page speed, search visibility and security, and re-checks them every time the site changes. It works on any website and goes deepest on WordPress & WooCommerce.
This is Relvato's hosted Model Context Protocol server. There's nothing to
install or run: point your MCP client at the URL and sign in to Relvato, or use a Relvato API key. This repository
holds the connection details, the registry entry (server.json) and the Claude Code plugin
(.claude-plugin/, skills/). The server itself runs at Relvato.
Sign in (no key needed)
Sign-in works in clients that identify themselves with a Client ID Metadata Document (CIMD): Claude (claude.ai, Desktop, and Claude Code 2.1.81 or later), ChatGPT and VS Code. Relvato doesn't offer dynamic client registration, so a client that can only register itself that way (Cursor for now, the Gemini CLI, Docker's MCP gateway), or that has no sign-in at all (DeepSeek Harness), uses an API key instead.
In a client that supports it, add the endpoint with nothing else. The first time the client uses it, it opens Relvato's sign-in:
- Sign up (there's a free plan) or sign in.
- Allow the client to read your sites and results and to make changes: add and configure sites and monitors, change schedules and run scans.
- If you belong to an organization, pick which of its workspaces to connect. Your personal workspace isn't offered there, so use an API key for it.
Discovery follows the MCP authorization spec. A 401 points to
/.well-known/oauth-protected-resource/api/mcp, and the authorization server is https://clerk.relvato.com
(client_id_metadata_document_supported; no registration endpoint). The scopes are relvato:read, relvato:write and
user:org:read.
Or use an API key
For scripts, for clients that can't sign in (no CIMD support), or for your personal workspace while you're in an organization:
- Open API access from the account menu, or go to app.relvato.com/api-access.
- Create a key:
- Full access lets the agent add and configure sites and monitors, run them, review results and apply the fixes runs propose.
- Read-only lets it read everything: sites, health and uptime, performance, runs, monitors, WordPress updates and activity, fix briefs and alert settings. With a read-only key the client only sees the read tools.
- Send it as
Authorization: Bearer rlv_…(orx-api-key: rlv_…). A key is shown once. Keep it out of files you commit.
Connect
Claude (claude.ai, Desktop, mobile)
Settings → Connectors → Add custom connector. Enter the URL https://app.relvato.com/api/mcp, then Connect and
sign in.
Claude Code
The plugin (recommended): the server plus three skills for working from a code repo.
claude plugin marketplace add Relvato/relvato-mcp
claude plugin install relvato@relvato
Then run /mcp, choose plugin:relvato:relvato, then Authenticate. The skills:
Already added Relvato on claude.ai? With a Claude subscription, that connector shows up in Claude Code too. The skills work with either connection.
Just the server:
claude mcp add --transport http relvato https://app.relvato.com/api/mcp
Then run /mcp, choose relvato, then Authenticate. With an API key instead:
claude mcp add --transport http relvato https://app.relvato.com/api/mcp --header "Authorization: Bearer rlv_your_key"
Cursor
In ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), with an API key. Cursor doesn't support
Client ID Metadata Documents yet, so it can't use Relvato's sign-in:
{
"mcpServers": {
"relvato": {
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
Once Cursor supports CIMD, the URL alone will be enough: Cursor will offer to sign in.
VS Code
In .vscode/mcp.json. VS Code offers to sign in:
{
"servers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp"
}
}
}
With an API key, VS Code can ask for it once and store it securely, so it never sits in the file:
{
"inputs": [
{ "type": "promptString", "id": "relvato-key", "description": "Relvato API key (rlv_…)", "password": true }
],
"servers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer ${input:relvato-key}"
}
}
}
}
Gemini CLI
Install the extension from this repository:
gemini extensions install https://github.com/Relvato/relvato-mcp
It asks for your Relvato API key (create one) and keeps it in your system
keychain; it never sits in a file. To change it later: gemini extensions config relvato. The Gemini CLI can't use
Relvato's sign-in (it supports only dynamic client registration, which Relvato doesn't offer), so the extension uses the
key.
Without the extension, add the server to ~/.gemini/settings.json:
{
"mcpServers": {
"relvato": {
"httpUrl": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
DeepSeek Harness
Add the dsh-plugin-relvato bundle to a profile, with your API key in
RELVATO_API_KEY (your environment or ~/.dsh/.env):
dsh plugin --profile web add dsh-plugin-relvato
It's on npm; github:Relvato/dsh-plugin-relvato installs it straight from GitHub.
dsh's MCP client sends headers and has no sign-in, so it uses the key. The tools appear as mcp__relvato__<tool>.
Cline
In cline_mcp_settings.json (MCP Servers → Configure), with an API key:
{
"mcpServers": {
"relvato": {
"type": "streamableHttp",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
Agents that set servers up themselves can follow llms-install.md.
Any other client
Add a remote HTTP (streamable HTTP) server with the endpoint above. If the client supports MCP sign-in with Client
ID Metadata Documents (CIMD), that's all. Otherwise (including clients that only do dynamic client registration) add an
Authorization: Bearer rlv_… header. In the common mcp.json format:
{
"mcpServers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
Tools
58 tools, grouped by job in the order tools/list sends them. read tools work with any connection; full access tools need a full-access key, or a sign-in that allowed changes.
Set up
Read
Tune
Run and act
Review results
initialize and tools/list answer without signing in, so directories and clients can show what the server offers.
Every tool call needs a sign-in or a key. A read-only key, or a sign-in without write access, gets only the read tools.
Things to ask
- "Set up monitoring for example.com and tell me what I need to do to connect it."
- "Add my pricing and blog pages to the visual monitor, and run it."
- "Why did checkout fail on my shop last night, and how do I fix it?" (and, once you agree, "apply that fix")
- "How fast is my shop for real visitors, and what's slowing it down?"
- "The homepage redesign is intentional: accept the new screenshots."
- "Who signed in to WordPress this week, and did anyone fail to?"
- "Write a monitor that checks the Pro plan still shows a price."
What an agent can't do
The agent works under the same rules as the dashboard. Some things stay in the dashboard, with a person looking:
- Skip ownership. Until a site's WordPress plugin is connected or its domain is verified, its public monitors run only when started by hand (3 a day per domain, no alerts); schedules, alerts and the monitors that act on the site wait for the proof.
- Silence something for good. It can accept or ignore a result only in ways that can be undone, and only when you confirm the change is intended. Approving file-integrity, script and DNS changes (no undo; exactly what an attacker wants clicked) stays in the dashboard.
- Change your site beyond what a run proposes. On WordPress it applies only the one-click fix a run proposes, and updates or deactivates a vulnerable plugin only with automatic undo. Destructive tools are marked, so your client asks you first.
- Weaken alerts or protection. Who receives alerts, muting, stopping quarantine mode, the proxy and the firewall token stay in the dashboard.
- Touch secrets. Connect tokens, signing secrets, webhook URLs and report share links are never exposed.
- Delete anything, or change billing.
- Go past your plan. Plan limits apply exactly as in the dashboard.
Limits
Requests are rate-limited per workspace, per minute, counted across the REST API and MCP together, whether you sign in or use a key:
Runs started with trigger_scan (and the runs that confirm apply_fix and start_safe_update) count toward the same
monthly run quota as scheduled runs. See
pricing.
Also available
- REST API. The same read data at
https://app.relvato.com/api/v1(sites, health, performance, runs, monitors, updates, activity, notifications), using the same keys. See the developer docs. - Webhooks. A signed JSON event for every alert (Pro and up).
Support
- Questions and bug reports: relvato.com/contact, or open an issue here.
- Service status: relvato.com/status.
- Security issues: please use the contact page, not a public issue.
This repository contains documentation and configuration only. The Relvato service is proprietary and covered by its terms. The contents of this repository are MIT-licensed (see LICENSE), so copy the config snippets freely.
