Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/fan-67/local-mcp
汎用ユーティリティ脆弱性分析エクスプロイトスクリプトと自動化ユーティリティとフレームワーク
GitHubfan-67/local-mcp

local-mcp

軽量なstdioベースのMCPサーバーで、AIアシスタント向けにローカルファイルシステム操作(読み取り、書き込み、編集、検索、exec)を提供します。Chatbox向けに特別に最適化:exec用のbat-bypass(CVE-2026-6130)、エスケープ問題を排除するb64エンコーディング、コードブロックを正確にターゲットするマルチパターンregex。

リポジトリを見る
2ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

local-mcp

Version License Node Tests Dependencies

ローカルファイル操作用のゼロ依存MCPサーバー。 ファイルシステムツール13個+段階的ディスカバリ用のメタツール3個 — SDK不要、フレームワーク不要、npm installも不要です。

MCPプロトコル: 2024-11-05 · トランスポート: stdio + Streamable HTTP · ランタイム: Node.js ≥ 22.0.0


アーキテクチャ

root@kitploit:~
local-mcp.mjs       — 595 lines, 13 tools, entry point
lib/mcp-core.mjs    — 229 lines, stdio + HTTP transport, 9 MCP methods
lib/config.mjs      —  31 lines, MCP_WORKSPACE/DATA env config with validation

合計: 約855行、ランタイム依存ゼロ。


ツール

ファイルシステムツール (13)

メタツール (3) — 段階的ディスカバリ

ツール説明
search_toolsキーワードで利用可能なツールを検索 — 全件一覧表示と比べて約90%のトークンを節約
describe_tool特定ツールの完全な入力スキーマを取得(オンデマンドで読み込み)
call_tool引数を指定して任意のツールを名前で実行

毎回のリクエストで13個すべてのツールスキーマ(約3,000トークン)を送信する代わりに、この3個のメタツールによる段階的ディスカバリで約50トークンに削減 — 約90%のトークン節約になります。


パフォーマンス最適化 (v1.1.1)

追加の最適化


はじめに

root@kitploit:~
# Zero install — no dependencies
node local-mcp.mjs

# With configuration
MCP_WORKSPACE=D:/projects node local-mcp.mjs

stdioモード(デフォルト)

root@kitploit:~
{
  "mcpServers": {
    "local-mcp": {
      "command": "node",
      "args": ["D:/path/to/local-mcp.mjs"],
      "env": {
        "MCP_WORKSPACE": "D:/projects"
      }
    }
  }
}

HTTPモード

root@kitploit:~
node local-mcp.mjs --http
node local-mcp.mjs --http --port 3456

JSON-RPC 2.0 POST、SSEストリーミング(Accept: text/event-stream)、CORS、GET /toolsをサポート。

CLIフラグ

root@kitploit:~
node local-mcp.mjs --help          # Show usage + env vars
node local-mcp.mjs --list-tools    # Print available tools and exit
node local-mcp.mjs --http          # Start HTTP mode
node local-mcp.mjs --http --port 3456

設定


セキュリティ

  • すべてのファイル操作はMCP_WORKSPACEとそのサブディレクトリに制限される
  • プロトタイプ安全なブックマークキー(__proto__/constructor/prototypeの注入をブロック)
  • アトミック書き込み(一時ファイル+リネーム)により部分的なファイル書き込みを防止
  • バイナリファイルの検出により非テキストファイルの読み取りを防止
  • .gitignoreと一般的な除外ディレクトリ(node_modules、.gitなど)を尊重

依存関係

ランタイム依存ゼロ。 Node.jsの組み込みモジュールのみを使用:


変更履歴

v1.1.1 — パフォーマンス最適化

  • A. ストリーム型 head/tail 読み込み: 500MBのログ 3秒 → 5ミリ秒
  • B. lsでの遅延stat: 1000ファイルのディレクトリ 50ミリ秒 → 2ミリ秒
  • C. availableParallelism()による適応型grep並行性
  • D. Mapの挿入順によるLRUキャッシュ退避
  • E. grepのバイト数保護(100MB / 1000ファイル)
  • F. MCP 2025仕様向けの進捗通知パススルー
  • 修正: streamHeadのスコープバグ — doneがPromiseコールバックの外で定義されていた

