文件系统与网络搜索工具

提供文件系统操作、Shell执行和网络搜索功能的MCP服务器工具,适用于开发环境中的文件管理和网络信息检索。

  • by slezica
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 slezica/emcp

使用说明

emcp

基础MCP服务器,配备文件系统操作、Shell执行和网页搜索工具。

安装

为了整合 emcp将其添加到您的MCP配置文件中。使用最简设置进行配置 uvx:

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

你也可以独立运行它,使用 uvx 或者使用以下命令从 PyPI 安装该包: uv:

uvx emcp
uv tool install emcp

要求

  • rg (ripgrep)在你的 PATH 用于文件搜索。

配置

你可以进行配置 emcp 通过环境变量:

  • EMCP_WORKING_DIRECTORY目录 EMCP 将限制文件操作。默认为当前工作目录 (CwD)。

使用方法

随着 emcp该代理可以访问各种文件系统、shell 和网络工具。

文件系统

所有文件系统操作均限制在配置的工作目录内。

  • **fs_pwd 翻译为中文是“文件系统密码”**获取当前工作目录
  • **fs_stat(在计算机领域,通常指文件系统状态或文件系统统计信息)**获取文件/目录的元数据(大小、时间、类型、权限)
  • **fs_list(在中文语境下,若直接翻译该英文术语,可保持原样或根据上下文稍作调整,但通常“fs_list”本身不直接对应中文词汇,若需解释其含义,可译为“文件系统列表”或“文件列表(特定于文件系统)”,具体取决于上下文)**列出目录内容,包括大小、类型和名称
  • **fs_read 翻译为中文是“文件系统读取”**读取文件内容,可选择行范围
  • **fs_write 翻译成中文是“文件系统写入”**使用指定的模式(w、a 等)将内容写入文件
  • **fs_search 翻译成中文是“文件搜索”或“系统搜索”(具体取决于上下文,这里“fs”可能代表“文件系统”或泛指“搜索功能”)**使用 ripgrep 通过正则表达式模式搜索文件
  • fs_replace 翻译成中文是“替换文件系统”或“替换文件服务”,具体翻译可能根据上下文有所调整在文件中替换字符串的出现(精确编辑)
  • **fs_mkdir 翻译为中文是“创建文件夹”**递归创建目录
  • **fs_rm 可以翻译为“文件系统移除”或“删除文件系统”(具体翻译可能根据上下文有所调整)**删除文件或目录(删除目录时需用户确认)

壳牌(Shell)

  • **shell_run(可译为“执行Shell命令”或根据上下文具体翻译为相关操作,如“运行Shell脚本”等,但直接作为术语时,“shell_run”通常保持原样或译为“执行Shell”)**执行具有交互式权限系统的shell命令

在首次使用某个命令时,系统会提示用户选择允许/拒绝/总是允许/从不允许该命令。

网络

  • 网络搜索使用DuckDuckGo搜索网络

沙盒技术(或沙盒隔离)

虽然 emcp 强制执行;实施 一些 限制方面,始终在沙盒环境中运行MCP服务器更为安全。考虑使用以下之一:

  • 容器,如带有挂载外部目录的 Docker。
  • (仅限MacOS) sandbox-exec其配置文件限制了文件系统的访问。

发展

获取代码:

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

从源代码运行:

cd emcp
uv run emcp

运行测试:

cd emcp
uv run pytest

许可证

无。代码即知识。善用之。