This release is a pre-release and may not be stable for production use.
DevNarrate
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
- Ask your AI assistant: "Create a PR to main from my current branch"
- Choose a template if you have custom ones in
.devnarrate/pr-templates/ - Review the generated PR description and approve to let DevNarrate call
ghorglab
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
Metadata
Release files for devnarrate 0.1.0a7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| devnarrate-0.1.0a7.tar.gz | 97.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devnarrate-0.1.0a7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 123.0 kB
Release files / devnarrate-0.1.0a7.tar.gz
| Download URL | devnarrate-0.1.0a7.tar.gz |
|---|---|
| Size | 97.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
385068b097dc27015a99ac99ff870a936c535469da3d26b9c5492a6894f71772
|
|
BLAKE2b-256 checksum How to use checksums |
47a27090d7e9515d0e11dd9540beb497b6c0b8c756d922c65f39cd1932bdd719
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.
Transparency logRelease files / devnarrate-0.1.0a7-py3-none-any.whl
| Download URL | devnarrate-0.1.0a7-py3-none-any.whl |
|---|---|
| Size | 25.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba189582405d25220fa635c82b613bf172b35e50c841dcf565ff3920cfb42dbb
|
|
BLAKE2b-256 checksum How to use checksums |
2d384bbc75b214083c8cb3364abb2ff08eb9b1db352d047bd31ca5230c4b09d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.
Transparency logSecurity for devnarrate 0.1.0a7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for devnarrate-0.1.0a7.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.