Skip to main content

vibeDazi MCP server for team-shared vibe logs with git context

Project description

vibeDazi MCP Server

vibeDazi Banner

中文文档 README_CH.md

Team-shared MCP logging with git user/branch/diffs and prompt context.

Install

./install-vibedazi.sh

Run

vibedazi-mcp

VSCode MCP

Create .vscode/mcp.json:

{
  "servers": {
    "vibedazi": {
      "type": "stdio",
      "command": "vibedazi-mcp"
    }
  }
}

Cursor MCP

Create or update ~/.cursor/mcp.json:

{
  "mcpServers": {
    "vibedazi": {
      "type": "stdio",
      "command": "/absolute/path/to/your/.venv-vibedazi/bin/vibedazi-mcp"
    }
  }
}

Tip: running ./install-vibedazi.sh will create the venv, install the package, and write this file for you using the correct absolute path.

Project policy

The installer writes a root-level rule.md with the policy. Load it into your project prompt (or leave it for teammates to read).

AI Squash Merge tool

This MCP exposes a helper to attribute AI work without cluttering history.

  • Tool: ai_squash_merge
  • Flow: creates ai/<timestamp>-<hint> branch, commits current changes with AI author, switches back, and git merge --squash into your base branch. Optionally deletes the AI branch.

When To Call

  • After you’ve finished an AI-assisted change and validated it (tests/build pass).
  • Call it right before your final log_round (so log_round remains last).
  • Goal: attribute the work to the AI author without interrupting your development flow.

How To Call

  • In Cursor/VSCode MCP Tools: run vibedazi.ai_squash_merge with the params below.
  • Or from Python while your venv is active.

Parameters (common)

  • branch_hint: optional suffix in branch name
  • model_name: label like GPT-5, Claude, o3 (no default; pass explicitly to attribute the right model)
  • author_name, author_email: optional overrides for AI identity (if omitted, inferred from model_name)
  • base_branch: target branch (defaults to current)
  • include_untracked: stage new files too (default true)
  • paths: restrict staged paths
  • co_author_trailer: add Co-authored-by trailer on squash commit (default true)
  • delete_ai_branch: delete the AI branch after squash (default false)
  • set_committer_to_ai: set committer to AI on the AI branch commit (default false)
  • auto_stash: try stashing if branch creation would overwrite files (default false)

Recommended Usage

  • Keep your development on main (or your feature branch). Let the tool branch and return automatically.
  • Pass paths to commit only source files (avoid .vibe-dazi/**, __pycache__, *.egg-info).
  • Set delete_ai_branch=true to avoid branch clutter unless you want to inspect the AI-only commit later.

Expected Result

  • Seamless flow: the tool creates a temporary ai/<timestamp>-<hint> branch, makes a single AI-authored commit, switches back to your base branch, and merges it with --squash to keep history clean.
  • Clear attribution:
    • The AI branch commit uses the AI as author (e.g. GPT-5 <noreply@openai.com>).
    • The squash commit includes Co-authored-by and Squashed-from trailers to preserve provenance.
  • Uninterrupted development: you remain on your original branch the whole time.
  • Auto-cleanup: temporary AI branches are deleted by default (delete_ai_branch=true).

Notes

  • If the repository has no commits yet, the tool creates an AI commit on the AI branch and skips the squash (no base to merge into). Make an initial commit and run again to squash.
  • On conflict during squash, it returns status: conflict so you can resolve and commit manually.

Examples

  • Minimal (auto-detect base branch):
    • ai_squash_merge(branch_hint="refactor", model_name="Claude")
  • Commit only code paths and delete the AI branch after:
    • ai_squash_merge(branch_hint="bugfix-xyz", paths=["vibeDazi/src/..."], delete_ai_branch=True)
  • If branch creation complains about overwriting files:
    • ai_squash_merge(branch_hint="feature-a", auto_stash=True)

Configuration

You can control defaults and logging behavior via .vibe-dazi/config.json at the repo root (created by the installer). Example:

{
  "log": {
    "ignore_paths": [
      ".vibe-dazi/rounds/**",
      "**/__pycache__/**",
      "**/*.egg-info/**"
    ],
    "max_events": 200,
    "per_file_diff_max_bytes": 120000,
    "snapshot_max_bytes": 240000,
    "snapshot_enabled": true,
    "include_commits_since_last": true
  },
  "ai_squash_merge": {
    "model_name": null,
    "author_name": null,
    "author_email": null,
    "base_branch": null,
    "include_untracked": true,
    "co_author_trailer": true,
    "delete_ai_branch": true,
    "set_committer_to_ai": false,
    "auto_stash": false
  }
}

Notes:

  • Change ai_squash_merge.delete_ai_branch to false if you want to keep AI branches around.
  • Add patterns to log.ignore_paths to exclude more files from diffs/snapshots.
  • per_file_diff_max_bytes and snapshot_max_bytes cap the diff sizes to keep JSON outputs manageable.

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

vibedazi_mcp-0.2.1.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

vibedazi_mcp-0.2.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file vibedazi_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: vibedazi_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for vibedazi_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a4e5b7ecf06926d646be0657006dbf2740e76b1546184ea70f5653597732c4f4
MD5 6c313fba5900f1cb5dd1ff2f01b87cbb
BLAKE2b-256 8dead03a49c8d80cd6122d8b8833a3ed7c112c827aad835822a1a9304b43c524

See more details on using hashes here.

File details

Details for the file vibedazi_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: vibedazi_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for vibedazi_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cc96d4ed996acc71227ae99210bf8fa8e9192561960c1a300b127c34ac23c383
MD5 c163954c9876da86748a927f9d3ad059
BLAKE2b-256 213b56d3e4b03e259e967397b52e621b2aae15105ee66809fdbf63c386660abd

See more details on using hashes here.

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