Skip to main content

Essentials MCP server with filesystem, shell, and web tools

Project description

emcp

Essentials MCP server with tools for filesystem operations, shell execution, and web search.

Installation

To integrate emcp, add it to your MCP configuration file. Minimal setup with uvx:

{
  "command": "uvx",
  "args": [
    "emcp"
  ],
  "env": {}
}

You can also run it standalone with uvx or install the package from PyPI with uv:

uvx emcp
uv tool install emcp

Requirements

  • rg (ripgrep) in your PATH for file search.

Configuration

You can configure emcp through environment variables:

  • EMCP_WORKING_DIRECTORY: the directory EMCP will restrict file operations to. Defaults to CwD.

Usage

With emcp, the agent has access to a variety of file-system, shell and web tools.

File System

All filesystem operations are restricted to the configured working directory.

  • fs_pwd: Get the current working directory
  • fs_stat: Get file/directory metadata (size, times, type, permissions)
  • fs_list: List directory contents with size, type, and name
  • fs_read: Read file contents with optional line ranges
  • fs_write: Write content to a file using specified mode (w, a, etc.)
  • fs_search: Search files by regex pattern using ripgrep
  • fs_replace: Replace occurrences of a string in a file (precise edits)
  • fs_mkdir: Create directories recursively
  • fs_rm: Remove files or directories (with user confirmation for directories)

Shell

  • shell_run: Execute shell commands with an interactive permission system

On first use of a command, the user is prompted to allow/deny/always allow/never allow it.

Web

  • web_search: Search the web using DuckDuckGo

Sandboxing

While emcp enforces some restrictions, it's always safer to run MCP servers in sandboxed environments. Consider using one of:

  • Containers, such as docker with a mounted external directory.
  • (MacOS-only) sandbox-exec, with a profile that restricts file-system access.

Development

Get the code:

git clone git@github.com:slezica/emcp.git

Run from source:

cd emcp
uv run emcp

Run tests:

cd emcp
uv run pytest

License

None. Code is knowledge. Use it for good.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emcp-0.2.2.tar.gz (78.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emcp-0.2.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file emcp-0.2.2.tar.gz.

File metadata

  • Download URL: emcp-0.2.2.tar.gz
  • Upload date:
  • Size: 78.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.23

File hashes

Hashes for emcp-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3713202e1112610bb969db99c550a25a38fb1d459f72911c8aaf048cb3d358ec
MD5 bdfe73a049883176b86b6303bf87671e
BLAKE2b-256 742565deeefb8b490013f4e406220dd0c28429db04407678a7226cb402848d69

See more details on using hashes here.

File details

Details for the file emcp-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: emcp-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.23

File hashes

Hashes for emcp-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b70acf82900edc84367f77865527c7a12e498837d427440081db481bee5d450c
MD5 2bf49c8f7fd38604985942217fc3c2c8
BLAKE2b-256 beda284cad13861e10de8190fda49d13d10558fee6a9f0dd8c2298c4101c7b60

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page