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.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 supportsclaude mcp add for one-shot configuration:
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:
Cursor
Cursor reads~/.cursor/mcp.json (global) or <project>/.cursor/mcp.json (per-project). Drop:
VS Code Copilot Chat
Recent versions of VS Code Copilot Chat support MCP via<project>/.vscode/mcp.json:
Windsurf
Windsurf’s MCP config lives at~/.codeium/windsurf/mcp_config.json:
Continue · Cline · Zed · any other MCP client
Any client that follows the MCP Streamable HTTP transport spec works. Three things to give the client:- URL:
https://mcp-eu.cybedefend.com/mcp(ormcp-us) - Transport: HTTP / Streamable
- Auth: OAuth 2.0. The client should auto-discover via
/.well-known/oauth-protected-resourceand/.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 18 tools
All tools share the same shape: a typed JSON schema the agent’s planner can reason about, and every one requiresprojectId. 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 forprojectId on every call.
The convention varies per client. For clients that respect a top-level env block:
projectId: <uuid> unless the user names a different project.”
Troubleshooting
The browser opens but the OAuth page won't load
The browser opens but the OAuth page won't load
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.`401 WWW-Authenticate: Bearer` on every tool call
`401 WWW-Authenticate: Bearer` on every tool call
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.`403 forbidden` on a specific finding
`403 forbidden` on a specific finding
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.
`get_business_logic_context` is slow on first call
`get_business_logic_context` is slow on first 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.
I'm behind a corporate proxy / air-gapped
I'm behind a corporate proxy / air-gapped
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.Related docs
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.