mcpField
K
kitbag-mcp

kitbag-mcp

ローカル
github.com/syedtaj7開発ツール015 週間前に更新

kitbag-mcp について

Kitbag MCPは、ドキュメント変換、OCR、ウェブスクレイピング、データ処理、開発者向けツールを一つにまとめたローカルMCPサーバーです。モジュールまたは個別ツールを選択でき、APIキーは不要です。

主な機能

  1. 01PDFの解析と変換
  2. 02ウェブスクレイピングとRSS解析
  3. 03画像処理とローカルOCR
  4. 04CSV、JSON、XML、YAMLの変換
  5. 05開発向けフォーマットと検証
  6. 06モジュールまたはツールの選択

活用シーン

  1. 01PDFからテキストや表を抽出
  2. 02ウェブページをMarkdownに変換
  3. 03一般的なデータ形式を変換・比較
  4. 04画像を処理して文字を認識

MCP 対応

ローカルプロセスが標準MCPプロトコルでクライアントに接続し、有効化したモジュールとツールのみを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"syedtaj7-kitbag": {
"command": "npx",
"args": [
"-y",
"kitbag-mcp"
]
}
}
}
起動コマンドnpx -y kitbag-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmkitbag-mcp1.1.2

ツール

51

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
textstringはいチャンク分割する入力テキスト。
strategyenumいいえチャンク分割方式:'character'、'word'、'sentence'、または 'paragraph'。デフォルトは 'paragraph' です。character | word | sentence | paragraph
chunkSizenumberいいえ各チャンクの最大文字数。デフォルトは 1000 です。
chunkOverlapnumberいいえ連続するチャンク間で重複させる文字数。デフォルトは 200 です。

詳細


Kitbag MCP は、厳選された 50 以上の実用性の高いユーティリティツール(ドキュメント変換ツール、OCR プロセッサー、ウェブスクレイパー、データフォーマッター、AI 開発者向けユーティリティなど)をひとつにまとめた、オープンソースの Model Context Protocol サーバーです。

用途別の MCP サーバーをいくつもインストール、設定し、ホスティング費用を払う代わりに、Kitbag MCP を一度インストールするだけで、必要なモジュールだけを選んで有効化できます。すべてお使いのマシン上で実行されるため、ホスティング費用はゼロ、API キー不要、サーバーのセットアップも不要です。

README の画像 README の画像 README の画像 README の画像

📖 目次

クリックして展開

🚀 クイックスタート(設定不要)

npx を使ってすぐに実行できます(Node.js が必要です):

npx kitbag-mcp
特定のモジュールを公開する(LLM のコンテキストトークンを節約)

AI エージェントがツールの選択肢に圧倒されないよう、必要なものだけを有効にします。

# Enable PDF and Web scraping modules only
npx kitbag-mcp --enabled-modules pdf,web
README の画像 ➜ README の画像 ➜ README の画像 ➜ README の画像

⚙️ 対応クライアントのセットアップ

1. Claude Desktop

claude_desktop_config.json に次のエントリを追加します。

{
  "mcpServers": {
    "kitbag-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "kitbag-mcp",
        "--enabled-modules",
        "pdf,web,image,data,utility,ai"
      ]
    }
  }
}
2. Cursor
  1. Settings → Beta Features → MCP に移動します。
  2. + Add New MCP Server をクリックします。
  3. 次のように設定します。
    • Name: Kitbag MCP
    • Type: stdio
    • Command: npx -y kitbag-mcp --enabled-modules pdf,web,data,utility
3. Windsurf

mcp_config.json に次のエントリを追加します。

{
  "mcpServers": {
    "kitbag-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "kitbag-mcp"
      ],
      "env": {
        "KITBAG_ENABLED_MODULES": "pdf,web,data,utility"
      }
    }
  }
}

🎛️ 設定フラグと環境変数

Kitbag MCP は、CLI フラグ、環境変数、または JSON 設定ファイルを使って設定できます。ワークフローに合った方法をお選びください。

