Prioritizes backlogs using the relative weight method to score, rank, and simulate ticket importance based on benefit, penalty, estimate, and risk.
Also known as sebs/rewelo
- Stars
- 2
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.7.3
- Last commit
- Nov 13, 2026
- License
- MIT
What is rewelo MCP?
rewelo prioritizes backlogs using the relative weight method to score, rank, and simulate ticket importance based on benefit, penalty, estimate, and risk.
Summary generated from the project's README
About rewelo MCP server
Prioritizing product backlogs by calculating the return on investment for every ticket is what Rewelo enables for product managers and engineering teams. By using the relative weight method, the tool scores stories across four dimensions: benefit, penalty, estimate, and risk. This mathematical approach allows users to rank tasks based on their actual value versus the cost and uncertainty involved in implementation.
Developers can run this as a local CLI or a Docker-based MCP server using stdio transport. It utilizes an embedded SQLite database for zero-dependency storage, meaning no external database server is required. The system organizes work through a flexible tag system using prefix and value pairs, such as state or feature groupings, and maintains a full audit log of all changes. This setup allows an AI client to manage projects, update ticket scores, and generate reports directly from the chat interface.
What you can do with it
- 1Rank backlog items by ROICalculate the priority of tickets by dividing the sum of benefit and penalty by the sum of estimate and risk.
- 2Organize work with custom tagsGroup tickets into specific features or states using a flexible tagging system.
- 3Audit ticket history and changesReconstruct the previous state of a ticket or a tag definition using the built-in revision history.
- 4Analyze team velocity and lead timeUse the audit log of tag transitions to calculate how long tasks take to move through different states.
Written from the project's README. Every use case is checked against a quote from it.
How to install rewelo MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall rewelo MCP in Claude Code
$ claude mcp add rewelo -- npx -y reweloInstall rewelo MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"rewelo": {
"command": "npx",
"args": [
"-y",
"rewelo"
]
}
}
}Install rewelo MCP in VS Code
.vscode/mcp.json
{
"servers": {
"rewelo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"rewelo"
]
}
}
}Install rewelo MCP in VS Code CLI
$ code --add-mcp '{"name":"rewelo","type":"stdio","command":"npx","args":["-y","rewelo"]}'Install rewelo MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"rewelo": {
"command": "npx",
"args": [
"-y",
"rewelo"
]
}
}
}Install rewelo MCP in Codex
$ codex mcp add rewelo -- npx -y reweloInstall rewelo MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.rewelo] command = "npx" args = ["-y", "rewelo"]
Install rewelo MCP in Gemini CLI
$ gemini mcp add -s user rewelo npx -- -y reweloInstall rewelo MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"rewelo": {
"command": "npx",
"args": [
"-y",
"rewelo"
]
}
}
}Configuration
RW_DB_PATHThe SQLite database file. Default: relative-weight.db in the working directory
| Name | Description | |
|---|---|---|
| RW_DB_PATH | The SQLite database file. Default: relative-weight.db in the working directory |
Automated checks
Ran Nov 13, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablesebs/rewelo is public and reachablegithub.com/sebs/rewelo ↗Pass
- Package names this repository as its sourcerewelo names sebs/rewelo as sourcenpmjs.com/package/rewelo ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for rewelonpmjs.com/package/rewelo/v/0.7.3#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-06github.com/sebs/rewelo ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from reweloPass
- No critical advisory in the package or its dependencies5 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubRewelo
Warning: This is experimental software. It comes without support and is not intended for production use.
A prioritization tool that uses the relative weight method to rank stories and tickets by different criteria. Built on SQLite (Node's built-in node:sqlite) for embedded, zero-dependency data storage, exposed through a CLI or as a Docker-based MCP server.
How It Works
Each ticket is scored on four dimensions using the agile Fibonacci scale (1, 2, 3, 5, 8, 13, 21):
| Dimension | Measures |
|---|---|
| Benefit | Value gained by implementing the story |
| Penalty | Cost of not implementing the story |
| Estimate | Resources required for implementation |
| Risk | Uncertainty or complexity in implementation |
From these, the tool calculates priority at runtime:
Value = Benefit + Penalty
Cost = Estimate + Risk
Priority = Value / Cost
Higher priority means better return on investment. Relative weights normalize scores across the full backlog or within a tagged subset (e.g. a feature). See calculations.md for the full specification.
Tags
Tickets are organized through a flexible tag system using prefix:value pairs. Tags replace fixed fields for state, feature grouping, and any other classification:
state:backlog,state:wip,state:donefeature:checkout,feature:authteam:platform,priority:critical
Every tag assignment and removal on a ticket is tracked in an audit log, enabling lead time and cycle time calculations from state: tag transitions.
Revision History
The tool maintains full revision history at two levels:
- Ticket revisions -- snapshots of content (title, description, scores) and tags before each change
- Tag revisions -- snapshots of tag definitions (prefix, value) before renames or edits
This means you can reconstruct the exact state of any ticket at any point in time.
Data Model
The database schema is defined in db/create.sql and documented as DBML in db/model.dbml.
projects
+-- tickets (B, P, E, R scores)
| +-- ticket_revisions (content + tag snapshots)
+-- tags (prefix:value pairs)
| +-- tag_revisions
+-- ticket_tags (current assignments)
+-- ticket_tag_changes (audit log: added/removed)
+-- ticket_relations (blocks, depends-on, relates-to)
+-- ticket_deletions (deleted tickets, for project diff)
+-- weight_configs (per-project B/P/E/R weights)
Tech Stack
- SQLite -- embedded database via Node's built-in
node:sqlite, no server and no native modules required - TypeScript -- CLI application and business logic
- Commander.js -- command-line interface
- Docker -- containerized deployment, also usable as an MCP server
CLI Commands
rw project create|list|delete|history|diff
Manage projects, view history and changes
rw ticket create|list|update|upsert|delete|history
Manage tickets and view revision history
rw tag create|assign|remove|delete|list|rename|log
Manage tags and view audit log
rw relation create|remove|list|list-all
Ticket relations (blocks, depends-on, relates-to)
rw config weights View/set/reset per-project B/P/E/R weights
rw calc weights|priority Relative weights and weighted priority calculations
rw export csv|json Export project data
rw import csv|json Import project data
rw report summary|group|distribution|health|times|dashboard|event-log
Reporting, HTML dashboard and event stream
rw serve Start MCP server (stdio transport)
Global options: --db <path>, --json, --csv, --quiet (and --no-color, accepted for compatibility: rw never prints colour)
Multi-Project Support
The tool is designed around projects as the top-level boundary. Tags, tickets, and all calculations are scoped to a project, so multiple teams or products can use the same instance independently.
Releasing a New Version
Four GitHub Actions workflows in .github/workflows/ cover building, releasing and publishing:
| Workflow | Runs on | Does |
|---|---|---|
ci.yml |
pushes and pull requests to main |
Type check, build, test, and a smoke test of the Docker image |
release.yml |
pushing a v* tag |
Checks the tag matches package.json, tests, and creates the GitHub release with the npm tarball, SBOM, OCI image and changelog; pushes the image to ghcr.io/sebs/rewelo |
publish.yml |
manual (with a version) | Publishes that tagged version to npm via trusted publishing, with provenance, then lists it in the MCP Registry as io.github.sebs/rewelo |
pages.yml |
pushes to main |
Builds the website from site/ and the docs, and deploys it to GitHub Pages |
To release:
- Bump the version, which commits it (with
server.json, the MCP Registry entry, set to the same version) and creates the matching tag:
npm version patch # 0.1.0 → 0.1.1 (or minor, major)
- Push the commit and the tag;
release.ymlbuilds the release:
git push --follow-tags
- Publish to npm: run the Publish workflow with the new version (Actions → Publish → Run workflow), or
gh workflow run publish.yml -f version=0.1.1. Once npm shows the version, the workflow lists it in the MCP Registry too (mcp-publisher, logged in with the workflow's GitHub OIDC token, so without a secret). Prereleases such as0.2.0-beta.1are published under thenextdist-tag, and a backport older than the current latest (0.5.2 after 0.6.1) underbackport, sonpm install rewelokeeps getting the newest stable version.
One-time setup: add sebs/rewelo with workflow publish.yml as a trusted publisher of the rewelo package on npmjs.com, and set Settings → Pages → Source to "GitHub Actions".
To run the released image:
# CLI
docker run --rm -v rw-data:/data ghcr.io/sebs/rewelo:latest project list
# MCP server
docker run --rm -i -v rw-data:/data ghcr.io/sebs/rewelo:latest serve
Use a named volume (rw-data) or a bind mount to persist the database across container restarts. Without one, the database stays inside the container and is lost when it is removed (with --read-only it can't be written at all); rw warns about this on stderr.
MCP Server
The CLI doubles as an MCP server over stdio, letting AI assistants manage projects, tickets, tags, and calculations directly. See mcp.md for client configuration, available tools, and troubleshooting.
Examples
See examples.md for step-by-step scenarios, each as a copy-pasteable Claude Code prompt (MCP) and as rw commands with their output: CSV import, dependency mapping, custom weights, quick wins, tracking work, scripting, and sharing and backing up a backlog.
rewelo MCP questions
How do I add rewelo MCP to Claude Code?
Run claude mcp add rewelo -- npx -y rewelo in your terminal. Add --scope user to make it available in every project.
How do I add rewelo MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What scoring system does Rewelo use?
Tickets are scored using the agile Fibonacci scale, which includes values like 1, 2, 3, 5, 8, 13, and 21.
Can I organize tickets with custom fields?
Yes, the tool uses a flexible tag system with prefix:value pairs to replace fixed fields for state, features, or teams.
Does the tool support multiple projects?
Yes, the tool is designed around projects as top-level boundaries, allowing multiple teams to use the same instance independently.