Skip to content

ebursztein/sprinty

v0.1.18Apache-2.0

Disciplined sprint MCP with dashboard, artifacts, gates, Git-backed change maps, and changelogs for Claude Code, Codex, and Gemini

Sprinty

npm version

Sprinty is an MCP server for running disciplined coding sprints with AI agents. It gives agents server-minted sprint, subsprint, and item IDs; explicit dependencies; gate evidence; Git-backed change maps; SemVer changelogs; and a local dashboard so humans can watch the work while it happens.

Sprinty dashboard

Install

Sprinty is published to npm as sprinty-mcp. The npm package is the MCP server. Claude and Codex plugin installs are distributed from this Git repository through each client's marketplace system.

Claude Code

MCP-only install:

claude mcp add sprinty -- npx -y sprinty-mcp

Plugin install, with Sprinty skills plus the MCP server:

claude plugin marketplace add ebursztein/sprinty
claude plugin install sprinty@sprinty

The Claude marketplace manifest is .claude-plugin/marketplace.json; the plugin bundle is clients/claude/.

Codex

MCP-only install:

codex mcp add sprinty -- npx -y sprinty-mcp

Plugin install, with Sprinty skills plus the MCP server:

codex plugin marketplace add ebursztein/sprinty
codex plugin add sprinty@sprinty

The Codex marketplace manifest is .agents/plugins/marketplace.json; the plugin bundle is plugins/sprinty/. Codex does not currently use an OpenAI npm plugin package for this flow.

Gemini CLI

Use the MCP server directly from npm:

npx -y sprinty-mcp

The repository also includes a Gemini extension in clients/gemini/ for clients that install local Gemini extensions.

Cursor, VS Code, Kiro, GitHub Copilot, ChatGPT & Codex

Sprinty ships a portable Agent Plugins package at the repository root (plugin.json, mcp.json, skills/), so any conformant client can load the skills and the MCP server without a client-specific bundle. Follow your client's plugin install instructions and point it at this repository.

Claude Code and Gemini CLI are not Agent Plugins clients today; they use the bundles above.

Any MCP Client

Configure a stdio MCP server with:

{
  "command": "npx",
  "args": ["-y", "sprinty-mcp"]
}

Use

Sprinty never guesses the repository from the MCP server process cwd. Start or resume with explicit paths:

sprint_new({ goal, git_dir, data_dir, context_notes? })
sprint_resume({ git_dir, data_dir })

Use a worktree-local, gitignored data_dir, usually <git_dir>/.sprinty. When data_dir is omitted and git_dir is provided, Sprinty uses <git_dir>/.sprinty. sprint_new and sprint_resume return the dashboard URL. Call info({ git_dir }) first for startup orientation and compact sprint rows. Use info({ workspace_dirs: [...] }) when you need to inspect multiple Sprinty data dirs together, then sprint_resume({ git_dir, data_dir }).

Tools

ToolPurpose
infoStartup orientation before binding, including sprint rows, resume/create help, and dashboard state.
sprint_newStart a sprint with explicit git_dir and data_dir; returns orientation and dashboard info.
sprint_resumeReattach this MCP session to an existing sprint.
sprint_detachClear this MCP process binding and stop the dashboard.
sprint_closeRecheck gates, write the canonical changelog, and close after work and coverage are complete.
sprint_archiveArchive an active sprint with a recovery reason.
overviewCompact sprint summary for orientation.
nextCompact active work window with current, next, blocked, relations, notes, and artifacts.
searchRegex search over the immutable sprint ledger.
changelogPreview or export SemVer Markdown; canonical output is automatic at close.
subsprint_newCreate a feature-sized unit of work.
subsprint_listList subsprints with compact item counts.
subsprint_getRead one subsprint and its item rows.
item_addCreate one atomic, gated item with an optional gate timeout.
item_getRead full item detail.
item_updateUpdate item metadata, execution settings, recorded commit, or dependency edges.
item_doneComplete an item with a real commit, gate evidence, and changelog entry.
item_splitResolve an oversized item by creating a seeded subsprint.
item_deprecateDrop an item with an explicit reason, or pass a subsprint id to drop it and its open items.
note_addAttach a note to an item.
note_listList notes for an item.
note_getRead one note.
note_updateUpdate one note.
artifact_addAttach a durable file path to the sprint.
artifact_listList active artifacts.
artifact_getRead one artifact record.
artifact_updateUpdate artifact metadata.
dashboard_infoReport the current dashboard URL and port.
dashboard_restartRestart the dashboard and return the new URL and port.

Release

Publishing is gated by tests. The GitHub Release workflow runs npm ci, npm test, and only then npm publish --access public.

Local checks:

npm test
npm run typecheck

License

Apache-2.0