Skip to main content

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

Project description

DevNarrate

GitHub Repo Release

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

Features

  • Smart Commit Messages with user approval
  • PR Descriptions driven by customizable templates
  • GitHub & GitLab support for PR flows
  • Token-aware diff handling with automatic pagination
  • Safety-first workflow by requiring staged changes

Installation (PyPI)

pip install devnarrate

# Install pre-release builds
pip install --pre devnarrate

Register the MCP server

Use the Python interpreter from the environment where you ran pip install (e.g. /path/to/venv/bin/python). Capture it once and reuse:

PYTHON_BIN=$(python -c 'import sys; print(sys.executable)')

# Claude Code (global scope)
claude mcp add --scope user DevNarrate -- "$PYTHON_BIN" -m devnarrate.server

# Claude Code (project scope)
claude mcp add DevNarrate -- "$PYTHON_BIN" -m devnarrate.server
  • Cursor (~/.cursor/mcp.json):
{
  "mcpServers": {
    "DevNarrate": {
      "command": "/path/to/venv/bin/python",
      "args": ["-m", "devnarrate.server"]
    }
  }
}

Restart Cursor after editing the config.

Usage

Commit Messages

DevNarrate works entirely off staged changes:

git add <file1> <file2>
# stage everything tracked:
git add -u

Then ask Claude (or Cursor):

Generate a commit message for my changes

DevNarrate summarizes the diff, proposes a conventional commit, and waits for approval before committing.

PR Descriptions

  1. Ask Claude: "Create a PR to main from my current branch"
  2. Choose a template if you have custom ones in .devnarrate/pr-templates/
  3. Review the generated PR description and approve to let DevNarrate call gh or glab

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

## Summary
[What does this PR do?]

## Changes
-
-

## Testing
[How to test]

## Related Issues
[Links]

If no custom template exists, DevNarrate uses a sensible default.

Platform Requirements

  • Commits: only needs git
  • GitHub PRs: install gh and run gh auth login
  • GitLab PRs: install glab and run glab auth login

Links

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.0a3.tar.gz (61.9 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.0a3-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: devnarrate-0.1.0a3.tar.gz
  • Upload date:
  • Size: 61.9 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.0a3.tar.gz
Algorithm Hash digest
SHA256 3ad23ece0cf44f162a29d3577c31ac618e1575172da57b959f19bd456cf0a892
MD5 663675c6d07f48204bb0c61faba1b0ed
BLAKE2b-256 5c138785b1a3a1551cce934dfbbfcec50520f8a370691e906f012625c47a424c

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on kmandana/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.0a3-py3-none-any.whl.

File metadata

  • Download URL: devnarrate-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 393a176c1759efb7b66a659ff3bb2c42aa5a50b618b59e08c7f79fa0bacf6dd2
MD5 8e9c129e8afdbdd3102d4d2003c149ed
BLAKE2b-256 64dd603e4057b45c2dfba77beaf075d137730288cfb5bb587d85ea347cdf16be

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on kmandana/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