Content
# Everything MCP Server
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
A Model Context Protocol (MCP) server that provides instant file search capabilities using Everything's native SDK. This server integrates Everything's powerful search engine with AI tooling, enabling lightning-fast file system searches through the MCP interface.
## Features
- 🔍 **Instant File Search**: Leverage Everything's instant indexing for near-instantaneous file searches
- 🎯 **Advanced Filtering**: Search by path, extension, size, date modified, and more
- 🔄 **Duplicate Detection**: Find duplicate files across your system
- 📄 **Content Search**: Search within file contents (requires Everything content indexing)
- ⚡ **High Performance**: Direct API access through native SDK integration
- 🛡️ **Read-Only**: Safe, non-destructive file system access
## Tools Provided
### 1. `search_files`
Basic file search with regex and case sensitivity options.
**Parameters:**
- `query` (string): Search query for file names
- `maxResults` (number, optional): Maximum results to return (default: 100)
- `matchCase` (boolean, optional): Enable case-sensitive search
- `matchWholeWord` (boolean, optional): Match whole words only
- `regex` (boolean, optional): Enable regular expression search
### 2. `search_files_advanced`
Advanced search with comprehensive filtering options.
**Parameters:**
- `query` (string): Search query for file names
- `path` (string, optional): Limit search to specific path
- `extension` (string, optional): Filter by file extension (e.g., 'txt', 'pdf')
- `size` (string, optional): Filter by file size (e.g., '>1mb', '<100kb', '1gb..2gb')
- `dateModified` (string, optional): Filter by date modified (e.g., 'today', 'yesterday', 'thisweek', '2024')
- `maxResults` (number, optional): Maximum results to return (default: 100)
- `matchCase` (boolean, optional): Enable case-sensitive search
- `matchWholeWord` (boolean, optional): Match whole words only
- `regex` (boolean, optional): Enable regular expression search
- `sortBy` (enum, optional): Sort results by field (name_asc, name_desc, path_asc, path_desc, size_asc, size_desc, date_asc, date_desc)
### 3. `find_duplicates`
Find duplicate files by filename.
**Parameters:**
- `filename` (string): Filename to search for duplicates
- `path` (string, optional): Limit search to specific path
- `maxResults` (number, optional): Maximum results to return (default: 50)
### 4. `search_content`
Search for text content within files.
**Parameters:**
- `content` (string): Text content to search for within files
- `fileTypes` (string, optional): Limit to specific file types (e.g., 'txt;doc;pdf')
- `path` (string, optional): Limit search to specific path
- `maxResults` (number, optional): Maximum results to return (default: 50)
## Prerequisites
1. **Everything Application**: Must be installed and running
- Download from: [https://www.voidtools.com/](https://www.voidtools.com/)
- Ensure it's running in the background for API access
2. **Node.js**: Version 18+ with ES module support
3. **Windows OS**: Required for Everything SDK compatibility
## Installation
1. Clone the repository:
```bash
git clone https://github.com/peterparker57/everything-mcp-server.git
cd everything-mcp-server
```
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
## Configuration
Add the server to your MCP settings file:
```json
{
"mcpServers": {
"everything": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["path/to/everything-mcp-server/build/index.js"],
"disabled": false,
"env": {},
"alwaysAllow": [
"search_files",
"search_files_advanced",
"find_duplicates",
"search_content"
]
}
}
}
```
## Usage Examples
### Basic File Search
```
Search for: "msbuild.exe"
Options: Case sensitive, max 50 results
```
### Advanced Search with Filters
```
Query: "*.pdf"
Path: "C:\\Documents"
Size: ">1mb"
Date Modified: "thisweek"
Sort: "size_desc"
```
### Find Duplicates
```
Filename: "config.json"
Path: "C:\\Projects" (optional)
```
### Content Search
```
Content: "function main"
File Types: "js;ts;py"
Path: "C:\\Code" (optional)
```
## Architecture
### Technology Stack
- **Language**: TypeScript
- **Framework**: MCP SDK (@modelcontextprotocol/sdk)
- **FFI Library**: koffi (for native DLL integration)
- **Module System**: ES modules
- **Target**: Everything SDK (Windows file search utility)
### Key Components
1. **Main Server** (`src/index.ts`): Core MCP server implementation
2. **Everything SDK**: Native Windows DLLs for file search
3. **Build System**: TypeScript compilation to ES modules
4. **Configuration**: Package.json with ES module support
## Development
### Building
```bash
npm run build
```
### Testing
Start the server directly to test:
```bash
node build/index.js
```
### Project Structure
```
everything-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── EverythingSDK/ # Everything native SDK files
│ └── dll/
│ ├── Everything32.dll
│ └── Everything64.dll
├── build/ # Compiled JavaScript output
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file
```
## Troubleshooting
### "Everything search client is not running"
- Start Everything application
- Ensure it's not running in portable mode without service
### "Connection closed" MCP error
- Check that build directory exists and contains index.js
- Verify Node.js path in MCP configuration
- Ensure Everything application is running
### ES Module errors
- Verify package.json has `"type": "module"`
- Check import statements use .js extensions
- Ensure koffi is imported as default export
## Performance Notes
- Everything indexes files instantly, searches are near-instantaneous
- Content search requires Everything to have content indexing enabled
- Large result sets are automatically limited (configurable per tool)
- Direct API access provides better performance than command-line interface
## Security Considerations
- Server provides read-only file system access through Everything
- No file modification capabilities
- Respects Everything's own security and indexing settings
- Content search limited to files Everything has indexed
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [Everything](https://www.voidtools.com/) by voidtools for the amazing file search utility
- [Model Context Protocol](https://modelcontextprotocol.io/) for the MCP framework
- [koffi](https://github.com/Koromix/koffi) for the excellent FFI library
## Related Projects
- [MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk) - TypeScript SDK for Model Context Protocol
- [Everything](https://www.voidtools.com/) - The file search utility this server integrates with
---
**Note**: This is a Windows-specific MCP server that requires the Everything application to be installed and running. For cross-platform file search solutions, consider other MCP servers or file search tools.
Connection Info
You Might Also Like
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Fetch
Retrieve and process content from web pages by converting HTML into markdown format.
Context 7
Context7 MCP provides up-to-date code documentation for any prompt.
context7-mcp
Context7 MCP Server provides natural language access to documentation for...
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.
Agent-Reach
Give your AI agent eyes to see the entire internet. Read & search Twitter,...