Skip to main content
Glama
boranesn
by boranesn

devflow-mcp

Ein produktionsreifer Model Context Protocol-Server, der KI-Assistenten tiefgreifende GitHub-Entwicklertools an die Hand gibt – PR-Analyse, Code-Review, Changelog-Generierung, Abhängigkeitsprüfung, Commit-Zusammenfassungen und Refactoring-Vorschläge.

Funktionen

  • 6 MCP-Tools, die den gesamten Entwickler-Workflow abdecken

  • Heuristische Analyse – keine externen LLM-Aufrufe, schnell und deterministisch

  • OSV.dev-Integration für echte Schwachstellendaten (npm und PyPI)

  • LRU-Cache mit TTL zur Minimierung von GitHub-API-Aufrufen

  • Token-Bucket-Rate-Limiter, um innerhalb der GitHub-Limits zu bleiben

  • Kein any – durchgehend striktes TypeScript

  • ≥80% Testabdeckung mit MSW-gemocktem HTTP

Related MCP server: GitHub MCP Agent Server

Anforderungen

  • Node.js 18+

  • Ein GitHub Personal Access Token mit repo-Berechtigung

Installation

npm install -g devflow-mcp

Oder direkt mit npx ausführen:

npx devflow-mcp

Oder klonen und bauen:

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

Claude Desktop-Konfiguration

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

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

Speicherorte der Konfigurationsdatei:

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

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

Tools

analyze_pr

Analysiert einen GitHub Pull Request auf Risiken, Sicherheitsbefunde und Merge-Bereitschaft.

Parameter:

Name

Typ

Erforderlich

Beschreibung

owner

string

ja

Repository-Besitzer

repo

string

ja

Repository-Name

pr_number

number

ja

Pull-Request-Nummer

focus

string[]

nein

Analyse einschränken auf: security, performance, logic, style

Rückgabewerte: risk_score (0-100), risk_level, findings[], change_summary, merge_recommendation


review_code

Überprüft einen Code-Schnipsel auf Qualität, Sicherheitsprobleme und Verbesserungsmöglichkeiten.

Parameter:

Name

Typ

Erforderlich

Beschreibung

code

string

ja

Zu überprüfender Quellcode

language

string

ja

Programmiersprache

context

string

nein

Optionaler Kontext darüber, was der Code tut

Rückgabewerte: overall_score (1-10), issues[] mit Schweregrad + Korrekturvorschlägen, positive_observations[], refactor_priority


generate_changelog

Generiert ein Changelog zwischen zwei Git-Refs aus der Commit-Historie.

Parameter:

Name

Typ

Erforderlich

Beschreibung

owner

string

ja

Repository-Besitzer

repo

string

ja

Repository-Name

from_ref

string

ja

Basis-Ref (Tag, SHA, Branch)

to_ref

string

ja

Ziel-Ref

format

string

nein

markdown (Standard), json, plain

group_by

string

nein

type (Standard), author, date

include_authors

boolean

nein

Autorennamen einbeziehen (Standard: true)

Rückgabewerte: changelog string, commit_count, stats pro Kategorie, breaking_changes[]


audit_dependencies

Prüft Projektabhängigkeiten gegen die OSV-Schwachstellendatenbank.

Parameter:

Name

Typ

Erforderlich

Beschreibung

owner

string

ja

Repository-Besitzer

repo

string

ja

Repository-Name

ecosystem

string

ja

npm, pypi oder auto

severity_threshold

string

nein

Mindest-Schweregrad für Berichte: low (Standard), moderate, high, critical

Rückgabewerte: vulnerabilities[] mit CVE-IDs, Fix-Versionen und Fix-Befehlen; audit_passed, stats pro Schweregrad, osv_query_timestamp


summarize_commits

Fasst aktuelle Commits auf einem Branch zu einer menschenlesbaren Zusammenfassung zusammen.

Parameter:

Name

Typ

Erforderlich

Beschreibung

owner

string

ja

Repository-Besitzer

repo

string

ja

Repository-Name

branch

string

nein

Branch-Name (Standard: Repo-Standard)

since

string

nein

ISO-Datum oder relativ (7d, 24h, 2w, 1m)

limit

number

nein

Maximale Anzahl an Commits (Standard: 50)

output_style

string

nein

digest (Standard), standup, detailed

Rückgabewerte: summary string, categories (features/fixes/docs/refactors/chores/other), authors[], commit_count


suggest_refactor

Analysiert Code auf Refactoring-Möglichkeiten, sortiert nach dem Verhältnis von Aufwand zu Nutzen.

Parameter:

Name

Typ

Erforderlich

Beschreibung

code

string

ja

Zu analysierender Quellcode

language

string

ja

Programmiersprache

goals

string[]

nein

Fokusbereiche: readability, performance, testability, maintainability

Rückgabewerte: suggestions[] mit Begründung und Aufwandsschätzungen, priority_order[], original_complexity_score

Entwicklung

# 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

Projektstruktur

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

Teststrategie

  • Unit-Tests: jeder Tool-Handler und jede Bibliothek mit vi.mock gemockt

  • Integrationstests: vollständiger MCP-Client↔Server-Roundtrip über InMemoryTransport, HTTP abgefangen mit MSW

  • HTTP-Mocking: MSW v2 (msw/node) – keine echten Netzwerkaufrufe in Tests

  • Abdeckung: ≥80% Zweigabdeckung erforderlich (npm run test:coverage)

Mitwirken

  1. Forken Sie das Repository

  2. Erstellen Sie einen Feature-Branch

  3. Fügen Sie Tests für neues Verhalten hinzu

  4. Stellen Sie sicher, dass npm run build && npm run test:coverage && npm run lint erfolgreich durchlaufen

  5. Öffnen Sie einen Pull Request

Lizenz

MIT

Related MCP Connectors

Related MCP Servers