Huoshui File Search

io.github.huoshuiai42Published by GitHub account huoshuiai42v1.0.0Updated Nov 3, 2026

An MCP server that provides fast Spotlight file search capabilities for macOS

VerifiedSTDIODesktop onlyWeb Search & ScrapingFiles & Storage

Overview

AI-generated overview

A macOS-only MCP server that lets an assistant search local files quickly through the Spotlight index using the native mdfind command.

What you can do
  • Search local files by query text, file kind, filename pattern or date using Spotlight's mdfind syntax
  • Narrow searches to a specific directory and apply case-sensitive or regular-expression filters
  • Sort results by name, size or date and cap the number of returned files
  • Return results as structured JSON
When to use it
Useful when an assistant on a Mac needs to locate documents, images, code files or other indexed files on the user's machine, especially with filters such as file type, folder, date or size.
Requirements
Runs locally as a Python package (Python 3.10 or later, uv package manager) on macOS 10.15 or later with Spotlight indexing enabled; Windows and Linux are not supported. No accounts, API keys or environment variables are declared.
Before you install
The server reads the user's local file index and can reveal file names and paths to the assistant; limit scope with the allowed_directories and path settings. Large searches may time out after 30 seconds. Files not yet indexed by Spotlight will not be found.

Installation

In SourceWeft

  1. Open Huoshui File Search in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Huoshui File Search

A Desktop Extension (DXT) that provides fast file search capabilities for macOS using the native mdfind command (Spotlight search).

⚠️ IMPORTANT: This extension only works on macOS systems. Windows and Linux are not supported.

Features

  • Fast file search using macOS Spotlight index
  • Multiple filtering options:
    • Path-based search restrictions
    • Case-sensitive/insensitive search
    • Regular expression matching
    • Sort results by name, size, or date
  • Configurable search limits
  • Clean JSON-structured responses
  • Built with FastMCP framework for optimal performance

Installation

From MCP Registry (Recommended)

This server is available in the Model Context Protocol Registry. Install it using your MCP client.

mcp-name: io.github.huoshuiai42/huoshui-file-search

Via PyPI (Recommended)

bash
uvx huoshui-file-search

From Source

bash
git clone https://github.com/huoshui/huoshui-file-search.gitcd huoshui-file-searchuv sync

Usage

As a Desktop Extension (DXT)

  1. Install the extension via your DXT-compatible application (e.g., Claude Desktop)
  2. The extension will be automatically configured and ready to use
  3. Use the search_files tool with various parameters

Direct Usage

python
from server.main import search_files, FileSearchParams
# Basic searchparams = FileSearchParams(query="report.pdf")result = await search_files(None, params)
# Search with filtersparams = FileSearchParams(    query="*.py",    path="/Users/username/Documents",    case_sensitive=True,    sort_by="size",    limit=50)result = await search_files(None, params)

Tool Parameters

  • query (required): Search query string
  • path (optional): Directory to limit search scope
  • case_sensitive (optional): Enable case-sensitive search (default: false)
  • regex (optional): Regex pattern to filter results by filename
  • sort_by (optional): Sort results by 'name', 'size', or 'date'
  • limit (optional): Maximum number of results (default: 100, max: 1000)

mdfind Query Syntax

The query parameter uses macOS Spotlight's mdfind syntax:

  • Simple text search: report - finds files containing "report"
  • File kind: kind:pdf, kind:image, kind:movie
  • Filename search: kMDItemFSName == "*.py" - finds Python files
  • Combined queries: invoice AND kind:pdf - finds PDF files containing "invoice"
  • Date queries: date:today, modified:this week

Note: If your query like '寻找工程车' kind:movie returns no results, it might mean:

  1. No files match both criteria
  2. The syntax needs adjustment (try 寻找工程车 AND kind:movie)
  3. Spotlight hasn't indexed the files yet

Examples

Basic File Search

json
{  "query": "document.pdf"}

Search in Specific Directory

json
{  "query": "*.txt",  "path": "/Users/username/Documents"}

Case-Sensitive Search

json
{  "query": "README",  "case_sensitive": true}

Search with Regex Filter

json
{  "query": "kind:text",  "regex": "log.*2024.*\\.txt$"}

Sorted and Limited Results

json
{  "query": "*.jpg",  "sort_by": "size",  "limit": 20}

Configuration

The extension supports user configuration through the DXT manifest:

  • allowed_directories: List of directories to limit search scope
  • default_limit: Default maximum number of search results
  • enable_logging: Enable debug logging

Development

Project Structure

huoshui-file-search/├── manifest.json       # DXT manifest file├── server/            # MCP server implementation│   ├── __init__.py│   ├── __main__.py│   └── main.py├── pyproject.toml     # Python package configuration├── requirements.txt   # Python dependencies├── LICENSE           # MIT License└── README.md         # This file

Testing Locally

  1. Install dependencies:

    bash
    uv sync
  2. Run the server:

    bash
    uv run python -m server

    Or after publishing to PyPI:

    bash
    uvx huoshui-file-search
  3. The server will communicate via stdio according to the MCP protocol

Publishing to PyPI

  1. Build the package:

    bash
    uv build
  2. Upload to PyPI:

    bash
    uv publish

System Requirements

  • macOS 10.15 or later
  • Python 3.10 or later
  • uv package manager (install with: curl -LsSf https://astral.sh/uv/install.sh | sh)
  • Spotlight indexing enabled

Troubleshooting

"Platform not supported" Error

This extension only works on macOS. Ensure you're running it on a Mac.

"mdfind command not found" Error

Ensure Spotlight is enabled on your Mac. You can check this in System Preferences > Spotlight.

No Search Results

  • Spotlight may still be indexing new files
  • Check if the file path is included in Spotlight's search scope
  • Verify the search query syntax

Search Timeout

Large searches may timeout after 30 seconds. Try:

  • Limiting the search path
  • Using more specific queries
  • Reducing the result limit

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Submit a pull request

Support

For issues and feature requests, please visit: https://github.com/huoshui/huoshui-file-search/issues

Source: README.md at commit 1c838bd

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts