Skip to main content
Glama
Alihkhawaher

Everything Search MCP Server

by Alihkhawaher
README.md
# Everything Search MCP Server

An MCP server that provides integration with Everything Search Engine, allowing powerful file search capabilities through the Model Context Protocol.

## Features

- Full text search across files and directories
- Advanced search options:
  - Case sensitive search
  - Whole word matching
  - Regular expressions
  - Path search
- Sorting options:
  - By name
  - By path
  - By size
  - By date modified
- Result formatting:
  - Human-readable file sizes
  - Formatted dates
  - Full file paths

## Prerequisites

- Node.js 16 or higher
- Everything Search Engine with HTTP Server enabled

### Everything Search Configuration

1. Open Everything Search
2. Go to Tools > Options > HTTP Server
3. Enable HTTP Server
4. Set the HTTP Server port to 8011 (this is the default port used by this MCP server)
5. Click OK to save changes

Note: If you need to use a different port, you'll need to modify the port in `src/server.ts` where it connects to `http://127.0.0.1:8011/`

## Installation

```bash
npm install
npm run build
```

## Usage

The server provides a single tool through MCP:

```typescript
use_mcp_tool:
- server_name: everything-search
- tool_name: search
- arguments:
  {
    "query": "search string",          // Required: Text to search for
    "scope": "C:",                     // Optional: Search scope (default: C:)
    "caseSensitive": false,            // Optional: Match case
    "wholeWord": false,                // Optional: Match whole words only
    "regex": false,                    // Optional: Use regular expressions
    "path": false,                     // Optional: Search in paths
    "maxResults": 100,                 // Optional: Max results (1-1000, default: 100)
    "sortBy": "name",                  // Optional: Sort by name/path/size/date_modified
    "ascending": true                  // Optional: Sort direction
  }
```

## Example Searches

1. Basic file search:
```json
{
  "query": "*.txt",
  "maxResults": 5
}
```

2. Advanced search with filters:
```json
{
  "query": "test",
  "scope": "C:\\Users",
  "caseSensitive": true,
  "wholeWord": true,
  "maxResults": 10,
  "sortBy": "date_modified",
  "ascending": false
}
```

3. Regex search in paths:
```json
{
  "query": ".*\\.js$",
  "regex": true,
  "path": true,
  "maxResults": 5
}
```

## License

ISC

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single 'search' tool has a clear and distinct purpose that cannot be confused with any other tool in this set.

Naming Consistency5/5

A single tool inherently exhibits perfect naming consistency, as there are no other tools to compare it against. The name 'search' follows a simple, clear verb pattern appropriate for its function.

Tool Count2/5

A single tool is too few for most server purposes, as it severely limits functionality and flexibility. While it matches the server's name ('Everything Search'), a search-focused server could benefit from additional tools like filtering, sorting, or advanced query options to enhance usability.

Completeness2/5

The tool surface is severely incomplete for a search domain. With only a basic search tool, there are significant gaps such as no ability to configure search parameters, handle search results (e.g., pagination or sorting), or perform related operations like indexing management or search history.

Maintenance

ActivityInactive
ResponsivenessNo issues