MCP Excel Reader

local-only server

The server can only run on the client’s local machine because it depends on local resources.

MCP Excelリーダー

Excelファイルの自動チャンク化とページ区切り機能を備えたモデルコンテキストプロトコル(MCP)サーバーです。SheetJSとTypeScriptで構築されたこのツールは、大規模なExcelファイルを管理しやすいチャンクに自動的に分割することで、効率的に処理するのに役立ちます。

特徴

  • 📊 Excel ファイル (.xlsx、.xls) を自動サイズ制限付きで読み取ります
  • 🔄 大規模データセットの自動チャンク化
  • 📑 シートの選択と行のページネーション
  • 📅 適切な日付処理
  • ⚡ 大きなファイルに最適化
  • 🛡️ エラー処理と検証

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Excel Reader を自動的にインストールするには:

npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude

MCPサーバーとして

  1. グローバルにインストール:
npm install -g @archimdescrypto/excel-reader
  1. MCP 設定ファイル (通常は~/.config/claude/settings.jsonまたは同等の場所) に以下を追加します。
{ "mcpServers": { "excel-reader": { "command": "excel-reader", "env": {} } } }

開発のために

  1. リポジトリをクローンします。
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git cd mcp-excel-reader
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします。
npm run build

使用法

使用法

Excel リーダーは、次のパラメータを持つ単一のツールread_excelを提供します。

interface ReadExcelArgs { filePath: string; // Path to Excel file sheetName?: string; // Optional sheet name (defaults to first sheet) startRow?: number; // Optional starting row for pagination maxRows?: number; // Optional maximum rows to read } // Response format interface ExcelResponse { fileName: string; totalSheets: number; currentSheet: { name: string; totalRows: number; totalColumns: number; chunk: { rowStart: number; rowEnd: number; columns: string[]; data: Record<string, any>[]; }; hasMore: boolean; nextChunk?: { rowStart: number; columns: string[]; }; }; }

基本的な使い方

Claude または他の MCP 互換 AI と併用する場合:

Read the Excel file at path/to/file.xlsx

AI はツールを使用してファイルを読み取り、大きなファイルのチャンク化を自動的に処理します。

特徴

  1. 自動チャンク化
    • 大きなファイルを管理しやすいサイズに自動的に分割します
    • デフォルトのチャンクサイズは100KB
    • ページ区切りのメタデータを提供する
  2. シートの選択
    • 特定のシートを名前で読み取る
    • 指定されていない場合は最初のシートがデフォルトになります
  3. 行のページネーション
    • startRow と maxRows を使用して読み取る行を制御します
    • 連続読み取りのための次のチャンク情報を取得する
  4. エラー処理
    • ファイルの存在と形式を検証します
    • 明確なエラーメッセージを提供する
    • 不正な Excel ファイルを適切に処理します

SheetJS 機能による拡張

Excel リーダーは SheetJS 上に構築されており、その強力な機能で拡張できます。

利用可能な拡張機能

  1. 数式の取り扱い
    // Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true });
  2. セルの書式設定
    // Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s }));
  3. データ検証
    // Access data validation rules const validation = worksheet['!dataValidation'];
  4. シートの特徴
    • 結合セル: worksheet['!merges']
    • 非表示の行/列: worksheet['!rows']worksheet['!cols']
    • シート保護: worksheet['!protect']

その他の機能と詳細なドキュメントについては、 SheetJS ドキュメントをご覧ください。

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

謝辞

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

自動チャンク化とページ区切りにより大規模な Excel ファイルを効率的に処理し、MCP を使用してシームレスなファイル読み取りと、シート選択やエラー処理などの管理機能を実現します。

  1. Features
    1. Installation
      1. Installing via Smithery
      2. As an MCP Server
      3. For Development
    2. Usage
      1. Usage
        1. Basic Usage
        2. Features
      2. Extending with SheetJS Features
        1. Available Extensions
      3. Contributing
        1. License
          1. Acknowledgments
            ID: jr2ggpdk3a