基于 Everything 搜索引擎的 MCP (Model Context Protocol) 服务器,让 AI 助手能够搜索本地文件。
Project description
Everything MCP
基于 Everything 搜索引擎的 MCP (Model Context Protocol) 服务器。让你的 AI 助手(如 Claude、Kiro 等)能够快速搜索本地文件。
前置要求
- Windows 系统(Everything 仅支持 Windows)
- Everything 已安装并正在运行
- uv 已安装(提供
uvx命令)
MCP 配置
Claude Desktop
编辑 Claude Desktop 配置文件(通常位于 %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-search-mcp"],
"disabled": false
}
}
}
Kiro
在项目根目录或用户目录下创建 .kiro/settings/mcp.json:
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-search-mcp"],
"disabled": false
}
}
}
Cursor
编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-search-mcp"],
"disabled": false
}
}
}
OpenCode
编辑项目根目录下的 opencode.json(或全局配置):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"everything": {
"type": "local",
"command": ["uvx", "everything-search-mcp"],
"enabled": true
}
}
}
VS Code (Copilot)
在 .vscode/settings.json 中添加:
{
"mcp": {
"servers": {
"everything": {
"command": "uvx",
"args": ["everything-search-mcp"]
}
}
}
}
提供的工具
get_current_date
获取当前日期(YYYY-MM-DD 格式),方便在日期筛选时使用。
get_everything_info
获取 Everything 的版本、数据库加载状态和管理员权限信息。
search
基础搜索工具,支持以下参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
query_string |
str | 必填 | 搜索关键词 |
match_case |
bool | False | 区分大小写 |
match_path |
bool | False | 匹配完整路径 |
match_whole_word |
bool | False | 全词匹配 |
regex |
bool | False | 启用正则表达式 |
sort_type |
int | 1 | 排序方式(见下方说明) |
max_results |
int | 10 | 最大返回数量 |
return_properties |
list | 默认字段 | 返回的字段列表 |
complex_search
高级组合搜索,通过 filters 列表组合多种过滤条件。
基础参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
keywords |
list[str] | [] |
搜索关键词列表,如 ["test.py", "hello"] |
filters |
list[dict] | [] |
过滤器列表,详见下方 |
match_case |
bool | False | 区分大小写 |
match_path |
bool | False | 匹配完整路径 |
match_whole_word |
bool | False | 全词匹配 |
regex |
bool | False | 启用正则表达式 |
sort_type |
int | 1 | 排序方式(见排序类型参考) |
max_results |
int | 10 | 最大返回数量 |
return_properties |
list[str] | 默认字段 | 返回的字段列表 |
每个 filter 是一个 {"type": "...", "params": ...} 结构,支持以下类型:
file_filter — 文件属性过滤
| params 键 | 类型 | 说明 |
|---|---|---|
with_extensions |
list[str] | 扩展名列表,如 [".py", ".txt"] |
with_size_range |
dict | {"min_size": 字节数, "max_size": 字节数} |
with_content |
str | 文件内容关键词(仅文本文件) |
duplicates_only |
bool | 是否仅显示重复文件 |
{"type": "file_filter", "params": {"with_extensions": [".py"], "with_content": "import"}}
date_filter — 日期过滤
| params 键 | 类型 | 说明 |
|---|---|---|
by_date |
str | "modified_date" / "created_date" / "accessed_date" |
in_range |
list[str] | ["开始日期", "结束日期"],格式 YYYY-MM-DD |
{"type": "date_filter", "params": {"by_date": "modified_date", "in_range": ["2025-01-01", "2025-12-31"]}}
size_filter — 大小过滤
通过 gt(大于)和 lt(小于)设置范围,单位为字节。
| params 键 | 类型 | 说明 |
|---|---|---|
gt |
int | 最小字节数 |
lt |
int | 最大字节数 |
{"type": "size_filter", "params": {"gt": 104857600}}
media_filter — 媒体文件过滤
| params 键 | 类型 | 可选值 |
|---|---|---|
file_type |
str | "image" / "audio" / "video" / "all" |
{"type": "media_filter", "params": {"file_type": "video"}}
document_filter — 文档文件过滤
| params 键 | 类型 | 可选值 |
|---|---|---|
file_type |
str | "office" / "pdf" / "text" / "all" |
{"type": "document_filter", "params": {"file_type": "pdf"}}
## 使用示例
配置完成后,你可以直接在 AI 对话中使用自然语言搜索文件:
> "帮我找一下桌面上所有的 PDF 文件"
> "搜索最近一周修改过的 Python 文件"
> "找出所有大于 100MB 的视频文件"
> "在 D 盘搜索包含 config 的 yaml 文件"
AI 助手会自动调用对应的 MCP 工具完成搜索。
## 排序类型参考
| 值 | 说明 | 值 | 说明 |
|----|------|----|------|
| 1 | 名称升序 | 2 | 名称降序 |
| 3 | 路径升序 | 4 | 路径降序 |
| 5 | 大小升序 | 6 | 大小降序 |
| 11 | 创建日期升序 | 12 | 创建日期降序 |
| 13 | 修改日期升序 | 14 | 修改日期降序 |
## 开发
```bash
git clone https://github.com/miloira/everything-search-mcp.git
cd everything-search-mcp
uv sync
本地测试运行:
uv run everything-search-mcp
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file everything_search_mcp-0.0.2.tar.gz.
File metadata
- Download URL: everything_search_mcp-0.0.2.tar.gz
- Upload date:
- Size: 68.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6aee462117791f5771dde9eccdbcf616b58a9bac11b1cc1041a2320062a0f43
|
|
| MD5 |
992f15b0424dcdec2a22e931c1528ec6
|
|
| BLAKE2b-256 |
e268a794216e5598da0172f3517bff26198b9abd8b5b1486789c1b248fc5cde1
|
File details
Details for the file everything_search_mcp-0.0.2-py3-none-any.whl.
File metadata
- Download URL: everything_search_mcp-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e7d0115e8a360c0b3f8adc827d77fb14f2eeb6afd4af34f64c0bf3f2d330bf0
|
|
| MD5 |
5cd26ef7d37844323c03700eb78232f0
|
|
| BLAKE2b-256 |
0a60bb2fda3c51c5deee11142f470ab214115b3e137f12a02491dfdd285882f3
|