Files について
Filesは、mcp-suiteに含まれるローカルファイル操作用のMCPサーバーです。設定されたサンドボックスの範囲内で、読み取り、検索、編集、コピーや移動、ゴミ箱、圧縮、チェックサムに対応します。
主な機能
- 01サンドボックス内のファイルアクセス
- 02パスと内容の検索
- 03トークン効率のよい編集
- 04コピー、移動、ソフト削除
- 05ZIP作成とチェックサム
- 06重複ファイルの検出
活用シーン
- 01許可されたディレクトリ内のファイルやテキスト検索
- 02ローカルファイルの安全な編集や移動
- 03ファイルのアーカイブと重複確認
MCP 対応
ローカルファイルシステムの操作をMCPツールとして公開します。アクセス可能なディレクトリは`FS_ROOTS`で指定する必要があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @abhishekmcp/filesFS_ROOTSAllowed root directories (comma-separated). Required — the server refuses to start without it.FS_READONLYSet to 1 or true to disable all file-modifying tools.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
各サーバーはservers/配下の専用フォルダーにあり、npm ワークスペースを通じてツールを共有しながら、それぞれ独立したパッケージとして npm に公開されます。Claude Desktop、Claude Code、Cursor など、あらゆる MCP クライアントに接続できます。
目次
サーバー
| サーバー | 説明 | ステータス |
|---|---|---|
notes | ローカルの Markdown ノート:順位付けされた全文検索とセマンティック検索、タグ、ToDo、[[wiki-link]]ナレッジグラフ、デイリーノートとテンプレート、スラッシュコマンドのワークフロー(プロンプト) | ✅ 安定 |
files | サンドボックス化されたローカルファイルシステム:読み取り、glob とコンテンツ検索、トークン効率の高い編集、コピー/移動、ソフト削除のごみ箱、zip、チェックサム、重複排除 | ✅ 安定 |
github | GitHub:リポジトリ/コード/イシューの検索、リポジトリ/イシュー/PR/ファイルの読み取り、通知、イシューの作成 — OAuth デバイスフローまたはトークン | ✅ 安定 |
git | Git:ステータス、ログ、差分、ファイル履歴、ブランチ/タグ、承認制のステージング/コミット、リモートのクローン/フェッチ/プル/プッシュ — 純粋な JavaScript で、git バイナリは不要 | ✅ 安定 |
sql | SQL データベース:Postgres と SQLite に対する読み取り専用クエリとスキーマのイントロスペクション、承認制の書き込み | ✅ 安定 |
http | HTTP/REST クライアント:その場でのリクエストと保存済みコレクション/環境、環境変数のシークレット、ホスト許可リスト対応かつ SSRF 安全 | ✅ 安定 |
今後、Spotify コントローラーなどを追加予定です。
クイックスタート
git clone https://github.com/Abhishekkumar2021/mcp-suite.git
cd mcp-suite
npm install # installs deps for every workspace
npm run build # builds every server
インストール
すべてのサーバーは、一般的なすべての配布経路から利用できます。Claude Code プラグインを使う場合は、マーケットプレイスを一度追加します — /plugin marketplace add Abhishekkumar2021/mcp-suite — その後、表に従ってインストールしてください。完全な設定については、各サーバーの README をご覧ください。
| サーバー | Claude Code プラグイン | npm(任意のクライアント) | Claude Desktop(MCPB) | MCP レジストリ |
|---|---|---|---|---|
notes | /plugin install notes | npx -y @abhishekmcp/notes | 最新リリースからnotes-*.mcpbをドラッグ | io.github.Abhishekkumar2021/notes |
files | /plugin install files | npx -y @abhishekmcp/files | files-*.mcpbをドラッグ | io.github.Abhishekkumar2021/files |
github | /plugin install github | npx -y @abhishekmcp/github | github-*.mcpbをドラッグ | io.github.Abhishekkumar2021/github |
git | /plugin install git | npx -y @abhishekmcp/git | git-*.mcpbをドラッグ | io.github.Abhishekkumar2021/git |
sql | /plugin install sql | npx -y @abhishekmcp/sql | sql-*.mcpbをドラッグ | io.github.Abhishekkumar2021/sql |
http | /plugin install http | npx -y @abhishekmcp/http | http-*.mcpbをドラッグ | io.github.Abhishekkumar2021/http |
notesのデフォルトは~/notesです。filesでは、アクセスを許可するディレクトリを指定するFS_ROOTSが必須です。MCPBバンドルは、Claude Desktop → 設定 → 拡張機能からインストールします。
クライアントへの接続
完全な設定手順については、各サーバーの README をご覧ください。例として、Claude Code でnotesサーバーを使う方法を示します。
claude mcp add notes --env NOTES_DIR=$HOME/notes -- node "$(pwd)/servers/notes/dist/index.js"
または、Claude Desktop の場合(claude_desktop_config.json):
{
"mcpServers": {
"notes": {
"command": "node",
"args": ["/absolute/path/to/mcp-suite/servers/notes/dist/index.js"],
"env": { "NOTES_DIR": "/absolute/path/to/your/notes" }
}
}
}
アーキテクチャと規約
すべてのサーバーに共通する原則をいくつか紹介します。
- デフォルトでは純粋な JavaScript/WASMを使用し、ネイティブ依存は本当に必要な場合に限ります。 サーバーはどのマシンでも
npx/MCPB経由で実行できるため、ポータブルな純粋な JavaScript/WebAssemblyを強く推奨し、ネイティブ依存は本当に必要な場合に限って使用します(利用を制限し、文書化します)。実際、これらのサーバーは依存関係が少なく、notesはMiniSearchとWebAssemblyの埋め込みを使用し、sqlはsql.jsWASM SQLiteエンジンを使用し、filesはripgrepの代わりにfast-globを使用します。npm auditで問題は検出されません。 - サンドボックスを優先した多層設計です。 各サーバーは、用途を絞ったモジュールの上に薄い
index.ts(ツールの登録のみ)を配置し、すべてのパスが通過する単一のセキュリティ境界(realpathによる包含確認、シンボリックリンクによる脱出の拒否、アトミック書き込み)を設けています。 - デフォルトでトークン効率に優れています。 ページネーション、先頭/末尾/セクションの読み取り、スニペット、コンパクトなグラフ参照により、ツールの出力を小さく保ちます。
- リリースは自動化され、手間がかかりません。
<server>-v<version>タグを付けたGitHubリリースにより、npm(provenance付き)、公式MCPレジストリへの公開、およびMCPBバンドルの添付が、すべてOIDC経由でシークレットなしに行われます。 - CIでテストされています。 各サーバーには、プッシュのたびに実行される
node:testのテストスイート(ユニットテスト+統合/セキュリティテスト)がコミットされています。
開発
これはnpm workspacesのモノレポです。
npm install # install all workspace dependencies (run once at the root)
npm run build # build every server
npm run build -w servers/notes # build a single server
npm test --workspaces --if-present # run each server's test suite
npm run clean # remove all build output
新しいサーバーの追加
servers/<name>/を作成し、独自のpackage.json(一意のnpmname)と、extends: "../../tsconfig.base.json"を指定したtsconfig.jsonを用意します。- ソースを
servers/<name>/src/に配置します。 - ルートで
npm installを実行し、ワークスペースに認識させます。 - 上のServersテーブルに行を追加します。
すべてのサーバーは命名規則(@abhishekmcp/<slug>)に従います。詳しいガイドラインについては、CONTRIBUTING.mdをご覧ください。
公開
リリースは自動化されています。<server>-v<version>タグを付けてGitHubリリースを作成すると、publish.ymlが実行されます。GitHub OIDCのみで認証し(NPM_TOKENは不要)、パッケージをprovenance付きでnpmに公開し、公式MCPレジストリに登録して、リリースにMCPBバンドルをビルドして添付します。
# bump servers/<name>/package.json, commit, then:
gh release create <name>-v<version> --title "<name> v<version>" --notes "…"
貢献
貢献を歓迎します!CONTRIBUTING.mdと行動規範をお読みください。セキュリティ上の問題を見つけた場合は、SECURITY.mdをご覧ください。
ライセンス
MIT © Abhishek
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。