mcp-udacity-commit

mcp-udacity-commit

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

Category
Visit Server

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"]
    }
  }
}

<details> <summary>Install from source</summary>

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"

</details>

What it exposes

Primitive Name Purpose
Resource udacity://commit-styleguide The style-guide rules, as markdown
Resource udacity://branch-naming The companion type/kebab-case branch-naming rules, as markdown
Tool validate_commit_message Checks a message against every rule (type, ≤50-char subject, capitalization, no trailing period, blank line, ≤72-char body wrap)
Tool format_commit_message Builds a compliant message from type + subject + optional body/footer
Tool validate_branch_name Checks 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured