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.3.tar.gz (96.5 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.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for emcp-0.2.3.tar.gz
Algorithm Hash digest
SHA256 be6e3b196565c355531a3bdfe1f0aa9b774f7ab33efd147b939f93db5f1caaa2
MD5 3ba17eb6facc5972428aeb55baa59b3d
BLAKE2b-256 35dd1a8c7342bafa442c23d06ffabd64c64e789b87756de8fb3c6b1dbc886656

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for emcp-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 422e49013283fbe6b1c8b0c8e2573136b6955da537fe9585b070c7c9cd7c3ac0
MD5 23de2d88fffb334d2fff2fb9e7d0aa9a
BLAKE2b-256 a61526160d68c4ae73a992f48f14777e5fd7ffc6857fb209c47556e8f4ee5482

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