Skip to main content

MCP server that narrates your code changes, from commits to deployments.

Project description

DevNarrate

MCP server that narrates your code changes, from commits to deployments.

Features

  • Smart Commit Messages: Generate conventional commit messages from staged changes with full user control
  • PR Descriptions: Create detailed pull request descriptions with customizable templates
  • Multi-Platform: Supports GitHub and GitLab
  • Token-Aware: Handles large diffs with automatic pagination
  • Template System: Use custom PR templates or built-in defaults
  • Safety First: Only works with staged changes to prevent accidental commits

Installation

Option 1: Install from PyPI (Recommended)

  1. Install the package:
pip install devnarrate

# Or for pre-release versions:
pip install --pre devnarrate
  1. Configure with Claude Code:
# Add MCP server globally (available in all projects)
claude mcp add --scope user DevNarrate -- python -m devnarrate.server

# Or add for current project only
claude mcp add DevNarrate -- python -m devnarrate.server

# Verify it's connected
claude mcp list
  1. Configure with Cursor:

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "DevNarrate": {
      "command": "python",
      "args": ["-m", "devnarrate.server"]
    }
  }
}

Then restart Cursor.

Option 2: Install from Source (Development)

  1. Prerequisites: Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Clone and setup:
git clone <>
cd DevNarrate
uv sync
  1. Configure with Claude Code:
# Add MCP server globally (available in all projects)
claude mcp add --scope user DevNarrate -- uv --directory /path/to/DevNarrate run python -m devnarrate.server

# Or add for current project only
claude mcp add DevNarrate -- uv --directory /path/to/DevNarrate run python -m devnarrate.server
  1. Configure with Cursor:
{
  "mcpServers": {
    "DevNarrate": {
      "command": "uv",
      "args": ["--directory", "/path/to/DevNarrate", "run", "python", "-m", "devnarrate.server"]
    }
  }
}

Usage

Commit Messages

Important: DevNarrate only works with staged changes to ensure you have full control over what gets committed. This prevents accidental commits of unintended files.

  1. First, stage the files you want to commit:
git add <file1> <file2>
# or for all tracked files with changes:
git add -u
  1. Ask Claude to generate the commit message:
Ask Claude: "Generate a commit message for my changes"
  1. Claude will analyze your staged changes, show you the proposed commit message, and ask for approval before committing.

If you haven't staged any changes, Claude will prompt you to stage them first.

PR Descriptions

  1. Ask Claude: "Create a PR to main from my current branch"
  2. Claude will analyze the diff and ask which template to use (if you have custom templates)
  3. Claude generates the PR description and shows it to you
  4. Review and approve, then Claude creates the PR

PR Templates (Optional)

Create custom templates in .devnarrate/pr-templates/:

mkdir -p .devnarrate/pr-templates

Example template (.devnarrate/pr-templates/feature.md):

## Summary
[What does this PR do?]

## Changes
-
-

## Testing
[How to test]

## Related Issues
[Links]

If no templates exist, a default template will be used.

Platform Support

Commits: Works everywhere (uses git)

PRs: Requires platform CLI:

  • GitHub: Install gh and run gh auth login
  • GitLab: Install glab and run glab auth login

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devnarrate-0.1.0a2.tar.gz (60.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devnarrate-0.1.0a2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file devnarrate-0.1.0a2.tar.gz.

File metadata

  • Download URL: devnarrate-0.1.0a2.tar.gz
  • Upload date:
  • Size: 60.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for devnarrate-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 d5b0f95ef87fc2c0845fd6bf1ca96a0db6e8ab45c4a512c5c526026a17c124fa
MD5 7c8560bc31526ec997e92f3f571e7141
BLAKE2b-256 01c20d9da8379487d77357b11d6049b6d109966f542b920e57f18f9a7ba37a3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for devnarrate-0.1.0a2.tar.gz:

Publisher: publish.yml on krishnamandanapu/DevNarrate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devnarrate-0.1.0a2-py3-none-any.whl.

File metadata

  • Download URL: devnarrate-0.1.0a2-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for devnarrate-0.1.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 30075cb905cf5031d239c0c95f14cdd1c48ca706c6385797def01df30b8cfaa7
MD5 086fb92087501bb8f22e0cda71ff6087
BLAKE2b-256 8bd45962b7ded3dbd71fdf307adf47faa8249d407760b333b48aad8203f20f9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for devnarrate-0.1.0a2-py3-none-any.whl:

Publisher: publish.yml on krishnamandanapu/DevNarrate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page