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 yourPATHfor 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.
Metadata
Release files for emcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| emcp-0.3.0.tar.gz | 96.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| emcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 105.8 kB
Release files / emcp-0.3.0.tar.gz
| Download URL | emcp-0.3.0.tar.gz |
|---|---|
| Size | 96.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa546b86076b5ebf00698087c568483ac3a451682dc1c4b6255ca25aff23e393
|
|
BLAKE2b-256 checksum How to use checksums |
77de26351b5807547d38922b428056bdd89fb59fe072fd37e2faa87db66328a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.23
|
Release files / emcp-0.3.0-py3-none-any.whl
| Download URL | emcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0edda472461835684a82cf68522ba90de239b51b97681215b87fd1f99175a4d
|
|
BLAKE2b-256 checksum How to use checksums |
736b071185a536e96936b80fe8c9770f56c491246a7650f0391b62c95c158aa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.23
|
Security for emcp 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.