开发者工具MCP服务器

一个包含三个实用工具的本地开发服务器,用于代码技术债务扫描、生成发布说明和Dockerfile审计。

  • by denis-42ds
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 denis-42ds/dev-tools-mcp

使用说明

🛠️ 开发工具MCP服务器

MCP是一个具有三个实用工具的服务器,用于开发人员的日常工作。
完全本地-没有外部API和付费密钥。

Demo Video在云端可用

工具

tool是做什么的 |------|-----------| | scan_tech_debt ≫在代码库中搜索todo/fixme/hack/bug/xxx,优先级,分组› | generate_release_notes –从Git日志生成Release Notes Conventional Commits› | audit_dockerfile –审计DockerFile:安全性、图像大小、最佳实践›


快速启动

要求

  • Docker 20.10+(推荐方法)
  • 或 Python 3.11+,Git(本地运行)

1、Docker(推荐)

# 1. Клонировать репозиторий
git clone https://github.com/denis-42ds/dev-tools-mcp.git
cd dev-tools-mcp

# 2. Собрать образ
docker build -t dev-tools-mcp .

# 3. Запустить сервер (HTTP, порт 8000)
docker run -p 8000:8000 dev-tools-mcp serve

# 4. Проверить здоровье
curl http://localhost:8000/health

# 5. Smoke-тест
docker run dev-tools-mcp smoke

2、Docker Compose

# Запуск сервера
docker compose up --build

# Smoke-тест
docker compose --profile smoke run smoke

选项3-本地

pip install -r requirements.txt

# Запустить HTTP-сервер
python src/server.py serve

# Smoke-тест
python smoke_test.py

# MCP Inspector (stdio)
npx @modelcontextprotocol/inspector python src/server.py

网络合同

启动时 serve 服务器听端口 8000:

Endpoint的目的地 |----------|-----------| | GET /health 检查服务状态(快速响应) | POST /mcp |MCP可流式HTTP端点|

# Проверить здоровье
curl http://localhost:8000/health
# {"status":"ok","service":"dev-tools-mcp","version":"1.0.0","tools":[...]}

# MCP Inspector через HTTP
npx @modelcontextprotocol/inspector --url http://localhost:8000/mcp

Docker命令

# Запустить MCP-сервер
docker run -p 8000:8000 dev-tools-mcp serve

# Smoke-тест (завершается 0 = OK, 1 = ошибка)
docker run dev-tools-mcp smoke

# Анализировать свой проект (монтирование)
docker run -p 8000:8000 \
  -v /path/to/your/project:/workspace:ro \
  dev-tools-mcp serve

连接Claude Desktop

添加到Claude Desktop配置:

通过HTTP(推荐用于Docker):

启动服务器: docker run -p 8000:8000 dev-tools-mcp serve

然后 claude_desktop_config.json:

{
  "mcpServers": {
    "dev-tools-mcp": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

通过STDIO(本地Python):

{
  "mcpServers": {
    "dev-tools-mcp": {
      "command": "python",
      "args": ["/absolute/path/to/dev-tools-mcp/src/server.py"]
    }
  }
}

工具描述

scan_tech_debt

递归地扫描目录中的技术债务代币。

参数:

≫参数≫类型≫默认≫描述≫ |----------|-----|-------------|---------| | path |字符串| 强制性的 –目录或文件路径。 | priority_filter string就是一切。 "high", "medium" 或 "low" | | extensions #string;所有支持的扩展: ".py,.js,.ts" | | max_results |int| 200 最大的结果。

标记和优先级:

标记 优先级
修复,BUG,黑客,XXX 🔴 高
TODO,已弃用 🟡 中等
注意,优化 🔵 低

generate_release_notes

从Markdown格式的Git日志生成Release Notes。

参数:

≫参数≫类型≫默认≫描述≫ |----------|-----|-------------|---------| | repo_path |字符串| 强制性的 Git存储库的路径 | from_ref ≫string≫倒数第二个标签≫初始参考≫ | to_ref |字符串| HEAD 最终ref | version #string;值 to_ref 标题的版本 | include_authors bool的。 true 作者块 | include_stats bool的。 true 档案统计


audit_dockerfile

分析DockerFile常见问题。查找目录中的所有DockerFile。

参数:

≫参数≫类型≫默认≫描述≫ |----------|-----|-------------|---------| | path |字符串| 强制性的 –DockerFile或目录路径› | strict bool的。 false 启用信息级别警告。

验证规则:

代码级别描述 |-----|---------|---------| | C001 | 🔴 Critical从root启动 | C002 | 🔴 关键的非固定标签(:latest 或无重量)。 | C003 | 🔴 关键›ENV/ARG中的秘密› | C004 | 🟡 add而不是copy |W001|🟡 警告|健康检查| |W002 |🟡 警告|请注意 --no-install-recommends | | W003 | 🟡 Warning–Apt-Get Update和Install在不同的图层› | W004 | 🟡 警告:APT缓存不会被清除。 |W005 |🟡 警告| pipбез --no-cache-dir | |W006 |🟡 警告|注意事项| |W007 |🟡 警告|复制。 .без.码头| | W008 | 🟡 Warning›许多独立的运行指令› | I001 | 🔵 info→没有标签元数据→ |I002 |🔵 信息|工作主管| | I003 | 🔵 INFO推荐Multi-Stage Build


项目结构

dev-tools-mcp/
├── src/
│   └── server.py               # MCP-сервер: все три инструмента + HTTP-транспорт
├── scripts/
│   └── init_demo_git.sh        # Создание git истории для демо
├── demo_project/               # Тестовые данные для demo-сценария
│   ├── src/
│   │   ├── users.py            # Намеренный техдолг (~15 маркеров)
│   │   ├── utils.py            # Намеренный техдолг (~10 маркеров)
│   │   └── cache.py
│   ├── infra/
│   │   ├── Dockerfile.bad      # Dockerfile с проблемами (для аудита)
│   │   └── Dockerfile.good     # Эталонный Dockerfile
│   └── .git/                   # git-репозиторий с тегами v0.1.0 / v1.0.0
├── Dockerfile                  # Образ MCP-сервера
├── docker-compose.yml
├── entrypoint.sh               # serve | smoke
├── smoke_test.py               # Автоматическая проверка инструментов
├── requirements.txt
├── .env.example
├── README.md
├── DEMO.md
└── AGENTS.md

资源限制

服务器运行在:

  • CPU: 2.0芯
  • 猛撞: 2048 MB

Docker Compose会自动设置这些限制(见下文)。 docker-compose.yml).


环境变量

复制 .env.example 在 .env 如有必要。基本脚本不需要配置。

变量是默认的,描述是 |-----------|-------------|---------| | PORT | 8000 HTTP服务器端口 | SCAN_PATH | ./demo_project 通往蒙太奇项目的道路


诊断

# Сервер не отвечает — проверьте статус
docker ps | grep dev-tools-mcp
curl -v http://localhost:8000/health

# Smoke упал — посмотрите детали
docker run dev-tools-mcp smoke 2>&1

# Логи работающего сервера
docker logs dev-tools-mcp

要求

  • Python 3.11+(或Docker)
  • mcp[cli]>=1.3.0, uvicorn>=0.29.0, starlette>=0.37.0
  • git (为) generate_release_notes)
  • Docker 20.10+(用于容器运行)