設定方法使用例
CLI フラグ--enabled-modules pdf,web または --enabled-tools utility.qr_generate
環境変数KITBAG_ENABLED_MODULES=pdf,web または KITBAG_ENABLED_TOOLS=utility.qr_generate
JSON 設定現在の作業ディレクトリにある kitbag-config.json ファイル、または --config /path/to/config.json を使います

kitbag-config.json のスキーマ:

{
  "enabledModules": ["pdf", "web", "image", "data", "utility", "ai", "developer"],
  "enabledTools": [],
  "defaultTimeoutMs": 30000,
  "maxPayloadSizeBytes": 52428800
}

🗺️ ツールカテゴリ一覧

カテゴリプレフィックスツール数主な用途
📄 PDFpdf.*6解析、変換、結合、分割
🌐 Webweb.*7スクレイピング、フィード、サイトマップ、DNS
📸 画像と OCRimage.*5サイズ変更、圧縮、OCR、EXIF
📊 データdata.*8CSV / JSON / XML / YAML の変換
💻 開発者向けdeveloper.*11フォーマット、リンティング、差分確認、デコード
🛠️ ユーティリティutility.*12暗号、QR、ネットワーク、アーカイブ
🧠 AIai.*1LLM への取り込み用のテキスト分割

📚 ツール一覧

📄 PDF ツール(pdf.*)

高性能なローカル PDF パーサーおよび操作ツールです。

ツール名説明エージェントへのプロンプト例
pdf.convert_to_textPDF ドキュメントからプレーンテキストを抽出します。「reports/invoice.pdf からテキストを抽出して」
pdf.convert_to_markdownPDF を解析し、読みやすい Markdown に整形します。「guide.pdf のレイアウトを Markdown に変換して」
pdf.extract_imagesPDF 内に埋め込まれた画像素材を抽出します。「slide_deck.pdf からすべての画像を抽出して」
pdf.extract_tablesPDF のページから構造化された表データを抽出します。「financial_report.pdf からすべての表を取り出して」
pdf.merge複数の PDF ファイルを指定した順序で結合します。「doc1.pdf と doc2.pdf を 1 つのファイルに結合して」
pdf.splitPDF から指定したページ範囲を分割します。「main_guide.pdf の 1〜3 ページを取り出して」

🌐 Web スクレイピングとネットワーキング(web.*)

Web ドキュメントを生の状態で扱い、ネットワーキングシステムにクエリを実行します。

ツール名説明エージェントプロンプトの例
web.to_markdownWeb ページをスクレイピングし、余分な要素を取り除いて Markdown に変換します。「https://example.com/blog の記事を Markdown に変換してください」
web.extract_metadataタイトル、説明、OG タグ、JSON-LD データを抽出します。「URL https://news.ycombinator.com のメタデータを取得してください」
web.extract_linksWeb ページをスクレイピングし、内部リンクと外部リンクを一覧表示します。「AI の Wikipedia ページにある外部リンクをすべて見つけてください」
web.rss_parserRSS または Atom フィードの XML URL を解析して JSON に変換します。「https://github.blog/feed/ から最新のフィード項目を取得してください」
web.sitemap_generatorsitemap.xml の URL を取得して解析し、すべての URL を抽出します。「google.com のサイトマップにある URL をすべて取得してください」
web.dns_lookupDNS 名前解決(A、AAAA、MX、TXT など)を実行します。「ドメイン gmail.com の MX レコードを検索してください」
web.youtube_transcriptタイムスタンプ付きでテキストの文字起こしと字幕を抽出します。「https://www.youtube.com/watch?v=dQw4w9 の文字起こしを取得してください」

📸 画像と OCR ツール(image.*)

画像を操作し、テキストをローカルで抽出します。

