Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-file-context-server

MCP.Pizza Chef: bsmi021

The mcp-file-context-server is a Model Context Protocol server designed to provide Large Language Models (LLMs) with comprehensive file system context. It enables LLMs to read, search, and analyze code files efficiently by supporting file operations such as reading contents, listing files with metadata, recursive directory traversal, and file type filtering. The server also offers advanced code analysis features including cyclomatic complexity calculation, dependency extraction, comment analysis, and various code quality metrics like duplicate line detection and complex function identification. With smart LRU caching and real-time file watching, it ensures up-to-date context and optimal performance. This server is ideal for integrating file-based context into AI workflows, enhancing code understanding, and enabling dynamic interaction with codebases.

Use This MCP server To

Provide LLMs with real-time file system context Enable LLMs to read and analyze code files Perform cyclomatic complexity and dependency analysis Detect code quality issues like duplicates and long lines Watch files for changes and update cache automatically Support recursive directory traversal for large projects Filter files by type for targeted analysis Extract comments and metrics for documentation insights

README

File Context Server

smithery badge

A Model Context Protocol (MCP) server that provides file system context to Large Language Models (LLMs). This server enables LLMs to read, search, and analyze code files with advanced caching and real-time file watching capabilities.

Features

  • File Operations

    • Read file and directory contents
    • List files with detailed metadata
    • Real-time file watching and cache invalidation
    • Support for multiple file encodings
    • Recursive directory traversal
    • File type filtering
  • Code Analysis

    • Cyclomatic complexity calculation
    • Dependency extraction
    • Comment analysis
    • Quality metrics:
      • Duplicate lines detection
      • Long lines detection (>100 characters)
      • Complex function identification
      • Line counts (total, non-empty, comments)
  • Smart Caching

    • LRU (Least Recently Used) caching strategy
    • Automatic cache invalidation on file changes
    • Size-aware caching with configurable limits
    • Cache statistics and performance metrics
    • Last read result caching for efficient searches
  • Advanced Search

    • Regex pattern matching
    • Context-aware results with configurable surrounding lines
    • File type filtering
    • Multi-pattern search support
    • Cached result searching
    • Exclusion patterns

Installation

Installing via Smithery

To install File Context Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @bsmi021/mcp-file-context-server --client claude

Manual Installation

npm install @modelcontextprotocol/file-context-server

Usage

Starting the Server

npx file-context-server

Available Tools

  1. list_context_files

    • Lists files in a directory with detailed metadata
    {
      "path": "./src",
      "recursive": true,
      "includeHidden": false
    }
  2. read_context

    • Reads file or directory contents with metadata
    {
      "path": "./src/index.ts",
      "encoding": "utf8",
      "maxSize": 1000000,
      "recursive": true,
      "fileTypes": ["ts", "js"]
    }
  3. search_context

    • Searches for patterns in files with context
    {
      "pattern": "function.*",
      "path": "./src",
      "options": {
        "recursive": true,
        "contextLines": 2,
        "fileTypes": ["ts"]
      }
    }
  4. analyze_code

    • Analyzes code files for quality metrics
    {
      "path": "./src",
      "recursive": true,
      "metrics": ["complexity", "dependencies", "quality"]
    }
  5. cache_stats

    • Gets cache statistics and performance metrics
    {
      "detailed": true
    }

Error Handling

The server provides detailed error messages with specific error codes:

  • FILE_NOT_FOUND: File or directory does not exist
  • PERMISSION_DENIED: Access permission issues
  • INVALID_PATH: Invalid file path format
  • FILE_TOO_LARGE: File exceeds size limit
  • ENCODING_ERROR: File encoding issues
  • UNKNOWN_ERROR: Unexpected errors

Configuration

Environment variables for customization:

  • MAX_CACHE_SIZE: Maximum number of cached entries (default: 1000)
  • CACHE_TTL: Cache time-to-live in milliseconds (default: 1 hour)
  • MAX_FILE_SIZE: Maximum file size in bytes for reading

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Start in development mode
npm run dev

License

MIT

Contributing

Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

Cross-Platform Path Compatibility

Note: As of April 2025, all file and directory path handling in File Context Server has been updated for improved cross-platform compatibility (Windows, macOS, Linux):

  • All glob patterns use POSIX-style paths (forward slashes) internally, ensuring consistent file matching regardless of OS.
  • All file system operations (reading, writing, stat, etc.) use normalized absolute paths for reliability.
  • If you are developing or extending the server, use path.posix.join for glob patterns and path.normalize for file system access.
  • This change prevents issues with path separators and file matching on different operating systems.

No changes are required for end users, but developers should follow these conventions when contributing to the project.

mcp-file-context-server FAQ

How does the mcp-file-context-server handle file changes?
It uses real-time file watching to detect changes and automatically invalidates its cache to provide up-to-date context to LLMs.
What caching strategy does this server use?
It employs an LRU (Least Recently Used) caching mechanism to optimize performance and memory usage while serving file data.
Can the server analyze code quality metrics?
Yes, it calculates metrics such as cyclomatic complexity, duplicate lines, long lines, and identifies complex functions.
Does the server support multiple file encodings?
Yes, it supports various file encodings to accurately read diverse code files.
How does the server support large codebases?
It supports recursive directory traversal and file type filtering to efficiently handle large projects.
Is the server limited to specific programming languages?
No, it analyzes code files generically, focusing on metrics and structure rather than language-specific parsing.
How does this server integrate with LLMs like OpenAI, Claude, or Gemini?
It exposes structured file system context and code analysis data via MCP, enabling seamless integration with various LLM providers.
Can it extract dependencies from code files?
Yes, the server can extract dependency information to help understand code relationships.