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.1.tar.gz (78.6 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.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for emcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ba2bf67049b3faa2fb3445009c02f5b94eb80827c1e8d65a983c28eb36206976
MD5 e94a5b28573842f31094cdfd6acf0c56
BLAKE2b-256 e0fd8ea24d07ff369d8959ea950cc1878c1929602e53fbacb7d06a3d87f1564e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for emcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f32cb8d5f911b6a2bcc4e242285b3e0c81d5cc0305b826c61264e62358d9d3b8
MD5 2fd3a1b2631dfc5d295e4946a046f49f
BLAKE2b-256 eb534b29ec5121281a4c66aeb7b0a28b6efb0fb1e2637ebed657ef5b9e3334ab

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