Skip to content

Conversation

@jqnatividad
Copy link
Collaborator

No description provided.

- CSV dialects (ssv, tsv, tab and snappy-compressed versions)
- Excel
- jsonl/ndjson

Also, automatically index CSV dialects larger than 10mb
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the MCP server's file format support and adds automatic indexing capabilities for improved performance. The server now handles Excel, OpenDocument Spreadsheet, and JSONL/NDJSON files in addition to native CSV formats, with transparent conversion to CSV using qsv's excel and jsonl commands. Files larger than 10MB are automatically indexed for faster processing.

Key changes:

  • Added support for Excel (.xls, .xlsx, .xlsm, .xlsb), OpenDocument (.ods), and JSONL (.jsonl, .ndjson) formats with automatic conversion to CSV
  • Implemented automatic indexing for CSV files >10MB to improve query performance
  • Enhanced file metadata display to show file size and modification date in file listings

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 10 comments.

File Description
.claude/skills/src/mcp-tools.ts Adds file conversion logic for Excel/JSONL formats and auto-indexing for large files (>10MB)
.claude/skills/src/mcp-filesystem.ts Expands allowed file extensions, adds helper methods for conversion detection, updates MIME type mappings, and enhances file listing with metadata
.claude/skills/README-MCP.md Documents the newly supported file formats and auto-conversion features
.claude/skills/FILESYSTEM_USAGE.md Provides detailed explanation of supported formats, conversion process, and auto-indexing behavior

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 10 comments.

jqnatividad and others added 2 commits January 4, 2026 23:02
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 9 comments.

All timeout-sensitive operations now have 5-minute protection against indefinite hangs, type safety is improved, and code duplication has been eliminated.
@jqnatividad jqnatividad requested a review from Copilot January 5, 2026 05:11
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.

jqnatividad and others added 2 commits January 5, 2026 00:20
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Issue 1: Cache Entry Timestamp Not Updated on Reuse
  - Added touchConvertedFile() method to ConvertedFileManager (src/converted-file-manager.ts:133-147)
  - This method updates the createdAt timestamp when a cached converted file is reused
  - Called from mcp-tools.ts:351 before reusing a converted file
  - Ensures actively-used files maintain recent timestamps and won't be prematurely deleted during LIFO cleanup

  Issue 2: Race Condition in Cache File Operations
  - Implemented atomic write pattern in saveCache() method (src/converted-file-manager.ts:57-68)
  - Uses temp file with unique name (includes process.pid and timestamp) + atomic rename
  - Added stale temp file cleanup in cleanupOrphanedEntries() (src/converted-file-manager.ts:228-252)
  - Removes temp files older than 1 hour to prevent disk clutter from crashed processes
  - Prevents cache corruption when multiple qsv operations run concurrently
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@jqnatividad jqnatividad merged commit 0d8096a into master Jan 5, 2026
17 checks passed
@jqnatividad jqnatividad deleted the mcp-expanded-file-selector_auto_index_for_files_larger_than_10mb branch January 5, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants