MCP Tools — Work Graph
Projects, jobs, deliverables, and treasury reads/writes.
21 tools in this registry. Every tool is callable over the MCP endpoint (
/api/mcp); the badge on each shows which auth modes may invoke it. See Auth models and the MCP overview.
rivr.jobs.claim
Session
MCP Token
Apply to / claim a job (same as clicking 'Apply' in the UI).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes |
rivr.jobs.complete
Session
MCP Token
Mark a job complete by setting its status metadata to 'completed'.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes |
rivr.jobs.create
Session
MCP Token
Create a standalone job resource attached to a project. For projects with many jobs, prefer creating the project with nested jobs[].
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
projectId | string | yes | |
title | string | yes | |
category | string | — | |
description | string | — | |
isGlobal | boolean | — | Mark the job globally visible (surfaces in locale/region/global) even under a more-restricted project. Omit to inherit the project's visibility. |
location | string | — | |
maxAssignees | number | — | |
priority | string | — | |
skills | string[] | — |
rivr.jobs.get
Session
MCP Token
Fetch a job resource by id.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes |
rivr.jobs.list
Session
MCP Token
List jobs. Filter by project, owner (person or group), or status. With no filters, returns jobs visible to the actor (owned by actor, owned by groups the actor belongs to, or public).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
groupId | string | — | Filter to jobs owned by this group. |
limit | number | — | |
ownerId | string | — | Filter to jobs owned by this agent (person or group). |
projectId | string | — | Filter to jobs attached to this project. |
status | string | — |
rivr.jobs.timer_start
Session
MCP Token
Start a work timer on a job for the actor. Only one running timer per actor per job is allowed; returns the new time-entry id.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes |
rivr.jobs.timer_stop
Session
MCP Token
Stop the actor's running work timer on a job. Returns the elapsed durationMs. Optionally records which task ids were completed during the session.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | |
completedTaskIds | string[] | — |
rivr.jobs.unclaim
Session
MCP Token
Unclaim a job. Calls applyToJob a second time — the underlying toggle removes the existing application.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes |
rivr.projects.close
Session
MCP Token
Close a project by setting its status metadata to 'closed'. Keeps it visible for audit.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
projectId | string | yes | |
reason | string | — |
rivr.projects.create
Session
MCP Token
Create a project owned by a group. Optionally attach nested jobs and tasks (same shape the web create-page uses).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
category | string | yes | |
description | string | yes | |
groupId | string | yes | Owning group id. |
title | string | yes | |
budget | number | — | |
deadline | string | — | ISO date, optional. |
isGlobal | boolean | — | |
jobs | object[] | — | Optional nested jobs; each job may carry its own tasks[]. See createProjectResource for field shape. |
localeId | string | — | |
scopedGroupIds | string[] | — | |
scopedLocaleIds | string[] | — | |
scopedUserIds | string[] | — | |
timeframe | object | — |
rivr.projects.get
Session
MCP Token
Fetch a single project by id.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
projectId | string | yes |
rivr.projects.list
Session
MCP Token
List projects visible to the actor. With no filters, returns projects owned by the actor, projects owned by groups the actor belongs to, or public projects. Pass ownerId or groupId to scope to a specific owner.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
groupId | string | — | Filter to projects owned by this group. Equivalent to ownerId when the owner is a group; kept as a distinct field for readability. |
limit | number | — | Default 50, max 200. |
ownerId | string | — | Filter to projects owned by this agent (person or group). Use the actor's own agent id to see only projects the actor directly owns. |
status | string | — | Optional metadata.status filter (e.g. 'open', 'closed'). |
rivr.projects.update
Session
MCP Token
Update a project's fields via the generic resource updater.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
projectId | string | yes | |
description | string | — | |
metadataPatch | object | — | |
name | string | — | |
tags | string[] | — |
rivr.tasks.add_note
Session
MCP Token
Append a note to a task. Only the user assigned to the task may add notes.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
note | string | yes | |
taskId | string | yes |
rivr.tasks.claim
Session
MCP Token
Claim a task. Records a 'join' ledger row with interactionType 'task-claim' so the claim can be enforced at completion time.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
taskId | string | yes |
rivr.tasks.complete
Session
MCP Token
Mark a task complete. Requires the actor to have an active 'task-claim' ledger row first; on success, credits the task's metadata.points to the actor via an 'earn' ledger row.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
taskId | string | yes |
rivr.tasks.create
Session
MCP Token
Create a standalone task resource attached to a job/project.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | |
name | string | yes | |
description | string | — | |
estimatedTime | string | — | |
points | number | — | |
required | boolean | — |
rivr.tasks.get
Session
MCP Token
Fetch a task resource by id.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
taskId | string | yes |
rivr.tasks.list
Session
MCP Token
List tasks. Filter by job, project, owner (person or group), or status. With no filters, returns tasks visible to the actor.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
groupId | string | — | Filter to tasks owned by this group. |
jobId | string | — | Filter to tasks attached to this job. |
limit | number | — | |
ownerId | string | — | Filter to tasks owned by this agent (person or group). |
projectId | string | — | Filter to tasks attached to this project. |
status | string | — |
rivr.tasks.update
Session
MCP Token
Update task status (not_started | in_progress | awaiting_approval | completed | rejected).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
status | enum(not_started \ | in_progress \ | awaiting_approval \ |
taskId | string | yes |
rivr.tasks.update_description
Session
MCP Token
Update a task's description. Only the task's direct owner or a group admin of the owning group may do this.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
description | string | yes | |
taskId | string | yes |