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.3.0.tar.gz (96.2 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.3.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for emcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fa546b86076b5ebf00698087c568483ac3a451682dc1c4b6255ca25aff23e393
MD5 97eaccb2df7e5797a03725ef9cc4b4eb
BLAKE2b-256 77de26351b5807547d38922b428056bdd89fb59fe072fd37e2faa87db66328a3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for emcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0edda472461835684a82cf68522ba90de239b51b97681215b87fd1f99175a4d
MD5 b7700d335f8b9ee37a85037f8a2ebf46
BLAKE2b-256 736b071185a536e96936b80fe8c9770f56c491246a7650f0391b62c95c158aa4

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