folder-mcp

folder-mcp

Enables LLMs to securely read, search, and analyze local file systems through the Model Context Protocol. Provides tools for listing files, pattern-based searching, and reading file contents with built-in security validation.

Category
访问服务器

README

folder-mcp (Under Development, will be released soon enough)

Model Context Protocol Server for Folder Operations

A Model Context Protocol (MCP) server that provides tools for reading and analyzing folder structures, enabling LLMs to interact with local file systems safely and efficiently.

Overview

folder-mcp was created for a simple but powerful purpose: take your local folder and make it accessible to Large Language Models (LLMs) running anywhere. You don't need to upload your files to the cloud or use a third-party service.

it creates RAG (Retrieval-Augmented Generation) capabilities for your local files, allowing LLMs to read, search, and analyze documents in a secure and structured way. This server implements the Model Context Protocol (MCP) standard, allowing LLMs to interact with local file systems through a set of defined tools. This project is designed to work with MCP clients like Claude Desktop, Cursor, VsCode and others, providing a secure and efficient way to access and manipulate files within specified folders.

Features

Secure File Access

  • Read files from specified folders with path validation
  • Security checks to prevent directory traversal attacks
  • Support for various file types and encodings

File System Operations

  • List all files in a folder recursively
  • Search files by name patterns (glob support)
  • Get folder information and metadata
  • Exclude common directories like node_modules and .git

MCP Integration

  • Standard Model Context Protocol server implementation
  • Works with Claude Desktop and other MCP clients
  • Stdio transport for seamless integration
  • Structured tool definitions with JSON schemas

Developer Friendly

  • TypeScript implementation with full type safety
  • Clear error handling and informative responses
  • Simple CLI interface for testing and development

Installation

git clone https://github.com/okets/folder-mcp.git
cd folder-mcp
npm install
npm run build

Configuration

folder-mcp uses a centralized configuration system stored in config.yaml at the project root. This YAML file contains settings for embeddings, caching, processing, API, logging, and development configurations.

Embedding Models

The system supports multiple embedding models with GPU acceleration via Ollama:

Model Dimensions Description
nomic-v1.5 768 High-quality general-purpose (default)
mxbai-large 1024 Large model with excellent performance
all-minilm 384 Lightweight and fast
bge-small 384 BAAI general embedding, small version
gte-base 768 General Text Embeddings model

Configuration Structure

# Embedding Model Configuration
embeddings:
  defaultModel: "nomic-v1.5"
  ollamaApiUrl: "http://127.0.0.1:11434"
  batchSize: 32
  timeoutMs: 30000
  models:
    # Model definitions with dimensions, descriptions, etc.

# Cache Configuration  
cache:
  defaultCacheDir: "~/.cache/folder-mcp"
  maxCacheSize: "10GB"
  cleanupIntervalHours: 24

# Text Processing Configuration
processing:
  defaultChunkSize: 1000
  defaultOverlap: 200
  maxConcurrentOperations: 10

# Development & Logging options
logging:
  level: "info"
  format: "json"
  
development:
  enableDebugOutput: false
  mockOllamaApi: false

For detailed configuration options, see CONFIGURATION.md.

Current Status

🚀 Version 1.0 - Basic MCP Server (13/30 planned features complete)

This is the foundation release providing secure file system access through MCP. The full vision includes semantic search, embeddings, and intelligent document parsing - see ROADMAP.md for the complete development plan.

What works now:

  • ✅ Basic file reading and folder operations
  • ✅ Security validation and path protection
  • ✅ Pattern-based file searching
  • ✅ MCP protocol integration

Coming next: Smart text chunking, semantic embeddings, vector search (see all 30 planned features)

Usage

As an MCP Server

This server is designed to be used with MCP clients like Claude Desktop. Add it to your Claude Desktop configuration:

{
  "mcpServers": {
    "folder-mcp": {
      "command": "node",
      "args": [
        "C:\\Path\\To\\folder-mcp\\dist\\mcp-server.js",
        "C:\\Path\\To\\folder-mcp"
      ],
      "env": {}
    }
  }
}

