Skip to content
This page was generated and translated with the assistance of AI. If you spot any inaccuracies, feel free to help improve it. Edit on GitHub

CLI Reference

OpenPR includes a command-line interface built into the openpr-mcp binary. In addition to running the MCP server, it provides commands for managing projects, work items, comments, labels, sprints, and more directly from the terminal.

Installation

The CLI is available as part of the mcp-server crate. After building, the binary is named openpr-mcp.

bash
cargo build --release -p mcp-server

Global Flags

These flags apply to all commands:

FlagDescriptionDefault
--api-url <URL>API server endpointhttp://localhost:8080
--bot-token <TOKEN>Authentication token (prefix opr_)--
--workspace-id <UUID>Workspace context for operations--
--format json|tableOutput formattable

You can also set these via environment variables:

bash
export OPENPR_API_URL=http://localhost:8080
export OPENPR_BOT_TOKEN=opr_your_token_here
export OPENPR_WORKSPACE_ID=your-workspace-uuid

Commands

serve -- Start MCP Server

Run the MCP server for AI tool integration.

bash
# HTTP transport (default)
openpr-mcp serve --transport http --port 8090

# Stdio transport (for direct integration)
openpr-mcp serve --transport stdio

projects -- Project Management

bash
# List all projects in the workspace
openpr-mcp projects list --format table

# Get details of a specific project
openpr-mcp projects get <project_id>

# Create a new project
openpr-mcp projects create --name "My Project" --key "MP"

work-items -- Work Item Management

bash
# List work items with filters
openpr-mcp work-items list --project-id <id> --state todo
openpr-mcp work-items list --project-id <id> --state in_progress --assignee-id <user_id>

# Get a specific work item
openpr-mcp work-items get <id>

# Create a work item
openpr-mcp work-items create --project-id <id> --title "Fix bug" --state todo
openpr-mcp work-items create --project-id <id> --title "New feature" --state backlog --priority high

# Update a work item
openpr-mcp work-items update <id> --state in_progress --assignee-id <user_id>
openpr-mcp work-items update <id> --state done --priority low

# Search work items by text
openpr-mcp work-items search --query "authentication"

comments -- Comment Management

bash
# List comments on a work item
openpr-mcp comments list --work-item-id <id>

# Add a comment
openpr-mcp comments create --work-item-id <id> --content "Fixed in commit abc123"

labels -- Label Management

bash
# List workspace-level labels
openpr-mcp labels list --workspace

# List project-level labels
openpr-mcp labels list --project-id <id>

sprints -- Sprint Management

bash
# List sprints for a project
openpr-mcp sprints list --project-id <id>
bash
# Search across all entities
openpr-mcp search --query "bug"

files -- File Attachments

bash
# Upload a file to a work item
openpr-mcp files upload --work-item-id <id> --path ./screenshot.png

Usage Examples

Typical Workflow

bash
# Set up credentials
export OPENPR_API_URL=https://openpr.example.com
export OPENPR_BOT_TOKEN=opr_abc123
export OPENPR_WORKSPACE_ID=550e8400-e29b-41d4-a716-446655440000

# List projects
openpr-mcp projects list

# View todo items for a project
openpr-mcp work-items list --project-id <id> --state todo --format table

# Pick up a work item
openpr-mcp work-items update <item_id> --state in_progress --assignee-id <your_user_id>

# Add a comment when done
openpr-mcp comments create --work-item-id <item_id> --content "Completed. See PR #42."

# Mark as done
openpr-mcp work-items update <item_id> --state done

JSON Output for Scripting

Use --format json to get machine-readable output suitable for piping to jq or other tools:

bash
# Get all in-progress items as JSON
openpr-mcp work-items list --project-id <id> --state in_progress --format json

# Count items by state
openpr-mcp work-items list --project-id <id> --format json | jq '.[] | .state' | sort | uniq -c

See Also

Released under the Apache-2.0 License.