v1.1.0

  • ファイルシステムツール13個+段階的ディスカバリ用のメタツール3個
  • stdio+Streamable HTTPトランスポート
  • Myers差分エンジン、読み取りキャッシュ、ストリーミングexec
  • 検証付きの環境変数ベース設定

開発

root@kitploit:~
# Run tests
node --test test/*.test.mjs

# Adding a tool
# 1. Define schema + handler in local-mcp.mjs
# 2. Register with server.tool()
# 3. Add tests

コントリビューション

  1. ゼロ依存の制約を維持する
  2. 新機能にはテストを追加する
  3. パフォーマンスの変更時は最適化テーブルを更新する

ライセンス

MIT

ツールをダウンロード
ツール説明注釈
read行番号付きでファイルを読み込み、head/tailによる切り詰めが可能readOnlyHint
search名前(glob)でのファイル検索、続けて内容(grep)での検索readOnlyHint
ls遅延statによるコンパクトなディレクトリ一覧readOnlyHint
exec標準入力とタイムアウトをサポートしたストリーミングコマンド実行destructiveHint
diff2つのファイルまたはテキスト文字列の差分(Myers O(ND))readOnlyHint
copyファイルまたはディレクトリのコピーdestructiveHint
moveファイル/ディレクトリの移動または名前変更destructiveHint
batch複数の操作を順次実行。アトミックなロールバックと$prev参照destructiveHint
file統合: 読み込み、書き込み、編集、追記、削除、情報、mkdir、移動—
block範囲または関数名によるコードブロックの読み取り/置換/挿入/削除—
bookmark永続的なパスエイリアス(追加/取得/一覧/削除)—
grep適応型並行性を備えたコンパクトなfile:line:content形式readOnlyHint
watchファイル/ディレクトリの変更監視。最大20個の同時ウォッチャー—
#最適化影響
Aストリーム型 head/tail 読み込みstreamHead()がファイル全体の読み込みを回避。500MBのログ: 3秒 → 5ミリ秒、メモリ: 500MB → 数KB
Blsでの遅延statsort=sizeのときだけstatSyncを呼び出し。1000ファイルのディレクトリ: 50ミリ秒 → 2ミリ秒
C適応型grep並行性ハードコードされた16ワーカーの代わりにos.availableParallelism()(最大16、最小4)を使用
DLRUキャッシュの退避Mapの挿入順によるLRU — 頻繁に使われる小さなファイルが、使われない大きなファイルによって退避されなくなる
Egrepのバイト数保護MAX_GREP_TOTAL_MB=100+MAX_GREP_FILES=1000のガードでOOMを防止
F進捗通知MCP 2025仕様向けの_meta.progressTokenパススルー(TODO: 長時間実行向けのイベント)
領域詳細
読み取りキャッシュサイズを考慮した退避(最大50項目、10MB)+5秒のTTL
Myers差分O(ND)アルゴリズム。edit、block、diffで使用
検索スコアリングまず名前一致(I/Oなし)、その後は上位50候補のみstat
出力形式grep: file:line:content、ls: コンパクトな列、read: 行番号+切り詰めヒント
プロトコルO(1)のMapディスパッチ、同期ハンドラーのショートサーキット
変数デフォルト説明
MCP_WORKSPACEprocess.cwd()作業ディレクトリのルート(セキュリティ境界)
MCP_DATA{WORKSPACE}/.mcp-dataデータディレクトリ(ブックマーク、一時ファイル)
MCP_DIR{WORKSPACE}tree/lsコマンドのデフォルトディレクトリ
MCP_PORT3100HTTPサーバーのポート(--http使用時)
MCP_READONLYfalsetrueに設定するとすべての書き込み操作をブロック
MCP_EXCLUDE—検索から除外する追加ディレクトリ(カンマ区切り)
モジュール用途
fsファイルシステム+glob(Node 22)
child_processストリーミングシェル実行
httpHTTPトランスポート(Express不要)
pathパス解決
os適応型並行性のためのavailableParallelism()
readline行単位のストリーミング処理