Skip to main content
Browser sign-in, no API key. Cybe MCP uses OAuth 2.1 with Dynamic Client Registration (RFC 7591). When you add the URL to your AI assistant, the assistant opens your browser, you sign in to CybeDefend exactly the way you sign in to the dashboard, and the agent receives a Bearer JWT scoped to your account. No PAT to manage. No local proxy. No .env to rotate.
Want this done in one command? VibeDefend registers this MCP server for Claude Code, Cursor, Codex, Windsurf and VS Code Copilot — and wires the hook layer (rules before each edit, action guards, session-end gap analysis) — in a single npx install. This page is the manual setup, and the reference for the tools VibeDefend connects on your behalf.

The two endpoints

Pick the URL that matches the region your CybeDefend tenant lives in: You can only sign in to the region that hosts your account. If you’re not sure which one you signed up on, look at the URL of the dashboard you log into (eu.cybedefend.com vs us.cybedefend.com) and pick the matching MCP host.

Setup per AI assistant

Most modern MCP clients accept the URL directly and walk you through the OAuth handshake. The snippets below show the canonical config file for each client; substitute the EU URL with the US one if your tenant is in the US region.

Claude Code

The CLI client supports claude mcp add for one-shot configuration:
The first time the agent calls a Cybe tool, Claude Code opens a browser tab on mcp-eu.cybedefend.com/oauth/authorize, you sign in (or it auto-completes if your dashboard session is already alive), and the token is cached locally by the client. After that, the agent calls Cybe tools transparently in every session. Verify it landed:

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), or the equivalent on Windows / Linux, and add:
Restart Claude Desktop. The first tool call opens the OAuth page in your default browser.

Cursor

Cursor reads ~/.cursor/mcp.json (global) or <project>/.cursor/mcp.json (per-project). Drop:
Open Cursor’s Command Palette and run MCP: Reload servers. Cursor opens the OAuth page on the first tool call and persists the token.

VS Code Copilot Chat

Recent versions of VS Code Copilot Chat support MCP via <project>/.vscode/mcp.json:
Run MCP: Reload servers from the Command Palette. The first call triggers the OAuth flow.

Windsurf

Windsurf’s MCP config lives at ~/.codeium/windsurf/mcp_config.json:
Reload Windsurf. Same OAuth-on-first-call flow.

Continue · Cline · Zed · any other MCP client

Any client that follows the MCP Streamable HTTP transport spec works. Three things to give the client:
  1. URL: https://mcp-eu.cybedefend.com/mcp (or mcp-us)
  2. Transport: HTTP / Streamable
  3. Auth: OAuth 2.0. The client should auto-discover via /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server, then perform Dynamic Client Registration on /oauth/register. Modern MCP clients implement this out of the box.

What the OAuth flow looks like

The DCR step only accepts loopback redirect URIs (RFC 8252), which is what every native MCP client uses. The Bearer token in step 6 is a Logto-issued JWT. Every tool call after that lands on the CybeDefend Gateway, where Permify checks your per-project permissions exactly as it does for the dashboard. Your project-level access is authoritative; the MCP server enforces nothing of its own.

The 18 tools

All tools share the same shape: a typed JSON schema the agent’s planner can reason about, and every one requires projectId. The two exceptions need a second argument: get_business_logic_context requires user_intent (a free-text description of what the agent is about to do), and get_similar_vulnerabilities requires vulnerabilityId. Every response carries the same finding identifier the dashboard uses, so an agent action and a human action on the same finding land in the same audit trail.

Read

Write

Context


Example prompts

Once connected, you can drive the platform from the agent’s chat: The agent picks the right tool. You don’t have to know the schemas.

Pinning a default project

Most agents let you set environment variables on the MCP server entry. Cybe MCP doesn’t require any (auth is OAuth, not env-based), but you can pin a default project so the agent doesn’t ask you for projectId on every call. The convention varies per client. For clients that respect a top-level env block:
If your client doesn’t forward env vars to MCP servers (Claude Desktop, for instance), prompt-pin instead. Drop a sentence at the top of your system prompt: “Always call CybeDefend tools with projectId: <uuid> unless the user names a different project.”

Troubleshooting

Make sure your AI assistant is allowed to open https://mcp-eu.cybedefend.com (or mcp-us). Some corporate networks block dynamic client registration on first contact. The call is to /oauth/register. Whitelist the host.
The Bearer JWT expired (default lifetime is short for security). Modern MCP clients silently refresh on 401. If yours doesn’t, sign out and back in via the agent’s MCP server panel.
Your CybeDefend account doesn’t have the Permify scope to read that project. Permify is the source of truth. Ask the project owner to grant you access via the dashboard, the MCP will reflect the change immediately on the next call.
Expected. Security Champion is building the knowledge graph from your codebase the first time it sees a project. Subsequent calls in the same session reuse the cached graph. If you regularly want fresh context, trigger a re-index from the dashboard’s project settings.
The MCP server URL must be reachable from the agent’s machine. For air-gapped environments, contact us about an on-premise deployment of mcp-service alongside Logto and the CybeDefend Gateway. The same image we ship to Scaleway is available for self-hosting.

What if I just want a REST API instead?

Cybe MCP is a thin transport layer in front of the CybeDefend Gateway REST API. Every MCP tool maps to a Gateway endpoint, so if your agent doesn’t speak MCP, or if you’re scripting outside an agent context, you can hit the same data over plain HTTP. See the API Reference for the full surface. Auth in that flow is via Personal Access Token rather than browser OAuth.

VibeDefend, one-command setup

Skip the manual config — install this MCP plus the hook layer for every detected agent in one command.

Cybe MCP, feature overview

The product-level pitch and where MCP sits in the platform.

Cybe Chat, in the dashboard

The same MCP toolset, surfaced as an in-dashboard assistant with HITL approvals and cross-project posture.

Cybe Security Champion

The agent behind get_business_logic_context.

Cybe Autofix

The fix-generation pipeline the agent triggers via update_vulnerability workflows.

API Reference

Direct REST surface, for non-MCP clients.