mcpField
F
File Context Server

File Context Server

Local
github.com/bsmi021Files & Storage39Updated 68w ago

About File Context Server

File Context Server is an MCP server that gives large language models access to file system context for reading, searching and analyzing code files. It includes caching and real-time file watching, and is aimed at developers who want an LLM to work with a local codebase.

Key features

  1. 01Read file and directory contents with metadata
  2. 02Regex-based search with context lines
  3. 03Complexity, dependency and quality analysis
  4. 04LRU cache with automatic invalidation on changes
  5. 05Configurable cache and file size limits

Use cases

  1. 01Let an LLM read and search project source code
  2. 02Analyze a codebase for complexity and duplicate lines
  3. 03Review cache statistics to tune performance settings

MCP support

This project is an MCP server that exposes list_context_files, read_context, search_context, analyze_code and cache_stats tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"file-context-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
Run commandnpx -y @smithery/cli

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@smithery/cli

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.