ツール名説明エージェントプロンプトの例
image.ocrTesseract OCR を使用して、画像からテキストをローカルで抽出します。「screenshot.png からテキストを抽出してください」
image.resize画像のサイズ(幅と高さ)を変更します。「avatar.png を 200x200 ピクセルにサイズ変更してください」
image.compress独自の品質設定で画像ファイルのサイズを圧縮します。「banner.jpg を品質 80% で圧縮してください」
image.convert_format画像を形式間(PNG、JPEG、WebP など)で変換します。「logo.png を WebP 形式に変換してください」
image.exif_metadata画像ファイルから EXIF のカメラ情報と位置情報のメタデータを抽出します。「photo.jpg の GPS 座標とカメラモデルを表示してください」

📊 データ変換(data.*)

標準的なデータ形式間の変換を高速かつオフラインで行います。

ツール名説明エージェントプロンプトの例
data.csv_to_jsonCSV ファイルまたは生テキストを JSON に変換します。「users.csv を解析して JSON として返してください」
data.json_to_csvオブジェクトの JSON 配列を CSV 出力に変換します。「このユーザー配列を CSV テーブルに変換してください」
data.xml_to_jsonXML ドキュメントを構造化された JSON オブジェクトに変換します。「この設定 XML テキストを JSON に変換してください」
data.json_to_xmlJSON オブジェクトを整った XML 出力に変換します。「この JSON オブジェクトを XML タグ形式でエクスポートしてください」
data.yaml_to_jsonYAML ドキュメントを JSON に変換します。「Kubernetes の設定 YAML を JSON に変換してください」
data.json_to_yamlJSON オブジェクトを整った YAML 形式に変換します。「このデータベースの JSON ブロックを YAML 形式にしてください」
data.deduplicate指定したキーに基づいて、JSON オブジェクトの配列から重複を取り除きます。「このユーザーオブジェクトのリストから、ID に基づいて重複を削除してください」
data.diff_arrays2 つの JSON 配列を比較して差分を一覧表示します。「配列 A と B を比較して、追加と削除を表示してください」

💻 開発者向けユーティリティ(developer.*)

開発者向けの標準フォーマット、検証、レイアウトツールです。

ツール名説明エージェントへのプロンプト例
developer.json_formatterカスタムのインデントで JSON 文字列を整形し、見やすくします。「この JSON 文字列をインデント幅 4 のスペースで整形してください」
developer.jwt_decoderJWT トークンをデコードして、ペイロードやヘッダーのクレームを読み取ります。「この JWT トークンをデコードしてください:eyJhbGciOiJI...」
developer.sql_formatter複数のデータベース方言に対応して SQL 文字列を整形します。「この乱雑な SELECT クエリを PostgreSQL 用に整形してください」
developer.mermaid_generateMermaid ダイアグラム(フローチャート、シーケンス図など)を作成します。「このユーザーフローを表すフローチャートを生成してください」
developer.openapi_parserOpenAPI/Swagger 仕様ファイルを解析し、整形します。「この openapi.yaml のエンドポイントとリクエストスキーマを一覧表示してください」
developer.regex_testerテキストに対する正規表現の一致をテストします。「このメールアドレス用の正規表現が [email protected] に一致するかテストしてください」
developer.cron_parserCron 式を解析し、次回以降の実行時刻を一覧表示します。「Cron ジョブ '0 9 * * 1-5' の次回実行時刻を教えてください」
developer.diff_filesテキストファイル間の行の差分を表示します。「fileA.txt と fileB.txt の差分を表示してください」
developer.diff_jsonJSON スキーマ間の差分を表示します。「config1.json と config2.json の構造上の変更点を強調表示してください」
developer.code_detectorプログラミング言語と構文構造を検出します。「このコードは何のプログラミング言語で書かれていますか?」
developer.markdown_lintMarkdown ファイルの書式をチェックし、検証します。「index.md のスタイルエラーや行末の空白を見つけてください」

🛠️ ユーティリティツール(utility.*)

システム、ネットワーク、暗号化のヘルパー関数です。

