Skip to main content
Glama
boranesn
by boranesn

devflow-mcp

Готовый к промышленному использованию сервер Model Context Protocol, предоставляющий ИИ-ассистентам глубокие инструменты разработчика GitHub — анализ PR, проверку кода, генерацию списка изменений, аудит зависимостей, обобщение коммитов и предложения по рефакторингу.

Возможности

  • 6 инструментов MCP, охватывающих полный рабочий процесс разработчика

  • Эвристический анализ — без внешних вызовов LLM, быстро и детерминировано

  • Интеграция с OSV.dev для получения актуальных данных об уязвимостях (npm и PyPI)

  • LRU-кэш с TTL для минимизации количества вызовов API GitHub

  • Ограничитель частоты запросов (token-bucket) для соблюдения лимитов GitHub

  • Отсутствие any — строгий TypeScript во всем проекте

  • Покрытие тестами ≥80% с использованием MSW для имитации HTTP

Related MCP server: Code Understanding MCP Server

Требования

  • Node.js 18+

  • Персональный токен доступа GitHub (Personal Access Token) с областью видимости repo

Установка

npm install -g devflow-mcp

Или запустите напрямую с помощью npx:

npx devflow-mcp

Или клонируйте и соберите:

git clone https://github.com/yourorg/devflow-mcp
cd devflow-mcp
npm install
npm run build

Настройка Claude Desktop

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "devflow": {
      "command": "npx",
      "args": ["devflow-mcp"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Расположение файла конфигурации:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Инструменты

analyze_pr

Анализирует pull request на GitHub на предмет рисков, проблем безопасности и готовности к слиянию.

Параметры:

Имя

Тип

Обязательный

Описание

owner

string

да

Владелец репозитория

repo

string

да

Имя репозитория

pr_number

number

да

Номер pull request

focus

string[]

нет

Ограничить анализ: security, performance, logic, style

Возвращает: risk_score (0-100), risk_level, findings[], change_summary, merge_recommendation


review_code

Проверяет фрагмент кода на качество, проблемы безопасности и возможности для улучшения.

Параметры:

Имя

Тип

Обязательный

Описание

code

string

да

Исходный код для проверки

language

string

да

Язык программирования

context

string

нет

Дополнительный контекст о том, что делает код

Возвращает: overall_score (1-10), issues[] с уровнем серьезности и предложениями по исправлению, positive_observations[], refactor_priority


generate_changelog

Генерирует список изменений между двумя Git-ссылками на основе истории коммитов.

Параметры:

Имя

Тип

Обязательный

Описание

owner

string

да

Владелец репозитория

repo

string

да

Имя репозитория

from_ref

string

да

Базовая ссылка (тег, SHA, ветка)

to_ref

string

да

Целевая ссылка

format

string

нет

markdown (по умолчанию), json, plain

group_by

string

нет

type (по умолчанию), author, date

include_authors

boolean

нет

Включить имена авторов (по умолчанию: true)

Возвращает: changelog строка, commit_count, stats по категориям, breaking_changes[]


audit_dependencies

Проводит аудит зависимостей проекта по базе данных уязвимостей OSV.

Параметры:

Имя

Тип

Обязательный

Описание

owner

string

да

Владелец репозитория

repo

string

да

Имя репозитория

ecosystem

string

да

npm, pypi или auto

severity_threshold

string

нет

Минимальный уровень серьезности для отчета: low (по умолчанию), moderate, high, critical

Возвращает: vulnerabilities[] с идентификаторами CVE, версиями для исправления и командами для исправления; audit_passed, stats по уровню серьезности, osv_query_timestamp


summarize_commits

Обобщает недавние коммиты в ветке в виде дайджеста, удобного для чтения.

Параметры:

Имя

Тип

Обязательный

Описание

owner

string

да

Владелец репозитория

repo

string

да

Имя репозитория

branch

string

нет

Имя ветки (по умолчанию: ветка репозитория по умолчанию)

since

string

нет

ISO-дата или относительное время (7d, 24h, 2w, 1m)

limit

number

нет

Макс. количество коммитов (по умолчанию: 50)

output_style

string

нет

digest (по умолчанию), standup, detailed

Возвращает: summary строка, categories (features/fixes/docs/refactors/chores/other), authors[], commit_count


suggest_refactor

Анализирует код на предмет возможностей рефакторинга, ранжированных по соотношению влияния к усилиям.

Параметры:

Имя

Тип

Обязательный

Описание

code

string

да

Исходный код для анализа

language

string

да

Язык программирования

goals

string[]

нет

Области фокуса: readability, performance, testability, maintainability

Возвращает: suggestions[] с обоснованием и оценкой усилий, priority_order[], original_complexity_score

Разработка

# Install dependencies
npm install

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Type-check and build
npm run build

# Lint
npm run lint

# Format
npm run format

# Start the server (after build)
npm start

Структура проекта

src/
  index.ts              # Entry point
  server.ts             # MCP server registration
  tools/                # Tool handlers (one per tool)
  github/               # GitHub API clients
  lib/                  # Shared utilities
    cache.ts            # LRU cache with TTL
    rate-limiter.ts     # Token-bucket rate limiter
    commit-parser.ts    # Conventional commit parser
    diff-parser.ts      # Git diff parser
    risk-scorer.ts      # PR risk scoring heuristics
    errors.ts           # Typed MCP errors
  providers/
    osv.ts              # OSV.dev vulnerability API
tests/
  integration/          # Full MCP server tests via InMemoryTransport
  tools/                # Unit tests per tool handler
  lib/                  # Unit tests for utilities

Стратегия тестирования

  • Модульные тесты: каждый обработчик инструментов и библиотека имитируются с помощью vi.mock

  • Интеграционные тесты: полный цикл клиент↔сервер MCP через InMemoryTransport, HTTP перехватывается с помощью MSW

  • HTTP-имитация: MSW v2 (msw/node) — никаких реальных сетевых вызовов в тестах

  • Покрытие: требуется ≥80% веток (npm run test:coverage)

Участие в разработке

  1. Сделайте форк репозитория

  2. Создайте ветку для новой функции

  3. Добавьте тесты для нового поведения

  4. Убедитесь, что npm run build && npm run test:coverage && npm run lint проходят успешно

  5. Откройте pull request

Лицензия

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/boranesn/devflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server