The bridge between your checkpoints and your AI tools
@keepgoingdev/mcp-server is a
Model Context Protocol server
that exposes your KeepGoing session data to AI assistants like Claude Code and GitHub Copilot.
It reads and writes to the local .keepgoing/ directory
and communicates via stdio transport. No cloud, no network calls (except license activation).
Installation
No install needed. Use npx to run it directly:
npx -y @keepgoingdev/mcp-server Or install globally:
npm install -g @keepgoingdev/mcp-server Tools
The MCP server registers the following tools that AI assistants can call.
get_momentum
Get current developer momentum: last checkpoint, next step, blockers, and branch context. Use this to understand where the developer left off.
Parameters: None
Example response:
## Developer Momentum
**Last checkpoint:** 3 days ago
**Summary:** Refactor middleware to support JWT rotation
**Next step:** Implement the verifyRefreshToken helper
**Current branch:** feature/auth-refresh
**Files touched (4):** auth.ts, middleware.ts, routes/token.ts, tests/auth.test.ts get_session_history
Get recent session checkpoints. Returns a chronological list of what the developer worked on.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
limit | number | 5 | Number of recent sessions to return (1-50) |
branch | string | auto | Filter to a specific branch, or "all" for all branches. Auto-detected from worktree context by default. |
Example response:
## Session History (last 3)
### 3 days ago
- **Summary:** Refactor middleware to support JWT rotation
- **Next step:** Implement verifyRefreshToken helper
- **Branch:** feature/auth-refresh
- **Files:** auth.ts, middleware.ts, routes/token.ts
### 1 week ago
- **Summary:** Setup database schema for users
- **Branch:** feature/auth-refresh
### 2 weeks ago
- **Summary:** Initialize project and CI pipeline
- **Branch:** main get_reentry_briefing
Get a synthesized re-entry briefing that helps a developer understand where they left off. Combines session data, recent commits, and touched files into a structured briefing.
Parameters: None
Example response:
## Re-entry Briefing
**Last worked:** 3 days ago
**Current focus:** Auth refresh token implementation
**Recent activity:** Modified auth and middleware files
**Suggested next:** Implement the verifyRefreshToken helper
**Quick start:** Open auth.ts and add the verifyRefreshToken function save_checkpoint
Save a development checkpoint. Call this after completing a task or meaningful piece of work, not just at end of session. Each checkpoint helps the next session (or developer) pick up exactly where you left off.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
summary | string | Yes | What was accomplished in this session |
nextStep | string | No | What to do next |
blocker | string | No | Any blocker preventing progress |
Example response:
Checkpoint saved.
- **ID:** a1b2c3d4-...
- **Branch:** feature/auth-refresh
- **Files tracked:** 4
- **Commits captured:** 2 get_decisions Pro
Get recent decision records. Returns detected high-signal commits with their category, confidence, and rationale.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
limit | number | 10 | Number of recent decisions to return (1-50) |
branch | string | auto | Filter to a specific branch, or "all" for all branches. Auto-detected from worktree context by default. |
Example response:
## Decisions (last 2, branch feature/auth-refresh)
### Migrate from express-session to JWT
- **When:** 3 days ago
- **Category:** dependency-change
- **Confidence:** 85%
- **Branch:** feature/auth-refresh
- **Signals:** package.json modified; added new auth library get_current_task Pro
Get the current live session task. Shows what the AI agent is currently doing, last file edited, and next step. Useful for multi-agent coordination and session awareness.
Parameters: None
Example response:
## Live Session [Active]
- **Updated:** just now
- **Branch:** feature/auth-refresh
- **Doing:** Edit auth.ts
- **Last file:** src/auth.ts
- **Next step:** Add verifyRefreshToken function activate_license
Activate a KeepGoing Pro license on this device. Unlocks add-ons like Decision Detection and Session Awareness.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
license_key | string | Yes | Your KeepGoing Pro license key |
deactivate_license
Deactivate the KeepGoing Pro license on this device. Frees the activation slot for use on another machine.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
license_key | string | No | Specific license key to deactivate. If omitted and only one license is active, deactivates it automatically. |
Prompts
Prompts are pre-built workflows that combine multiple tools into a single command.
In Claude Code, they appear as slash commands (e.g. /keepgoing:reentry).
resume
Instructs the AI to call get_momentum and
get_reentry_briefing, then synthesize a concise summary of where you left off and suggest what to work on next.
decisions
Instructs the AI to call get_decisions and
get_momentum, then summarize recent architectural decisions, highlighting any on the current branch.
progress
Instructs the AI to call get_session_history (with a higher limit) and
get_momentum, then synthesize a progress summary grouped by branch or feature. Formatted for standup or sprint review use.
CLI usage
The MCP server includes CLI flags for one-shot operations without starting the full server. These are used by session hooks (e.g., Claude Code SessionStart and Stop hooks).
--print-momentum
Print the last checkpoint summary and exit. Used by the SessionStart hook to show momentum context when opening a project.
keepgoing momentum --hook Example output:
[KeepGoing] Last checkpoint: 3 days ago
Summary: Refactor middleware to support JWT rotation
Next step: Implement the verifyRefreshToken helper
Branch: feature/auth-refresh
Worked on 4 files on feature/auth-refresh
Tip: Use the get_reentry_briefing tool for a full briefing --save-checkpoint
Auto-save a checkpoint from git activity and exit. Used by the Stop hook as a safety net, capturing work if no explicit checkpoint was saved during the session. Skips if a checkpoint was written within the last 2 minutes or if there are no new files or commits to capture.
keepgoing save --hook --update-task-from-hook Pro
Update the current task from a PostToolUse hook. Reads hook payload from stdin to track which files the agent is editing in real time.
keepgoing task-update --hook --print-current Pro
Print the current live task status and exit. Shows what the agent is working on right now.
npx -y @keepgoingdev/mcp-server --print-current --update-task Pro
Update the current task with a JSON payload passed as the next argument. Used for programmatic task updates.
npx -y @keepgoingdev/mcp-server --update-task '{"taskSummary":"Working on auth"}' All CLI flags accept an optional workspace path as an argument (defaults to current directory).
Integration guides
Claude Code
Global (recommended, works across all projects):
claude mcp add keepgoing --scope user -- npx -y @keepgoingdev/mcp-server Per-project (scoped to one project):
claude mcp add keepgoing --scope project -- npx -y @keepgoingdev/mcp-server
Then run keepgoing setup claude to configure hooks and rules.
Full setup guide
VS Code / GitHub Copilot
Quick install via deep link:
Or add manually via .vscode/mcp.json:
{
"servers": {
"keepgoing": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@keepgoingdev/mcp-server"
]
}
}
} Cursor
Quick install via deep link:
Or add manually to ~/.cursor/mcp.json:
{
"mcpServers": {
"keepgoing": {
"command": "npx",
"args": [
"-y",
"@keepgoingdev/mcp-server"
],
"type": "stdio"
}
}
} Windsurf
Add to ~/.codeium/windsurf/mcp_config.json and restart Windsurf:
{
"mcpServers": {
"keepgoing": {
"command": "npx",
"args": [
"-y",
"@keepgoingdev/mcp-server"
],
"type": "stdio"
}
}
} Generic MCP host
For any MCP-compatible host, configure a stdio server with the command:
npx -y @keepgoingdev/mcp-server [workspace-path] If no workspace path is provided, the server uses the current working directory.
Data directory
All session data lives in .keepgoing/ at the root of your project.
The MCP server reads and writes to this directory. If you also use the VS Code extension, both share the same data.
.keepgoing/
meta.json # Project identity (ID, timestamps)
sessions.json # All session checkpoints
state.json # Current state (last session, branch, focus)
decisions.json # Detected high-signal decisions (Pro)
current-tasks.json # Live session task status (Pro) meta.json contains the project ID and creation/update timestamps.
sessions.json stores all checkpoints, each with a summary, next step, optional blocker, git branch, touched files, and commit hashes.
state.json tracks the current state for quick access: last session ID, last known branch, last activity time, and an optional derived focus.
decisions.json stores detected architectural decisions with classification category, confidence score, and rationale. Written when commits match high-signal patterns. Requires a Decision Detection license.
current-tasks.json tracks what AI agents are currently working on in real time. Updated by the PostToolUse hook and cleared when a session ends. Supports multiple concurrent sessions. Requires a Session Awareness license.
Get started
Pick your AI tool and register the MCP server in under a minute.