mcp-udacity-commit
Advanced tools
+21
| MIT License | ||
| Copyright (c) 2026 Muzaffar Qosimov | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
+1
-1
@@ -114,3 +114,3 @@ #!/usr/bin/env node | ||
| } | ||
| const server = new McpServer({ name: "udacity-commit", version: "1.0.0" }); | ||
| const server = new McpServer({ name: "udacity-commit", version: "1.0.1" }); | ||
| server.registerResource("styleguide", "udacity://commit-styleguide", { | ||
@@ -117,0 +117,0 @@ title: "Udacity Git Commit Style Guide", |
+1
-1
| { | ||
| "name": "mcp-udacity-commit", | ||
| "version": "1.0.0", | ||
| "version": "1.0.1", | ||
| "description": "MCP server that validates and formats git commit messages per the Udacity Git Commit Message Style Guide.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+46
-20
| # mcp-udacity-commit | ||
| [](https://www.npmjs.com/package/mcp-udacity-commit) | ||
| [](https://www.npmjs.com/package/mcp-udacity-commit) | ||
| [](./LICENSE) | ||
| [](https://modelcontextprotocol.io) | ||
| An [MCP](https://modelcontextprotocol.io) server that validates and formats git | ||
@@ -7,12 +12,6 @@ commit messages according to the | ||
| ## What it exposes | ||
| ## Install | ||
| | Primitive | Name | Purpose | | ||
| | --- | --- | --- | | ||
| | Resource | `udacity://commit-styleguide` | The style-guide 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` | | ||
| One line — paste it into your terminal: | ||
| ## Install (published package) | ||
| ```bash | ||
@@ -35,3 +34,4 @@ claude mcp add udacity-commit -- npx -y mcp-udacity-commit | ||
| ## Install from source | ||
| <details> | ||
| <summary>Install from source</summary> | ||
@@ -46,2 +46,39 @@ ```bash | ||
| </details> | ||
| ## What it exposes | ||
| | Primitive | Name | Purpose | | ||
| | --- | --- | --- | | ||
| | Resource | `udacity://commit-styleguide` | The style-guide 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` | | ||
| ## Example | ||
| `format_commit_message` turns loose parts into a compliant commit: | ||
| ```text | ||
| 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: | ||
| ```text | ||
| "Fixed the login bug." → ❌ Not compliant. | ||
| • Subject must follow "type: Subject". | ||
| • Subject must not end with a period. | ||
| ``` | ||
| ## Develop | ||
@@ -55,15 +92,4 @@ | ||
| ## Publish | ||
| ```bash | ||
| # 1. npm | ||
| npm publish --access public | ||
| # 2. MCP Registry (after npm publish) | ||
| mcp-publisher login github | ||
| mcp-publisher publish | ||
| ``` | ||
| ## License | ||
| MIT |
16315
14.81%6
20%92
39.39%