Skip to main content
Glama

MCP Desktop Tools

SECURITY.md2.68 kB
# Security Model (A1) MCP Desktop Tools enforces a conservative security model for file system access when executing tools. ## Workspace Boundaries - Every tool invocation must specify a workspace declared in `workspaces.yaml`. - Paths are normalised against the workspace root. Attempts to escape the root via `..` segments or symlinks are rejected. - Workspaces maintain allow-lists of tools; invoking a disallowed tool yields an error. ## Limits Global limits are defined in configuration and may be overridden per request within the configured maxima: - `max_matches`: caps the number of hits returned (enforced both during ripgrep execution and during response assembly). - `max_output_bytes`: prevents oversized payloads by truncating results. - `max_file_size_bytes`: skips files larger than the threshold. - `max_depth`: the effective traversal depth is the minimum of the workspace maximum and the request value. ## External Dependencies The only external binary used in A1 is [`ripgrep`](https://github.com/BurntSushi/ripgrep) (`rg`). The adapter validates that the binary exists before execution and raises a descriptive error when it is missing. ## Logging Logs include tool invocation metadata and warnings emitted by ripgrep. The log level defaults to `INFO` and may be overridden with the `MCPDT_LOG` environment variable or the CLI `--log-level` flag. ## Plugins The plugin loader enforces a conservative allow-list policy. By default only plugins declaring the `read_only` capability are accepted and identifiers must match the `MCPDT_PLUGINS_ALLOW` environment allow-list. The deny-list takes precedence and immediately blocks the plugin before any Python code is executed. Plugin manifests are validated against the built-in schema before the runtime imports the plugin entry point. ## Watchers The watcher engine keeps per-workspace event counters and honours configuration limits such as debounce periods and maximum batch sizes. Events outside the configured workspaces are ignored and rebuild operations reset the queue to guard against event storms. ## Export Limits CLI exports share a common writer that tracks the number of bytes written. When the configured `max_output_bytes` limit is exceeded the output is truncated and an explicit warning is emitted on stderr, preventing oversized payloads from being delivered silently. ## Future Work - **A2:** integrate additional repository inspection tools with the same path policy. - **B1:** extend allow-list management to cover new tool categories and workspace presets. - **C1:** coordinate with remote services (`*Lab`, `mlflow_homelab`) once secure transport channels are defined.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andrey-zhuravl/mcp-desktop-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server