io.github.lambdasec/frame-mcp

Official registry Security

MCP server for the Frame security scanner: scan, verify, fix, exploit, packs and separation logic.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package frame-mcp
Claude Code
claude mcp add frame-mcp -e 'FRAME_LLM_BASE_URL=<FRAME_LLM_BASE_URL>' -e 'FRAME_LLM_API_KEY=<your frame_llm_api_key>' -e 'FRAME_LLM_MODEL=<FRAME_LLM_MODEL>' -e 'FRAME_LLM_REPO_ROOT=<FRAME_LLM_REPO_ROOT>' -- uvx frame-mcp==0.1.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "frame-mcp": {
            "command": "uvx",
            "args": [
                "frame-mcp==0.1.0"
            ],
            "env": {
                "FRAME_LLM_BASE_URL": "<FRAME_LLM_BASE_URL>",
                "FRAME_LLM_API_KEY": "<your frame_llm_api_key>",
                "FRAME_LLM_MODEL": "<FRAME_LLM_MODEL>",
                "FRAME_LLM_REPO_ROOT": "<FRAME_LLM_REPO_ROOT>"
            }
        }
    }
}

Environment variables

  • FRAME_LLM_BASE_URL Base URL of an OpenAI-compatible LLM endpoint for the AI detection, triage, fix and exploit features.
  • FRAME_LLM_API_KEY secret API key for the LLM endpoint, when the endpoint requires one.
  • FRAME_LLM_MODEL Model name to request from the LLM endpoint.
  • FRAME_LLM_REPO_ROOT Repository root the LLM layer resolves relative paths against.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. frame-mcp
  2. Install
  3. Tools
  4. AI features and environment variables
  5. Exploit authorization
  6. License

frame-mcp

mcp-name: io.github.lambdasec/frame-mcp

An MCP server that exposes the Frame security scanner to any MCP client, so a coding agent can scan code, verify fixes, and reason about vulnerabilities over stdio.

Frame combines taint analysis with separation logic verification to find data-flow vulnerabilities (SQL injection, command injection, path traversal, and more), and checks each reported path with a solver. This package wraps the frame command line program as MCP tools. It launches frame as a subprocess with an explicit argument list, never a shell, and prefers the frame executable installed next to the running Python interpreter.

Install

Run directly with uvx (no separate install step):

uvx frame-mcp
Claude Code
claude mcp add frame -- uvx frame-mcp
Codex

Add this stanza to ~/.codex/config.toml:

[mcp_servers.frame]
command = "uvx"
args = ["frame-mcp"]
Cursor

Create .cursor/mcp.json:

{
  "mcpServers": {
    "frame": {
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
VS Code

Create .vscode/mcp.json:

{
  "servers": {
    "frame": {
      "type": "stdio",
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json under the mcpServers key:

{
  "mcpServers": {
    "frame": {
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
Gemini CLI

Add to ~/.gemini/settings.json under the mcpServers key:

{
  "mcpServers": {
    "frame": {
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
Zed

Add to Zed settings.json under context_servers:

{
  "context_servers": {
    "frame": {
      "command": {
        "path": "uvx",
        "args": ["frame-mcp"]
      }
    }
  }
}

Tools

ToolPurposeRead only
scanScan a file or directory for vulnerabilities and return findings as JSON.yes
write_baselineScan a path and record the findings as a baseline file.no
verifyRe-scan the files behind earlier findings and report whether each is fixed.yes
fixGenerate and verify fixes for findings. Returns a diff by default.no
exploitDrive an agent to exploit a live, authorized target.no
packs_listList the framework packs a scan would load.yes
packs_checkValidate framework pack files.yes
solveCheck a separation logic entailment `P \- Q`.yes

A security-review prompt chains scan (with the AI layer), verify, and an offer to fix.

AI features and environment variables

The scan tool with ai=true, along with fix and exploit, call an LLM through an OpenAI-compatible endpoint. Configure it with these environment variables in the MCP client that launches the server:

VariablePurpose
FRAME_LLM_BASE_URLBase URL of the LLM endpoint, for example a local server or a hosted API.
FRAME_LLM_API_KEYAPI key for the endpoint, when it requires one.
FRAME_LLM_MODELModel name to request.
FRAME_LLM_REPO_ROOTRepository root for relative path resolution.

These are inherited from the server process environment and forwarded to each frame subprocess. The plain scan (taint analysis plus verification) needs none of them.

Exploit authorization

The exploit tool drives an autonomous agent that sends live traffic to a target. Run it only against systems you own or are explicitly authorized to test. Unauthorized testing of systems you do not control may be illegal.

License

Apache-2.0. See LICENSE.

Frequently asked questions

What is io.github.lambdasec/frame-mcp?

MCP server for the Frame security scanner: scan, verify, fix, exploit, packs and separation logic.

How do I install io.github.lambdasec/frame-mcp?

It runs on your machine. In Claude Code: claude mcp add frame-mcp -e 'FRAME_LLM_BASE_URL=<FRAME_LLM_BASE_URL>' -e 'FRAME_LLM_API_KEY=<your frame_llm_api_key>' -e 'FRAME_LLM_MODEL=<FRAME_LLM_MODEL>' -e 'FRAME_LLM_REPO_ROOT=<FRAME_LLM_REPO_ROOT>' -- uvx frame-mcp==0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.lambdasec/frame-mcp need an API key?

Yes. It expects FRAME_LLM_API_KEY, which you set in its configuration.

Is io.github.lambdasec/frame-mcp open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains io.github.lambdasec/frame-mcp?

It is published by lambdasec. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.