MCP Server
Enroll your app from Claude Code or Cursor, run pentests and fix reproduced findings
Connect your coding agent to ModernPentest to configure your application from its repository, run pentests and bring reproduced findings back to the code. The remote Model Context Protocol server provides the enrollment workflow and tools when you connect. No separate skill or plugin installation is required.
Follow the client setup below, then use the repository enrollment guide to configure your application and run your first pentest.
https://modernpentest.com/mcpNothing to install, no key to paste into a config file: you sign in through your browser with the account you already have, approve the permissions, and the server acts as you, in your organization.
You can find the server address, the permissions a connection is granted, and a log of what your connected assistants have done under Account → MCP in the dashboard.
The MCP server is on every plan. Your plan does not change which tools appear, it changes what they can do. A call that exceeds a limit comes back as a plan-limit error naming the limit you hit.
Connect your client
claude mcp add-json modernpentest '{"type":"http","url":"https://modernpentest.com/mcp","oauth":{"scopes":"mcp:read mcp:applications:write mcp:credentials:write mcp:pentests:write"}}'Then run /mcp inside Claude Code and choose Authenticate.
Sign in through the browser and approve the requested permissions.
Then run /mcp__modernpentest__enroll_application in your application repository.
The command uses Claude Code OAuth scope configuration to request the four permissions enrollment needs.
Add mcp:vulnerabilities:write later if you want the agent to request fix verification.
Open Settings → Connectors → Add custom connector and give it:
- Name:
ModernPentest - URL:
https://modernpentest.com/mcp
Claude sends you through the sign-in and consent screen, then the tools appear in the connectors menu of a new chat.
Open Settings → Connectors → Create, add https://modernpentest.com/mcp as a remote MCP server with OAuth authentication, and approve the ModernPentest consent screen when it opens.
Add the server to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": {
"modernpentest": {
"url": "https://modernpentest.com/mcp"
}
}
}Open the server in Cursor and complete its browser sign-in. Review the requested permissions, then paste the request from the enrollment guide. See Cursor MCP configuration for client-specific setup.
Add the server to .vscode/mcp.json in your workspace:
{
"servers": {
"modernpentest": {
"type": "http",
"url": "https://modernpentest.com/mcp"
}
}
}Open the server from the MCP view and authorize it when prompted.
Any client that speaks remote MCP over HTTP with OAuth works. The only two things you ever need to enter are the URL above and "this server uses OAuth".
Enroll this repository
Open the repository in your coding agent and ask it to enroll the app with ModernPentest. It discovers targets and authentication, prepares dedicated test users, attaches an API specification and helps publish domain proof. You review the proposed setup and approve the scan after seeing what it will consume. The enrollment guide follows each step, including bringing the findings back to the code.
What you can ask for
Once connected, questions like these are answered from your live data rather than from something you pasted into the chat:
- "Which of my applications has an open critical, and how old is it?"
- "Summarise what changed in the last pentest of the checkout API."
- "Walk me through fixing the SSRF finding."
- "Mark that finding as a false positive, the endpoint is internal-only."
- "Enroll the app in this repository and show me the setup before starting a pentest."
- "Start a pentest of the staging app."
Before you connect
- Starting a pentest is a real action. It sends genuine attack traffic at the systems you registered and spends your plan's quota, otherwise a pentest credit, otherwise your one free preview (findings listed, details locked until a credit or a plan unlocks them). Your agent should show the current entitlement and obtain your scan approval first. Checking proof for an existing dashboard application can also release a previously requested automatic scan; finish test accounts and configuration before that check.
- Every application must prove you own its domain before it can be scanned. For each target host you publish either a DNS TXT record named after the host or a small file on it; the assistant gets the exact values back from the server, and a host proven once stays proven. This applies to applications created in the dashboard too, and no operator approval replaces it. See Prove you own the domain.
- Exploit detail is withheld by default. Proof-of-concept code, injection payloads and raw request/response logs come back only when the assistant explicitly asks. Credentials are never returned, at any permission level.
- Report and attestation PDF links are permanent and unauthenticated. Once created, anyone who receives the link can read it.
Finding titles and descriptions are partly written from content our agents read on your target, so they can contain text an attacker planted there. The server marks that text as untrusted and tells your assistant to treat it as data, never as instructions. If an assistant ever says a finding "asked" it to do something, do not act on it.
Next steps
Permissions and access
What each permission grants, how to revoke a connection, and API keys for your own agents.
Tools
Every tool the server exposes, the permission it needs, and whether it writes.
Enroll from your repository
Let your coding agent configure the app, run a pentest and help fix reproduced findings.
Last updated: September 7, 2026