Docker化MCP服务器

一个完全容器化的模型上下文协议(MCP)服务器,为Claude提供对文件、Git、PostgreSQL、Docker日志和安全shell命令的即时只读访问,全部在Docker内运行,无需主机安装。

  • by SabirAliyev
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 SabirAliyev/mcp-pro

使用说明

MCP Pro–用于Cursor的码头化定制MCP服务器(2025)

一个完全容器化的模型上下文协议(MCP)服务器,使Claude能够即时只读访问您的文件、Git、PostgreSQL、Docker日志和安全壳命令——所有这些都在Docker中运行,无需安装任何主机。

特性

  • read_file –从项目中读取任何文件(严格只读)
  • list_dir –列出目录内容
  • git_diff –任何参考之间的git差异
  • postgres_query –仅SELECT查询(插入/更新/删除被阻止)
  • docker_logs –按需记录集装箱日志
  • safe_shell –白名单命令(php artist、composer、symfony控制台等)

所有工具都是100%安全的,并且仅限于您的Docker卷。

存储库布局

~/mcp-pro/
├── docker-compose.yml
├── Dockerfile
├── package.json
├── tsconfig.json
└── src/
    └── index.ts

如何启动服务器(一个命令)

cd ~/mcp-pro
docker compose up -d --build

集装箱 mcp-pro 将运行(没有暴露的HTTP端口,它使用stdio)。

如何在Cursor(2.1.17+)中添加MCP服务器

  1. 打开光标→ 设置→ 特性→ 工具和MCP
  2. 点击 添加自定义MCP (打开 ~/.cursor/mcp.json)
  3. 用以下内容替换整个内容(仅替换密码):
{
  "mcpServers": {
    "local-pro-stdio": {
      "type": "stdio",
      "command": "docker exec -i mcp-pro node /app/dist/index.js",
      "env": {
        "POSTGRES_PASSWORD": "your_real_postgres_password_here",
        "POSTGRES_HOST": "host.docker.internal",
        "POSTGRES_PORT": "5432",
        "POSTGRES_DB": "your_db_name",
        "POSTGRES_USER": "your_db_user",
        "PROJECTS_DIR": "/projects"
      },
      "name": "Local Dev MCP Pro (Docker stdio)",
      "enabled": true
    }
  }
}
  1. 保存文件(Ctrl+S)
  2. 完全重新启动Cursor (退出AppImage并重新启动)

重新启动后,您将看到 本地开发MCP Pro(Docker stdio) 带有绿点和列出的6种工具。

更新/重建

每当你改变 src/index.ts 或任何文件:

cd ~/mcp-pro
docker compose up -d --build
# then fully restart Cursor again

不 npm install 或 npm run build 主机上永远需要它——在映像构建过程中,所有事情都发生在容器内。

安全说明

  • 文件工具严格限于 /projects (你的 /home/sa/src)
  • PostgreSQL工具只允许SELECT/EXPLAIN/SHOW/WITH查询
  • safe_shell 白名单在 src/index.ts –如果需要更多命令,请编辑它
  • Docker套接字以只读方式挂载

您现在拥有2025年最强大、最安全的本地MCP设置之一。

在Yii上享受5-10倍代币储蓄和闪电般快速的Claude帮助→ Symfony/Laravel迁移! 🚀