Skip to main content
Glama

mcp-dev-workflow

npm license

An MCP server that gives AI assistants (Claude, Cursor, …) a set of deterministic, convention-enforcing tools to standardize the development workflow from issue to pull request.

These are the kind of tools an assistant calls to do something precise — generate a branch name, validate a commit, draft a PR body — rather than free-form generation. Same input, same output, every time.

Public, runnable distillation of an AI-agent workflow I built to automate the Jira issue → PR lifecycle.


Tools

Tool

What it does

branch_name

Turn { type, id, title } into a convention-following git branch name.

commit_message

Validate & normalize a Conventional Commit; returns { valid, normalized, errors, warnings, parsed }.

pr_checklist

Turn a list of commits (and optional changed files) into a Markdown PR body: summary, changes grouped by type, and a checklist.

Every tool exposes a JSON Schema for both its input and its output (structured content), so capable clients get typed results, not just text.


Related MCP server: DevFlow MCP Server

Install

The server runs over stdio and needs no install — point your MCP client at it via npx.

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "dev-workflow": {
      "command": "npx",
      "args": ["-y", "@sergiorodas/mcp-dev-workflow"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "dev-workflow": {
      "command": "npx",
      "args": ["-y", "@sergiorodas/mcp-dev-workflow"]
    }
  }
}

Restart the client and the three tools appear. Requires Node 18+.


Tool reference

branch_name

Generate a git branch name from a change type, ticket id and title.

Param

Type

Default

Notes

type

enum

—

feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert

id

string

—

Ticket id, e.g. ABC-123. Case preserved.

title

string

—

Short title, slugified (lowercased, accents stripped).

separator

string

-

Joins id and slug, and words within the slug.

maxLength

number

—

Optional cap; the slug is truncated to fit.

// in:  { "type": "feat", "id": "ABC-123", "title": "Add login" }
// out: "feat/ABC-123-add-login"

commit_message

Validate and normalize a Conventional Commit (type(scope): subject).

Param

Type

Default

Notes

message

string

—

Commit message; the first line is the header.

allowedTypes

string[]

the 11 types above

Override the accepted types.

maxSubjectLength

number

72

Max subject length.

requireScope

boolean

false

Make (scope) mandatory.

Checks the header format, the type, subject length, a trailing period, and hints at non-imperative mood. Returns { valid, normalized, errors, warnings, parsed }.

// in:  { "message": "feat(auth): added login." }
// out: {
//   "valid": true,
//   "normalized": "feat(auth): added login",
//   "warnings": [
//     "Subject should not end with a period.",
//     "Use the imperative mood in the subject (e.g. 'add' instead of 'added'/'adds')."
//   ],
//   "parsed": { "type": "feat", "scope": "auth", "breaking": false, "subject": "added login" }
// }

pr_checklist

Build a Markdown PR body from a list of commits.

Param

Type

Default

Notes

commits

string[]

—

Commit messages (or just their headers).

changedFiles

string[]

[]

Optional file list to include.

title

string

—

Optional # Heading.

Groups commits by conventional type, detects breaking changes (! or a BREAKING CHANGE: footer), and emits a tests/docs/breaking-changes checklist.

## Summary

<!-- Describe what this PR does and why. -->

2 commits across 2 areas.

## Changes

### Features
- add login **(auth)**

### Fixes
- handle null user

## Checklist

- [ ] Tests added or updated
- [ ] Documentation updated
- [x] No breaking changes
- [ ] Self-reviewed the diff

Development

This project dogfoods the conventions it preaches.

npm install
npm run dev        # run the server from source (tsx)
npm run typecheck  # tsc --noEmit
npm test           # vitest
npm run build      # tsup -> dist/

Architecture: pure logic lives in src/lib/ as plain, unit-tested functions with no MCP coupling; src/tools/ wraps each one in an MCP tool definition with a zod schema; src/index.ts registers them on the stdio server.


License

MIT © Sergio Rodas

Available Tools

3 tools
branch_nameBranch nameA

Generate a convention-following git branch name from a change type, ticket id and title. Example: {type:'feat', id:'ABC-123', title:'Add login'} => feat/ABC-123-add-login.

Inputs: id (required), type (required), title (required), maxLength, +1 more. Returns: id, slug, type, branch

commit_messageCommit messageA

Validate and normalize a Conventional Commit message (type(scope): subject). Returns { valid, normalized, errors, warnings, parsed } and flags type, length and imperative-mood issues.

Inputs: message (required), allowedTypes, requireScope, maxSubjectLength. Returns: valid, errors, parsed, warnings, +1 more

pr_checklistPR checklistA

Build a Markdown pull-request body from a list of commits (and optional changed files): a summary, a change list grouped by conventional type, and a checklist (tests, docs, breaking changes).

Inputs: commits (required), title, changedFiles. Returns: body, breaking

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool targets a distinct stage of the development workflow: branch name generation, commit message validation/normalization, and PR checklist construction. There is no overlap in purpose, so an agent can easily select the right tool based on the task.

    Naming Consistency5/5

    All tool names follow the same lowercase_with_underscore pattern and are noun phrases indicating the artifact they handle: branch_name, commit_message, pr_checklist. This consistent convention makes the API predictable and easy to navigate.

    Tool Count5/5

    With only three tools, the server is tightly scoped to a specific development workflow without unnecessary clutter. Each tool serves a clear, non-redundant purpose within that scope, making the count appropriate for the server's stated function.

    Completeness4/5

    The tools cover the essential lifecycle of a conventional development workflow: creating a branch, validating commit messages, and assembling a pull request. A minor gap is the lack of a tool to generate a commit message from a diff, but the validation tool provides sufficient coverage for enforcing conventions.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A production-ready MCP server that provides AI assistants with comprehensive GitHub developer tooling including PR analysis, code review, changelog generation, dependency auditing, commit summarization, and refactoring suggestions.
      7 npm
      ISC
    • A
      license
      B
      quality
      B
      maintenance
      MCP server that integrates DevFlow with AI code assistants to enforce structured development workflows including planning, task tracking, and code review gates.
      65
      33 npm
      1
      MIT