Skip to main content

MCP server for developer workflow automation — smart commits, secret scanning, PR descriptions, and more.

Project description

DevNarrate

GitHub Repo Release

MCP server for developer workflow automation — smart commits, secret scanning, PR descriptions, and more.

Features

  • Change Review — understand AI-generated code changes before committing with narrative summaries, goal alignment, and attention guides
  • Smart Commit Messages with user approval
  • Secret Scanning — detect API keys, tokens, passwords, and private keys before they reach your repo (25+ detectors via detect-secrets)
  • 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 your AI assistant:

Generate a commit message for my changes

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

Change Review

After an AI assistant makes changes, ask it to review them before committing. DevNarrate presents a layered summary: narrative overview, goal grouping (known, inferred, unrecognized), and an attention guide highlighting what needs human review.

Secret Scanning

Secret scanning runs automatically when you ask for a commit message. DevNarrate scans staged diffs for API keys, tokens, passwords, and private keys. If secrets are found, you're warned before committing. Suppress false positives with an inline # pragma: allowlist secret comment.

PR Descriptions

  1. Ask your AI assistant: "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

Configuration

DevNarrate ships a fully commented .devnarrate/config.toml with all available settings and their defaults. Copy it into your repo and edit the values you care about — every option is documented inline.

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.0a7.tar.gz (97.5 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.0a7-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: devnarrate-0.1.0a7.tar.gz
  • Upload date:
  • Size: 97.5 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.0a7.tar.gz
Algorithm Hash digest
SHA256 385068b097dc27015a99ac99ff870a936c535469da3d26b9c5492a6894f71772
MD5 5fcfb2d5738605415408e484551e7b57
BLAKE2b-256 47a27090d7e9515d0e11dd9540beb497b6c0b8c756d922c65f39cd1932bdd719

See more details on using hashes here.

Provenance

The following attestation bundles were made for devnarrate-0.1.0a7.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.0a7-py3-none-any.whl.

File metadata

  • Download URL: devnarrate-0.1.0a7-py3-none-any.whl
  • Upload date:
  • Size: 25.4 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.0a7-py3-none-any.whl
Algorithm Hash digest
SHA256 ba189582405d25220fa635c82b613bf172b35e50c841dcf565ff3920cfb42dbb
MD5 93555de4ec237b12071019afb9a02110
BLAKE2b-256 2d384bbc75b214083c8cb3364abb2ff08eb9b1db352d047bd31ca5230c4b09d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for devnarrate-0.1.0a7-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