mcpField
U
udacity-commit

udacity-commit

Local
github.com/qwertymuzaffarVersion Control0Updated 7w ago

About udacity-commit

udacity-commit is an MCP server for checking and formatting Git commit messages against the Udacity Git Commit Message Style Guide. It also validates branch names using the companion convention and provides both rule sets as resources.

Key features

  1. 01Validate commit messages
  2. 02Format compliant commit messages
  3. 03Validate branch names
  4. 04Expose commit and branch rules as resources

Use cases

  1. 01Check a commit message before committing
  2. 02Build a message from its type and subject
  3. 03Verify feature branch naming

MCP support

The MCP server exposes tools for commit validation, formatting, and branch-name validation, plus resources containing the commit and branch conventions.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"qwertymuzaffar-udacity-commit": {
"command": "npx",
"args": [
"-y",
"mcp-udacity-commit"
]
}
}
}
Run commandnpx -y mcp-udacity-commit

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp-udacity-commit1.2.2

Tools

3

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
messagestringYesThe full commit message to check

Details

From the project README

mcp-udacity-commit

npm version npm downloads License: MIT MCP

An MCP server that validates and formats git commit messages according to the Udacity Git Commit Message Style Guide.

Install

One line — paste it into your terminal:

claude mcp add udacity-commit -- npx -y mcp-udacity-commit

For Claude Desktop, add to claude_desktop_config.json:

{
  "mcpServers": {
    "udacity-commit": {
      "command": "npx",
      "args": ["-y", "mcp-udacity-commit"]
    }
  }
}
Install from source
git clone https://github.com/qwertymuzaffar/mcp-udacity-commit
cd mcp-udacity-commit
npm install
npm run build
claude mcp add udacity-commit -- node "$(pwd)/build/index.js"

What it exposes

PrimitiveNamePurpose
Resourceudacity://commit-styleguideThe style-guide rules, as markdown
Resourceudacity://branch-namingThe companion type/kebab-case branch-naming rules, as markdown
Toolvalidate_commit_messageChecks a message against every rule (type, ≤50-char subject, capitalization, no trailing period, blank line, ≤72-char body wrap)
Toolformat_commit_messageBuilds a compliant message from type + subject + optional body/footer
Toolvalidate_branch_nameChecks a branch name against the companion type/kebab-case convention (e.g. feat/add-dark-mode); release/* is a typed branch with a version-style description (release/1.2.0), and base branches like main are exempt

Example

format_commit_message turns loose parts into a compliant commit:

in:  type=fix  subject="prevent duplicate auth token refresh."
     body="The refresh timer could fire twice under load, minting two tokens…"
     footer="Resolves: #142"

out:
fix: Prevent duplicate auth token refresh

The refresh timer could fire twice under load, minting two tokens and
logging the user out. Serialize refreshes behind a single in-flight
promise so concurrent callers await the same request.

Resolves: #142

validate_commit_message flags every violation:

"Fixed the login bug."  →  ❌ Not compliant.
  • Subject must follow "type: Subject".
  • Subject must not end with a period.

validate_branch_name enforces the companion type/kebab-case convention:

"feat/add-dark-mode"     →  ✅ Compliant branch name.
"release/1.2.0"          →  ✅ Compliant branch name.
"Feature/Add_Dark_Mode"  →  ❌ Not compliant.
  • Unknown type "Feature". Use one of: feat, fix, docs, style, refactor, test, chore, release.
  • Description must be lowercase kebab-case. Got: "Add_Dark_Mode".
"main"                   →  ✅ (base branch — feature-branch rules don't apply)

Develop

npm install
npm run build          # → build/index.js
npm run test:client    # spawns the server and exercises the tools

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.