Semgrep MCP server
Semgrep in any MCP client, through Memtro: Semgrep does not publish this server. Memtro's Semgrep connector reads Semgrep through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Semgrep AppSec Platform: code, supply-chain and AI-detected findings by severity, status, repository and branch, leaked-secret findings by state, and the projects Semgrep scans with their last scan. Can triage named findings (ignore, reviewing, fixing, reopen, with a note), create Jira tickets for them or link an existing ticket, tag projects, set a project's primary branch, switch managed scans on or off, and delete a project.
Reads
semgrep_list_findingsSemgrep findings, newest first by when they were first detected (or reintroduced): rule, message, severity, status, triage state, repository, branch…semgrep_list_secretsLeaked-secret findings from Semgrep Secrets: the type of credential (such as AWS or OpenAI), where it was found (repository, branch, file and line…semgrep_list_projectsProjects (repositories) Semgrep scans, with their tags, default branch and when they were last scanned.
Acts, when you ask
These change something in Semgrep. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
semgrep_triage_findingsTriages Semgrep findings named by id: sets their triage state (ignored, reviewing, fixing, reopened, provisionally_ignored) and/or adds a note.semgrep_create_jira_ticketsCreates Jira tickets for Semgrep findings named by id, through the deployment's Jira integration…semgrep_link_ticketRecords an existing ticket (e.g. a Jira issue URL) against Semgrep findings named by id.semgrep_add_project_tagsAdds tags to a Semgrep project (repository); tags new to the deployment are created.semgrep_remove_project_tagsRemoves tags from one Semgrep project; other projects keep them.semgrep_set_primary_branchSets the branch Semgrep treats as a project's primary branch (whose findings count as the project's)…semgrep_set_managed_scansSwitches Semgrep Managed Scans (beta) on or off for a project: diff-aware scans of pull requests and/or weekly full scans run by Semgrep…semgrep_delete_projectPermanently deletes a Semgrep project and all of its findings, including triage states and notes.
Connect it
First connect Semgrep on Dashboard → Connections, then add Memtro to your client once. The Semgrep tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Semgrep connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › What high-severity findings are open on web-app?
- › What did Semgrep find this week?
- › Have any leaked secrets been validated as live?
- › Which dependencies in the payments repository are vulnerable?
- › Mark finding 88213 as ignored because it is test code
Questions
- Is this an official Semgrep MCP server?
- No. It is Memtro's MCP server with Memtro's Semgrep connector behind it: the connector reads Semgrep through its API with the credentials you connect on Dashboard → Connections, and Semgrep publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Semgrep?
- Only when you ask, and only what it has been granted: triage named findings: set ignored, reviewing, fixing or reopened, with a reason or a note; create Jira tickets for named findings through the Jira integration; link an existing ticket URL to named findings; add tags to a project; remove tags from a project; set a project's primary branch; switch Semgrep Managed Scans (diff-aware and weekly full) on or off for a project; delete a project and all its findings, permanently. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.