ツール名説明エージェントへのプロンプト例
utility.qr_generateQR コードをファイルまたは base64 Data URL として生成します。「https://github.com を指す QR コードを作成してください」
utility.qr_readファイルまたはストリームから QR コードを読み取り、デコードします。「code.png 内の QR コードには何が書かれていますか?」
utility.base64_encode文字列やファイルを base64 形式に変換します。「文字列 'Hello World' を base64 にエンコードしてください」
utility.base64_decodebase64 文字列をデコードしてテキストに戻します。「'SGVsbG8gV29ybGQ=' をデコードしてください」
utility.uuid_generate安全な UUID(v4/v1)または安全なパスワードを生成します。「長さ 16 の安全なパスワードを生成してください」
utility.file_hashテキストやデータの md5、sha1、sha256 ハッシュを計算します。「この文字列の sha256 ハッシュを計算してください」
utility.email_validateメールアドレスの構文を検証し、MX レコードを確認します。「[email protected] に有効な MX レコードがあるか確認してください」
utility.ssl_check任意のドメインの証明書の有効期限と情報を照会します。「google.com の SSL 証明書の有効期限を確認してください」
utility.unit_convert物理単位やデータ単位間で値を変換します。「1024 メガバイトをギガバイトに変換してください」
utility.url_parserURL をプロトコル、ドメイン、パラメーターなどに分解します。「この検索クエリの URL を構成要素に分解してください」
utility.zip_createファイルやフォルダーを単一の ZIP アーカイブに圧縮します。「source/ と assets/ を workspace.zip に圧縮してください」
utility.zip_extractZIP アーカイブを指定先のフォルダーに展開します。「archive.zip のファイルを build_dir/ に展開してください」

🧠 AI チャンカー(ai.*)

取り込み用に、大きなテキスト構造を動的に分割します。

ツール名説明エージェントへのプロンプト例
ai.text_chunker段落、文、単語の方式で長いテキストをチャンクに分割します。「このテキスト文書を、重複部分を 50 文字として 500 文字単位に分割してください」

🏗️ 仕組み

flowchart LR
    A[AI Agent / Client] -->|MCP Protocol| B(Kitbag MCP Server)
    B --> C{Enabled Modules}
    C --> D[📄 pdf.*]
    C --> E[🌐 web.*]
    C --> F[📸 image.*]
    C --> G[📊 data.*]
    C --> H[💻 developer.*]
    C --> I[🛠️ utility.*]
    C --> J[🧠 ai.*]
    D & E & F & G & H & I & J --> K[Local Execution<br/>No External API Calls]
    K --> A

Kitbag MCP は単一のローカルプロセスとして動作します。AI クライアントは標準の MCP プロトコルを介して接続し、有効にしたモジュールだけがツールとして公開されるため、トークンの使用量を抑え、ワークフローを高速かつプライベートに保てます。


🛠️ ローカル開発とコントリビューション

各ツールは完全に自己完結しています。新しいツールを追加するには、src/tools/<category>/<tool_name>/ 内にフォルダーを作成するだけです。

コントリビューションの要件
ファイル用途
tool.tsメインの実行コードで、ToolDefinition をエクスポートします。
README.mdツールの直接的な説明とパラメーターの説明です。
example.json入力例と期待される出力です。
tests.ts必要に応じてモックを使用し、すぐに実行できる自己完結型の単体テストです。
コマンドガイド
# Build compiler output
npm run build

# Run all 50 module tests
npm test

# Run real-life execution checks (makes live API and DNS requests)
npx tsx src/tests/run_real_life.ts
README の画像 README の画像 README の画像

⚖️ ライセンス

MIT License の下で配布されています。詳しくは LICENSE をご覧ください。完全なオープンソースで、個人利用にも商用利用にも自由に適用できます。

README の画像

⭐ Kitbag MCP が時間の節約に役立ったら、リポジトリにスターを付けてください! ⭐

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。