MCP Desktop Tools
MCP Desktop Tools provides a minimal Model Context Protocol (MCP) server and a local CLI (mcp-tools
) for searching text across configured workspaces using ripgrep.
Features (A1)
Minimal MCP server that registers the
search_text
tool and handles JSON-line requests via stdin/stdout.Lightweight CLI (
mcp-tools
) implemented with the Python standard library.Workspace configuration via
workspaces.yaml
with environment overrides.Security helpers to keep searches inside declared workspace roots.
Ripgrep adapter that enforces limits and parses JSON output.
Logging with configurable level through the
MCPDT_LOG
environment variable or CLI flag.
Installation
The project has no third-party runtime dependencies. Optional tools such as rg
must be installed separately.
Ensure that ripgrep
(rg
) is installed and accessible via PATH
or set MCPDT_RG_PATH
to the binary location.
Configuration
Workspaces are defined in workspaces.yaml
. See CONFIG.md for schema details. Environment variables can override the configuration path and ripgrep binary.
CLI Usage
Use --yaml
to emit YAML instead of tabular output. The command exits with a non-zero status when the tool reports an error.
Server Usage
Start the server with:
The server accepts JSON lines on stdin with the following structure:
Responses follow the unified schema documented in schemas/search_text.json.
Logging
Set MCPDT_LOG
(or --log-level
for the CLI) to control verbosity. Logs include timing information recorded by the ripgrep adapter and tool execution paths.
Testing
Run the test suite with:
Integration tests expect rg
to be available.
Roadmap
See SECURITY.md and CONFIG.md for more information about future milestones (A2/B1/C1).
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables searching text across configured local workspaces using ripgrep. Provides secure text search capabilities within defined workspace boundaries through both MCP server and CLI interfaces.