MCP Server

@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 from the local .keepgoing/ directory (written by the VS Code extension) and communicates via stdio transport. Read-only. No cloud, no network calls.

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 three 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:

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)

Example response:

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:

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

Prompts

resume

A meta-prompt that 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.

CLI usage

The MCP server includes a CLI flag for printing momentum context without starting the full server. This is used by session hooks (e.g., Claude Code SessionStart hook).

--print-momentum

Print the last checkpoint summary and exit. Optionally accepts a workspace path as an argument (defaults to current directory).

npx -y @keepgoingdev/mcp-server --print-momentum

Example output:

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

Integration guides

Claude Code

claude mcp add keepgoing --scope project -- npx -y @keepgoingdev/mcp-server

Full setup guide

GitHub Copilot

.vscode/mcp.json
{
  "servers": {
    "keepgoing": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@keepgoingdev/mcp-server"
      ]
    }
  }
}

Full setup guide

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 only reads from this directory; the VS Code extension writes to it.

.keepgoing/
.keepgoing/
  meta.json        # Project identity (ID, timestamps)
  sessions.json    # All session checkpoints
  state.json       # Current state (last session, branch, focus)

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.