⚠️ Critical Claude Desktop Integration Note: The MCP protocol requires that ONLY valid JSON-RPC messages go to stdout. Any logging or debugging output to stdout will break the connection. All logs should be redirected to stderr only. See CLAUDE_DESKTOP_SETUP.md for detailed troubleshooting tips.

Available Tools

The server currently provides the following tools:

  1. get_status - A system status tool that returns processing information to verify connection
    • Optional parameter: name - A name to include in the greeting

1. read_file

Read the contents of a specific file within a folder.

Parameters:

  • folder_path: Path to the folder containing the file
  • file_path: Relative path to the file within the folder

2. search_files

Search for files matching a specific pattern.

Parameters:

  • folder_path: Path to the folder to search
  • pattern: File pattern (e.g., ".md", ".txt", "config.*")

3. list_files

List all files in a folder recursively.

Parameters:

  • folder_path: Path to the folder to list

4. get_folder_info

Get information about a folder including file count and metadata.

Parameters:

  • folder_path: Path to the folder to analyze

Security Features

  • Path Validation: Prevents access to files outside the specified folder
  • Directory Exclusions: Automatically excludes node_modules, .git, and cache folders
  • Error Handling: Graceful handling of permission errors and invalid paths

Architecture

MCP Server Implementation

The server implements the Model Context Protocol standard with the following components:

📡 MCP Client (Claude Desktop) ↔ 📞 Stdio Transport ↔ 🖥️ MCP Server ↔ 📁 File System

File Access Pattern

1. Client Request → 2. Tool Validation → 3. Path Security Check → 4. File Operation → 5. Response

Server Components

  • Tool Handlers: Process read_file, search_files, list_files, and get_folder_info requests
  • Security Layer: Validates paths and prevents directory traversal
  • File Operations: Uses Node.js fs and glob for efficient file system access
  • Transport Layer: Stdio transport for communication with MCP clients

Technical Details

Dependencies

  • @modelcontextprotocol/sdk: MCP protocol implementation
  • glob: Pattern-based file searching
  • typescript: Type-safe development
  • Additional libraries for future file parsing capabilities

File Patterns

The server uses glob patterns for file searching:

  • * - All files
  • *.md - Markdown files only
  • **/*.js - JavaScript files recursively
  • config.* - Any file starting with "config"

Excluded Directories

Automatically excluded from all operations:

  • **/node_modules/**
  • **/.git/**
  • **/.folder-mcp/**

Development

Building the Project

npm run build

Running the Server

npm start

Development Mode

npm run dev

Testing with MCP Clients

The server can be tested with any MCP-compatible client. For Claude Desktop, add the configuration to your settings file.

Future Enhancements

📋 Development Roadmap: See ROADMAP.md for visual progress and GITHUB_ISSUES.md for detailed task breakdown.

Planned Features (17 remaining tasks):

  • Phase 3: Smart text chunking and semantic embeddings
  • Phase 4: FAISS vector search and similarity matching
  • Phase 5: Enhanced MCP integration with semantic search
  • Phase 6: Real-time file watching and configuration system
  • Phase 7: Performance optimization and comprehensive testing
  • Phase 8: Documentation and npm release

Vision: Universal Folder-to-MCP Tool

Transform any folder into an intelligent knowledge base with:

  • Multi-format parsing: PDF, Word, Excel, PowerPoint with structure preservation
  • Semantic embeddings: Nomic Embed model for intelligent content understanding
  • Vector search: FAISS-powered similarity search for context-aware retrieval
  • Smart chunking: Meaning-based content segmentation
  • Real-time updates: File watching with automatic re-indexing
  • RAG capabilities: Enable LLMs to query folder contents intelligently

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE file for details.

Acknowledgments

  • Built with the Model Context Protocol SDK
  • Uses TypeScript for type safety and developer experience
  • Designed for secure and efficient file system access
  • Compatible with Claude Desktop and other MCP clients

Enable your LLM to work with local folders through the Model Context Protocol! 🚀

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选