frame-mcp について
frame-mcpは、FrameセキュリティスキャナーをコーディングエージェントなどのMCPクライアントに接続します。stdio経由でコードスキャン、脆弱性修正の検証、修正案の生成などを提供します。
主な機能
- 01ファイルやディレクトリの脆弱性スキャン
- 02検出結果を再確認して修正を検証
- 03修正案の生成と差分の返却
- 04分離論理の含意チェック
- 05スキャナーパックの一覧と検証
活用シーン
- 01セキュリティレビューでコードベースをスキャン
- 02報告された脆弱性の修正状況を確認
- 03コード修正案を生成してレビュー
MCP 対応
stdio経由で`frame`コマンドラインプログラムをMCPツールとしてラップします。スキャン、検証、修正、パック操作、分離論理の検証を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx frame-mcpFRAME_LLM_BASE_URLBase URL of an OpenAI-compatible LLM endpoint for the AI detection, triage, fix and exploit features.FRAME_LLM_API_KEYシークレットAPI key for the LLM endpoint, when the endpoint requires one.FRAME_LLM_MODELModel name to request from the LLM endpoint.FRAME_LLM_REPO_ROOTRepository root the LLM layer resolves relative paths against.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
8掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ai | boolean | いいえ | |
| path | string | はい | |
| root | any | いいえ | |
| files | any | いいえ | |
| packs | any | いいえ | |
| fail_on | string | いいえ | |
| baseline | any | いいえ | |
| language | any | いいえ | |
| changed_ref | any | いいえ | |
| min_severity | any | いいえ | |
| no_cross_file | boolean | いいえ |
詳細
frame-mcp
mcp-name: io.github.lambdasec/frame-mcp
あらゆる MCP クライアントから Frame セキュリティスキャナーを利用できるようにする MCP サーバーです。コーディングエージェントは stdio 経由でコードをスキャンし、修正を検証し、脆弱性について推論できます。
Frame は汚染解析と分離論理検証を組み合わせ、データフローの脆弱性(SQL インジェクション、コマンドインジェクション、パストラバーサルなど)を検出し、報告された各経路をソルバーで検証します。このパッケージは、frame コマンドラインプログラムを MCP ツールとしてラップします。frame は明示的な引数リストを使用してサブプロセスとして起動し、シェルは使用しません。また、実行中の Python インタープリターと同じ場所にインストールされた frame 実行ファイルを優先します。
インストール
別途インストールする必要はなく、uvx で直接実行できます。
uvx frame-mcp
Claude Code
claude mcp add frame -- uvx frame-mcp
Codex
次の設定を ~/.codex/config.toml に追加します。
[mcp_servers.frame]
command = "uvx"
args = ["frame-mcp"]
Cursor
.cursor/mcp.json を作成します。
{
"mcpServers": {
"frame": {
"command": "uvx",
"args": ["frame-mcp"]
}
}
}
VS Code
.vscode/mcp.json を作成します。
{
"servers": {
"frame": {
"type": "stdio",
"command": "uvx",
"args": ["frame-mcp"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json の mcpServers キーの下に追加します。
{
"mcpServers": {
"frame": {
"command": "uvx",
"args": ["frame-mcp"]
}
}
}
Gemini CLI
~/.gemini/settings.json の mcpServers キーの下に追加します。
{
"mcpServers": {
"frame": {
"command": "uvx",
"args": ["frame-mcp"]
}
}
}
Zed
Zed の settings.json の context_servers の下に追加します。
{
"context_servers": {
"frame": {
"command": {
"path": "uvx",
"args": ["frame-mcp"]
}
}
}
}
ツール
| ツール | 用途 | 読み取り専用 |
|---|---|---|
scan | ファイルまたはディレクトリをスキャンして脆弱性を検出し、結果を JSON で返します。 | はい |
write_baseline | パスをスキャンし、検出結果をベースラインファイルに記録します。 | いいえ |
verify | 以前の検出結果に関連するファイルを再スキャンし、それぞれが修正されているかを報告します。 | はい |
fix | 検出結果に対する修正を生成して検証します。デフォルトでは差分を返します。 | いいえ |
exploit | エージェントを操作して、稼働中の認可済みターゲットを悪用します。 | いいえ |
packs_list | スキャン時に読み込まれるフレームワークパックを一覧表示します。 | はい |
packs_check | フレームワークパックファイルを検証します。 | はい |
solve | 分離論理の含意 P |- Q を検証します。 | はい |
security-review プロンプトは、scan(AI レイヤーを使用)、verify、および fix の提案を連続して実行します。
AI 機能と環境変数
ai=true を指定した scan ツール、および fix と exploit は、OpenAI 互換エンドポイントを通じて LLM を呼び出します。サーバーを起動する MCP クライアントで、次の環境変数を設定してください。
| 変数 | 用途 |
|---|---|
FRAME_LLM_BASE_URL | LLM エンドポイントのベース URL。ローカルサーバーやホスト型 API などを指定します。 |
FRAME_LLM_API_KEY | エンドポイントで必要な場合に使用する API キーです。 |
FRAME_LLM_MODEL | リクエストするモデル名です。 |
FRAME_LLM_REPO_ROOT | 相対パスの解決に使用するリポジトリのルートです。 |
これらの変数はサーバープロセスの環境から引き継がれ、各 frame サブプロセスに渡されます。通常の scan(汚染解析と検証)では、これらの変数は必要ありません。
エクスプロイトの認可
exploit ツールは、自律型エージェントを操作してターゲットに実際のトラフィックを送信します。自分が所有するシステム、またはテストの明示的な許可を得ているシステムに対してのみ実行してください。管理権限のないシステムを無許可でテストすると、違法となる場合があります。
ライセンス
Apache-2.0。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。