rivets-mcp
MCP (Model Context Protocol) server for the Rivets issue tracking system. Enables AI assistants like Claude to manage issues directly through a standardized protocol.
Features
- 10 MCP tools for complete issue management
- Multi-workspace support - work with multiple projects in one session
- Stdio transport - works with any MCP-compatible client
- Structured tracing - debug with
RUST_LOG=debug
Installation
From source
Build locally
Binary will be at target/release/rivets-mcp.
Usage
With Claude Code
Add to your Claude Code MCP configuration (~/.config/claude-code/mcp.json or project .claude/mcp.json):
Or with an absolute path:
Manual testing
# Run the server (communicates via stdin/stdout)
# With debug logging (logs go to stderr)
RUST_LOG=debug
Available Tools
Context Management
| Tool | Description |
|---|---|
set_context |
Set workspace root directory (call first!) |
where_am_i |
Show current workspace and database path |
Query Tools
| Tool | Description |
|---|---|
ready |
Find tasks with no blockers, ready to work on |
list |
List issues with optional filters (status, priority, type, assignee, label) |
show |
Show detailed information about a specific issue |
blocked |
Get blocked issues and what's blocking them |
Modification Tools
| Tool | Description |
|---|---|
create |
Create a new issue (bug, feature, task, epic, chore) |
update |
Update an existing issue's fields |
close |
Close/complete an issue |
dep |
Add a dependency between issues |
Tool Parameters
set_context
list
create
update
dep
Workspace Parameter
Most tools accept an optional workspace_root parameter. This enables:
- Multi-workspace workflows: Switch between projects without calling
set_context - Explicit targeting: Specify exactly which project to query/modify
- Fallback behavior: If omitted, uses the current context set via
set_context
Debugging
Enable debug logging:
RUST_LOG=debug
Log levels:
error- Only errorswarn- Warnings and errorsinfo- Server start/stop (default)debug- Tool calls and operationstrace- Detailed internal operations
Logs are written to stderr (stdout is reserved for MCP protocol).
Example Workflow
-
Set context to your project:
set_context(workspace_root: "/home/user/myproject") -
Find ready work:
ready(limit: 5, priority: 1) -
Claim a task:
update(issue_id: "rivets-abc", status: "in_progress", assignee: "me") -
Complete the task:
close(issue_id: "rivets-abc", reason: "Implemented in PR #42")
Requirements
- A
.rivets/directory in your project (created byrivets init) - Issues stored in
.rivets/issues.jsonl
License
Apache-2.0 (same as rivets)