Rize MCP connector
OAuth 2.1/DCRProductivityAnalyticsConnect to Rize MCP using OAuth 2.1 with MCP discovery and dynamic client registration. Access and analyze your time tracking data, projects, clients...
Rize MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'rizemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Rize MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'rizemcp_get_current_user',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "rizemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Rize MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="rizemcp_get_current_user",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update time entry, team member, task — Update an existing time entry
- Up sign — Create a new Rize account via magic link
- Entries reject time, generate time, approve time — Reject pending AI-generated time entry suggestions
- Entry regenerate time — Regenerate AI content for a pending or failed time entry
- List team time entries, team members, tasks — List time entries across all team members (team admin only)
- Member invite team — Invite a new member to a team by email
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
rizemcp_add_note#Add a note about what you're working on. Notes give Rize context to improve time tracking accuracy.
This is the primary way to tell Rize what you worked on. Every call creates a timeline note. If you also provide `blocks` with durations, time entries are created too.
**Context only (no entries created):**
- "Working on the NVIDIA project today"
- "Just finished the pitch deck for Acme"
- "Switching to internal tooling"
**Context + time entries (blocks with durations):**
- "2hrs on NVIDIA pitch deck" → blocks: [{project: "NVIDIA", description: "Pitch deck work", durationMin: 120}]
- "30min call with Acme about onboarding" → blocks: [{client: "Acme", description: "Onboarding call", durationMin: 30}]
When blocks are provided: defaults to preview mode — shows matched entries for confirmation. Call again with save=true to commit.
The tool fetches the user's clients, projects, tasks, existing time entries, app activity, and existing notes for the target date. It detects overlaps between blocks and existing entries.5 params
Add a note about what you're working on. Notes give Rize context to improve time tracking accuracy. This is the primary way to tell Rize what you worked on. Every call creates a timeline note. If you also provide `blocks` with durations, time entries are created too. **Context only (no entries created):** - "Working on the NVIDIA project today" - "Just finished the pitch deck for Acme" - "Switching to internal tooling" **Context + time entries (blocks with durations):** - "2hrs on NVIDIA pitch deck" → blocks: [{project: "NVIDIA", description: "Pitch deck work", durationMin: 120}] - "30min call with Acme about onboarding" → blocks: [{client: "Acme", description: "Onboarding call", durationMin: 30}] When blocks are provided: defaults to preview mode — shows matched entries for confirmation. Call again with save=true to commit. The tool fetches the user's clients, projects, tasks, existing time entries, app activity, and existing notes for the target date. It detects overlaps between blocks and existing entries.
textstringrequiredWhat did you work on? Natural language.billablebooleanoptionalOverride billable status for created entries.blocksarrayoptionalPre-parsed time blocks. When provided with durations > 0, time entries will be created in addition to the note. Tag each block with any combination of client, project, and/or task.datestringoptionalReference date YYYY-MM-DD. Defaults to today.savebooleanoptionalSet true to save time entries after previewing. Only relevant when blocks are provided.rizemcp_approve_tag_suggestion#Approve an AI-generated tag suggestion (client, project, or task) on a time entry. This assigns the suggested entity to the time entry. Use list_my_time_entries to see tag suggestions with confidence scores on pending entries.1 param
Approve an AI-generated tag suggestion (client, project, or task) on a time entry. This assigns the suggested entity to the time entry. Use list_my_time_entries to see tag suggestions with confidence scores on pending entries.
idstringrequiredThe tag suggestion ID to approverizemcp_approve_time_entries#Approve pending AI-generated time entry suggestions, making them active entries. Optionally assign client/project/task during approval in a single operation.4 params
Approve pending AI-generated time entry suggestions, making them active entries. Optionally assign client/project/task during approval in a single operation.
idsarrayrequiredArray of time entry IDs to approveclient_idstringoptionalAssign this client to all approved entriesproject_idstringoptionalAssign this project to all approved entriestask_idstringoptionalAssign this task to all approved entriesrizemcp_create_client#Create a new client (customer/account). Clients are top-level entities that projects and time entries can be assigned to.4 params
Create a new client (customer/account). Clients are top-level entities that projects and time entries can be assigned to.
namestringrequiredClient namecolorstringoptionalColor hex code (e.g. #FF5733)hourly_ratenumberoptionalDefault hourly rate for billingteam_namestringoptionalTeam name to associate with (defaults to user's default team)rizemcp_create_contract#Create a new contract for profitability tracking. Contracts define billing arrangements (hourly, retainer, fixed fee) with clients. Automatically creates the first contract period. Use get_current_user to get org_id. Pass client_name or org_client_id to link a client.15 params
Create a new contract for profitability tracking. Contracts define billing arrangements (hourly, retainer, fixed fee) with clients. Automatically creates the first contract period. Use get_current_user to get org_id. Pass client_name or org_client_id to link a client.
namestringrequiredContract nameorg_idstringrequiredOrganization (billing) IDbilling_modelstringoptionalBilling modelbilling_periodstringoptionalBilling periodclient_namestringoptionalClient name to look up (alternative to org_client_id)contract_typestringoptionalContract typecurrencystringoptionalCurrency codehourly_ratenumberoptionalHourly ratehours_includednumberoptionalHours included in retainernotesstringoptionalContract notesorg_client_idstringoptionalOrganization client ID to linkoverage_hourly_ratenumberoptionalOverage hourly rateperiod_end_datestringoptionalFirst period end date (ISO 8601, defaults to end of current month)period_start_datestringoptionalFirst period start date (ISO 8601, defaults to start of current month)retainer_amount_centsnumberoptionalRetainer amount in centsrizemcp_create_expense#Add an expense to a contract period. Expenses can be pass-through, delivery, or overhead. Categories: ad_spend, vendor, freelancer, software, other. Get the contract_period_id from get_contract. Metrics recompute automatically after adding.9 params
Add an expense to a contract period. Expenses can be pass-through, delivery, or overhead. Categories: ad_spend, vendor, freelancer, software, other. Get the contract_period_id from get_contract. Metrics recompute automatically after adding.
amount_centsnumberrequiredAmount in centscategorystringrequiredExpense categorycontract_period_idstringrequiredContract period ID to add the expense todatestringrequiredExpense date (ISO 8601, must fall within the contract period)expense_typestringrequiredType: pass_through (billed to client), delivery (cost of delivery), overheadorg_idstringrequiredOrganization (billing) IDcurrencystringoptionalCurrency codedescriptionstringoptionalDescription of the expensevendor_namestringoptionalVendor namerizemcp_create_label#Create a new label for categorizing time entries. Requires team admin role. Labels have a name, description, and AI prompt used for automatic classification.6 params
Create a new label for categorizing time entries. Requires team admin role. Labels have a name, description, and AI prompt used for automatic classification.
descriptionstringrequiredHuman-readable description of what this label representsnamestringrequiredLabel namepromptstringrequiredAI prompt used for automatic time entry classificationcolorstringoptionalColor hex code (e.g. #FF5733)team_idstringoptionalTeam ID to associate withteam_namestringoptionalTeam name to associate with (defaults to user's default team)rizemcp_create_project#Create a new project, optionally under a client. Projects organize time entries and can be assigned to time entries directly.5 params
Create a new project, optionally under a client. Projects organize time entries and can be assigned to time entries directly.
namestringrequiredProject nameclient_idstringoptionalClient ID to associate withclient_namestringoptionalClient name to associate with (creates client if it doesn't exist)colorstringoptionalColor hex codeteam_namestringoptionalTeam name to associate with (defaults to user's default team)rizemcp_create_revenue_entry#Add a revenue entry to a contract period. Categories: setup_fee, consulting, upsell, adjustment, other. Get the contract_period_id from get_contract.7 params
Add a revenue entry to a contract period. Categories: setup_fee, consulting, upsell, adjustment, other. Get the contract_period_id from get_contract.
amount_centsnumberrequiredAmount in centscategorystringrequiredRevenue categorycontract_period_idstringrequiredContract period ID to add revenue todatestringrequiredRevenue date (ISO 8601, must fall within the contract period)org_idstringrequiredOrganization (billing) IDcurrencystringoptionalCurrency codedescriptionstringoptionalDescription of the revenue entryrizemcp_create_task#Create a new task, optionally under a project. Tasks are the most granular unit of work and can be assigned to team members.6 params
Create a new task, optionally under a project. Tasks are the most granular unit of work and can be assigned to team members.
namestringrequiredTask nameassignee_emailstringoptionalEmail of team member to assign (defaults to authenticated user)colorstringoptionalColor hex codeproject_idstringoptionalProject ID to associate withproject_namestringoptionalProject name to associate with (creates project if it doesn't exist)team_namestringoptionalTeam name to associate with (defaults to user's default team)rizemcp_create_time_entry#Create a new time entry with optional client, project, and task assignment. Supports idempotency keys to prevent duplicate entries on retry. Times must be in ISO 8601 format — convert user-local times to their timezone (provided as _user_timezone in responses) before sending.10 params
Create a new time entry with optional client, project, and task assignment. Supports idempotency keys to prevent duplicate entries on retry. Times must be in ISO 8601 format — convert user-local times to their timezone (provided as _user_timezone in responses) before sending.
end_timestringrequiredEnd time in ISO 8601 formatstart_timestringrequiredStart time in ISO 8601 format (e.g. 2024-01-15T09:00:00Z)billablebooleanoptionalWhether this entry is billableclient_idstringoptionalClient ID to assigndescriptionstringoptionalDescription of work performedidempotency_keystringoptionalUnique key to prevent duplicate entries on retry. Recommended for all creates.project_idstringoptionalProject ID to assigntask_idstringoptionalTask ID to assignteam_idstringoptionalTeam ID (defaults to user's default workspace)titlestringoptionalTitle for the time entryrizemcp_delete_label#Delete a label by ID. Requires team admin role. The label is soft-deleted and will no longer appear in label lists.1 param
Delete a label by ID. Requires team admin role. The label is soft-deleted and will no longer appear in label lists.
idstringrequiredThe label ID to deleterizemcp_delete_time_entry#Delete a time entry by ID. Works on entries of any status (active, pending, failed, etc.).1 param
Delete a time entry by ID. Works on entries of any status (active, pending, failed, etc.).
idstringrequiredThe time entry ID to deleterizemcp_dictate#DEPRECATED: Use add_note instead. This tool now delegates to add_note.
Start or log a time entry from natural language. Tags to client, project, and task when available.
Also saves a timeline note so Rize can use the context to improve future AI suggestions.
IMPORTANT: Always provide the `blocks` parameter. Parse the user's text yourself before calling this tool.5 params
DEPRECATED: Use add_note instead. This tool now delegates to add_note. Start or log a time entry from natural language. Tags to client, project, and task when available. Also saves a timeline note so Rize can use the context to improve future AI suggestions. IMPORTANT: Always provide the `blocks` parameter. Parse the user's text yourself before calling this tool.
textstringrequiredNatural language time descriptionbillablebooleanoptionalOverride billable status.blocksarrayoptionalPre-parsed blocks. Tag each block with any combination of client, project, and/or task.datestringoptionalReference date YYYY-MM-DD. Defaults to today.savebooleanoptionalSet true to save after previewing. Defaults to false (preview).rizemcp_generate_time_entries#Generate AI time entries for a time range. Analyzes the user's actual activity — apps, websites, meetings — and uses clustering to create multiple entries based on natural activity groups. By default, skips time slots where previous entries were rejected. Rate limited: 15 per minute.4 params
Generate AI time entries for a time range. Analyzes the user's actual activity — apps, websites, meetings — and uses clustering to create multiple entries based on natural activity groups. By default, skips time slots where previous entries were rejected. Rate limited: 15 per minute.
end_timestringrequiredEnd time in ISO 8601 format (e.g. 2024-01-15T23:59:59-04:00)start_timestringrequiredStart time in ISO 8601 format (e.g. 2024-01-15T00:00:00-04:00)retry_rejectedbooleanoptionalIf true, also generates entries in time slots where previous entries were rejectedteam_idstringoptionalTeam ID (defaults to user's default workspace)rizemcp_get_ai_effectiveness_stats#Get AI effectiveness metrics for time entry creation and tagging. Shows acceptance rates and improvement trends.3 params
Get AI effectiveness metrics for time entry creation and tagging. Shows acceptance rates and improvement trends.
datestringrequiredStart date in YYYY-MM-DD formatend_datestringrequiredEnd date in YYYY-MM-DD formatteam_idstringoptionalFilter by team ID (defaults to user's default workspace)rizemcp_get_contract#Get a single contract with all its periods and profitability details.2 params
Get a single contract with all its periods and profitability details.
idstringrequiredContract IDorg_idstringrequiredOrganization (billing) IDrizemcp_get_contract_profitability#Get profitability metrics for a specific contract in a date range. Returns revenue, costs, margin, hours, budget burn, and period dates. Use list_contracts to find contract IDs. All monetary values are in cents.4 params
Get profitability metrics for a specific contract in a date range. Returns revenue, costs, margin, hours, budget burn, and period dates. Use list_contracts to find contract IDs. All monetary values are in cents.
end_datestringrequiredEnd date (ISO 8601, e.g. 2025-01-31)idstringrequiredContract IDorg_idstringrequiredOrganization (billing) IDstart_datestringrequiredStart date (ISO 8601, e.g. 2025-01-01)rizemcp_get_current_user#Get the authenticated user's profile including name, email, timezone, and organization info (id, name, logo, role). Call this first to get your org_id for profitability and contract tools.0 params
Get the authenticated user's profile including name, email, timezone, and organization info (id, name, logo, role). Call this first to get your org_id for profitability and contract tools.
rizemcp_get_help#Get documentation on how to use Rize MCP tools. Pass a topic to get specific help, or omit for an overview. Topics: time_tracking, profitability, team_management, clients_projects.1 param
Get documentation on how to use Rize MCP tools. Pass a topic to get specific help, or omit for an overview. Topics: time_tracking, profitability, team_management, clients_projects.
topicstringoptionalHelp topic (default: overview)rizemcp_get_login_url#Returns the Rize login URL so the user can authenticate in their browser.0 params
Returns the Rize login URL so the user can authenticate in their browser.
rizemcp_get_my_time_allocation#Get the current user's own time allocation summary grouped by client, project, or task. For team-wide allocation (admin only), use get_team_time_allocation instead. Returns total hours, billable hours, and breakdown by grouping.9 params
Get the current user's own time allocation summary grouped by client, project, or task. For team-wide allocation (admin only), use get_team_time_allocation instead. Returns total hours, billable hours, and breakdown by grouping.
datestringrequiredStart date in YYYY-MM-DD formatclient_idsarrayoptionalFilter by client IDsend_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date)group_bystringoptionalHow to group results (default: client)label_idsarrayoptionalFilter by label IDsproject_idsarrayoptionalFilter by project IDsstatusesarrayoptionalArray of time entry statuses to include, for example ["active"]. Do not pass a single string.task_idsarrayoptionalFilter by task IDsteam_idstringoptionalFilter by team IDrizemcp_get_my_time_tracking_signals#Get your recent time tracking signals — the individual AI actions and user feedback events that drive time entry generation.4 params
Get your recent time tracking signals — the individual AI actions and user feedback events that drive time entry generation.
datestringrequiredStart date in YYYY-MM-DD formatcursorstringoptionalPagination cursor from previous responseend_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date for single-day query)limitnumberoptionalMax signals to return (default: 100, max: 500)rizemcp_get_org_profitability#Get aggregated profitability metrics across all non-archived contracts for an organization in a date range. Returns revenue, costs, margin, and hours. For per-contract detail use get_contract_profitability. All monetary values are in cents.3 params
Get aggregated profitability metrics across all non-archived contracts for an organization in a date range. Returns revenue, costs, margin, and hours. For per-contract detail use get_contract_profitability. All monetary values are in cents.
end_datestringrequiredEnd date (ISO 8601, e.g. 2025-01-31)org_idstringrequiredOrganization (billing) IDstart_datestringrequiredStart date (ISO 8601, e.g. 2025-01-01)rizemcp_get_profitability_trend#Get monthly revenue, cost, and expense totals for a date range. Returns one data point per month across all non-archived contracts. Useful for spotting trends and comparing periods. All monetary values are in cents.3 params
Get monthly revenue, cost, and expense totals for a date range. Returns one data point per month across all non-archived contracts. Useful for spotting trends and comparing periods. All monetary values are in cents.
end_datestringrequiredEnd date (ISO 8601, e.g. 2025-06-30)org_idstringrequiredOrganization (billing) IDstart_datestringrequiredStart date (ISO 8601, e.g. 2025-01-01)rizemcp_get_report_run#Get a single report run by ID, including the parent report metadata and all AI analysis content.1 param
Get a single report run by ID, including the parent report metadata and all AI analysis content.
idstringrequiredThe report run IDrizemcp_get_team_time_allocation#Get time allocation summary across all team members (team admin only). Returns total hours, billable hours, and breakdown by grouping. Use creator_emails to filter to specific people. Non-admins will only see their own allocation.11 params
Get time allocation summary across all team members (team admin only). Returns total hours, billable hours, and breakdown by grouping. Use creator_emails to filter to specific people. Non-admins will only see their own allocation.
datestringrequiredStart date in YYYY-MM-DD formatclient_idsarrayoptionalFilter by client IDscreator_emailsarrayoptionalFilter to specific team members by email (e.g. ['macgill@rize.io'])creator_idsarrayoptionalFilter to specific team members by identity ID (alternative to creator_emails)end_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date)group_bystringoptionalHow to group results (default: client)label_idsarrayoptionalFilter by label IDsproject_idsarrayoptionalFilter by project IDsstatusesarrayoptionalArray of time entry statuses to include, for example ["active"]. Do not pass a single string.task_idsarrayoptionalFilter by task IDsteam_idstringoptionalFilter by team IDrizemcp_get_time_entry#Get a single time entry by ID with all details including client, project, task, billing info, and AI confidence data.1 param
Get a single time entry by ID with all details including client, project, task, billing info, and AI confidence data.
idstringrequiredThe time entry IDrizemcp_invite_team_member#Invite a new member to a team by email. Sends an invitation email. Requires team admin permissions. Naturally idempotent — re-inviting an existing member returns the existing record.4 params
Invite a new member to a team by email. Sends an invitation email. Requires team admin permissions. Naturally idempotent — re-inviting an existing member returns the existing record.
emailstringrequiredEmail address of the person to inviteteam_idstringrequiredTeam ID to invite the member tonamestringoptionalName of the person being invitedrolestringoptionalRole to assign (default: member)rizemcp_list_clients#List clients (customers/accounts) with their hourly rates and team associations. Use client IDs when creating or updating time entries.4 params
List clients (customers/accounts) with their hourly rates and team associations. Use client IDs when creating or updating time entries.
cursorstringoptionalPagination cursorlimitnumberoptionalMax clients to returnquerystringoptionalSearch clients by namestatusesarrayoptionalArray of client statuses to include, for example ["active"]. Do not pass a single string.rizemcp_list_contracts#List contracts for an organization. Contracts track billing arrangements with clients including hourly rates, retainers, and profitability metrics. Archived contracts are excluded by default — pass status to filter. Use contract IDs with get_contract_profitability.5 params
List contracts for an organization. Contracts track billing arrangements with clients including hourly rates, retainers, and profitability metrics. Archived contracts are excluded by default — pass status to filter. Use contract IDs with get_contract_profitability.
org_idstringrequiredOrganization (billing) IDcursorstringoptionalPagination cursorlimitnumberoptionalMax contracts to returnquerystringoptionalSearch contracts by namestatusstringoptionalFilter by contract statusrizemcp_list_labels#List labels available for tagging time entries. Use label IDs when updating time entries.4 params
List labels available for tagging time entries. Use label IDs when updating time entries.
cursorstringoptionalPagination cursorlimitnumberoptionalMax labels to returnquerystringoptionalSearch labels by namestatusesarrayoptionalArray of label statuses to include, for example ["active"]. Do not pass a single string.rizemcp_list_my_apps_used#List the authenticated user's own apps and websites used in a date range, sorted by time spent. Returns app name, URL, time spent, and category.2 params
List the authenticated user's own apps and websites used in a date range, sorted by time spent. Returns app name, URL, time spent, and category.
datestringrequiredStart date in YYYY-MM-DD formatend_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date)rizemcp_list_my_events#List raw tracking events (app switches, website visits) for the authenticated user in a date range. Max 7-day range. Returns app name, URL, URL host, title, source, and timestamps. Use list_my_apps_used for aggregated summaries instead.4 params
List raw tracking events (app switches, website visits) for the authenticated user in a date range. Max 7-day range. Returns app name, URL, URL host, title, source, and timestamps. Use list_my_apps_used for aggregated summaries instead.
datestringrequiredStart date in YYYY-MM-DD formatcursorstringoptionalPagination cursor from previous responseend_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date for single-day query)limitnumberoptionalMax events per page (default: 200, max: 200)rizemcp_list_my_time_entries#List the current user's own time entries for a date range. For team-wide entries (admin only), use list_team_time_entries instead. Returns all statuses by default (active, pending, generating, failed). Sorted by start time with client/project/task details and formatted durations.12 params
List the current user's own time entries for a date range. For team-wide entries (admin only), use list_team_time_entries instead. Returns all statuses by default (active, pending, generating, failed). Sorted by start time with client/project/task details and formatted durations.
datestringrequiredStart date in YYYY-MM-DD formatclient_idsarrayoptionalFilter by client IDscursorstringoptionalPagination cursor from previous responseend_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date for single-day query)label_idsarrayoptionalFilter by label IDslimitnumberoptionalMax entries to return (default: 100, max: 500)project_idsarrayoptionalFilter by project IDsquerystringoptionalSearch time entries by title or descriptionsourcesarrayoptionalFilter by entry source, for example ["ai", "click_up", "user", "timer", "meeting"]. Useful for finding duplicates or verifying sync.statusesarrayoptionalArray of time entry statuses to include, for example ["active", "pending"]. Do not pass a single string.task_idsarrayoptionalFilter by task IDsteam_idstringoptionalFilter by team ID (defaults to user's default workspace)rizemcp_list_projects#List projects with their client associations and team info. Use project IDs when creating or updating time entries.5 params
List projects with their client associations and team info. Use project IDs when creating or updating time entries.
client_idstringoptionalFilter by client IDcursorstringoptionalPagination cursorlimitnumberoptionalMax projects to returnquerystringoptionalSearch projects by namestatusesarrayoptionalArray of project statuses to include, for example ["in_progress", "completed"]. Do not pass a single string.rizemcp_list_report_runs#List report runs for the current user's reports. Returns runs ordered by most recent first.2 params
List report runs for the current user's reports. Returns runs ordered by most recent first.
cursorstringoptionalPagination cursor from previous responselimitnumberoptionalMax report runs to return (default: 20, max: 100)rizemcp_list_tasks#List tasks with their project and assignee associations. Use task IDs when creating or updating time entries.5 params
List tasks with their project and assignee associations. Use task IDs when creating or updating time entries.
cursorstringoptionalPagination cursorlimitnumberoptionalMax tasks to returnproject_idsarrayoptionalFilter tasks by project IDsquerystringoptionalSearch tasks by namestatusesarrayoptionalArray of task statuses to include, for example ["in_progress", "completed"]. Do not pass a single string.rizemcp_list_team_members#List team members with their roles, hourly rates, and cost rates. Requires team admin permissions to see rates. Cost rates affect profitability calculations (delivery_labor_cost_cents).5 params
List team members with their roles, hourly rates, and cost rates. Requires team admin permissions to see rates. Cost rates affect profitability calculations (delivery_labor_cost_cents).
team_idstringrequiredTeam ID to list members forcursorstringoptionalPagination cursorlimitnumberoptionalMax members to returnquerystringoptionalSearch members by name or emailstatusesarrayoptionalArray of team member statuses to include, for example ["active"]. Do not pass a single string.rizemcp_list_team_time_entries#List time entries across all team members (team admin only). Returns entries for the entire team by default. Use creator_emails to filter to specific people. Non-admins will only see their own entries. Sorted by start time.14 params
List time entries across all team members (team admin only). Returns entries for the entire team by default. Use creator_emails to filter to specific people. Non-admins will only see their own entries. Sorted by start time.
datestringrequiredStart date in YYYY-MM-DD formatclient_idsarrayoptionalFilter by client IDscreator_emailsarrayoptionalFilter to specific team members by email (e.g. ['macgill@rize.io'])creator_idsarrayoptionalFilter to specific team members by identity ID (alternative to creator_emails)cursorstringoptionalPagination cursor from previous responseend_datestringoptionalEnd date in YYYY-MM-DD format (defaults to date for single-day query)label_idsarrayoptionalFilter by label IDslimitnumberoptionalMax entries to return (default: 100, max: 500)project_idsarrayoptionalFilter by project IDsquerystringoptionalSearch time entries by title or descriptionsourcesarrayoptionalFilter by entry source, for example ["ai", "click_up", "user", "timer", "meeting"]. Useful for finding duplicates or verifying sync.statusesarrayoptionalArray of time entry statuses to include, for example ["active", "pending"]. Do not pass a single string.task_idsarrayoptionalFilter by task IDsteam_idstringoptionalFilter by team ID (defaults to user's default workspace)rizemcp_regenerate_time_entry#Regenerate AI content for a pending or failed time entry. Useful when generation failed or you want a better title/description. Optionally provide custom instructions to guide the AI. Rate limited: max 3 regenerations per entry, 15 per minute.2 params
Regenerate AI content for a pending or failed time entry. Useful when generation failed or you want a better title/description. Optionally provide custom instructions to guide the AI. Rate limited: max 3 regenerations per entry, 15 per minute.
idstringrequiredThe time entry ID to regenerateinstructionsstringoptionalCustom instructions to guide the AI regeneration (e.g. 'focus on the meeting with Client X')rizemcp_reject_time_entries#Reject pending AI-generated time entry suggestions. Rejected entries are kept but hidden from active views.1 param
Reject pending AI-generated time entry suggestions. Rejected entries are kept but hidden from active views.
idsarrayrequiredArray of time entry IDs to rejectrizemcp_sign_up#Create a new Rize account via magic link. Sends a sign-in link to the user's email. After clicking the link, the user should download the Rize desktop app to start tracking time automatically.3 params
Create a new Rize account via magic link. Sends a sign-in link to the user's email. After clicking the link, the user should download the Rize desktop app to start tracking time automatically.
emailstringrequiredUser's email addressnamestringoptionalUser's full nametimezonestringoptionalIANA timezone (e.g. America/New_York). Defaults to UTC.rizemcp_update_client#Update an existing client's name, hourly rate, color, or status.5 params
Update an existing client's name, hourly rate, color, or status.
idstringrequiredThe client ID to updatecolorstringoptionalNew color hex codehourly_ratenumberoptionalNew hourly ratenamestringoptionalNew namestatusstringoptionalNew status (e.g. active, archived)rizemcp_update_contract#Update a contract's billing details. Changes to rate fields are synced to the current period.14 params
Update a contract's billing details. Changes to rate fields are synced to the current period.
idstringrequiredContract ID to updateorg_idstringrequiredOrganization (billing) IDbilling_modelstringoptionalBilling modelbilling_periodstringoptionalBilling periodcontract_typestringoptionalContract typecurrencystringoptionalCurrency codehourly_ratenumberoptionalHourly ratehours_includednumberoptionalHours included in retainernamestringoptionalContract namenotesstringoptionalContract notesorg_client_idstringoptionalOrganization client ID to linkoverage_hourly_ratenumberoptionalOverage hourly rateretainer_amount_centsnumberoptionalRetainer amount in centsstatusstringoptionalContract statusrizemcp_update_label#Update an existing label's name, description, prompt, color, or status. Requires team admin role.6 params
Update an existing label's name, description, prompt, color, or status. Requires team admin role.
idstringrequiredThe label ID to updatecolorstringoptionalNew color hex codedescriptionstringoptionalNew descriptionnamestringoptionalNew namepromptstringoptionalNew AI classification promptstatusstringoptionalNew status (active or archived)rizemcp_update_project#Update an existing project's name, client, color, or status.6 params
Update an existing project's name, client, color, or status.
idstringrequiredThe project ID to updateclient_idstringoptionalClient ID to associate withclient_namestringoptionalClient name to associate with (creates if doesn't exist)colorstringoptionalNew color hex codenamestringoptionalNew namestatusstringoptionalNew status (e.g. in_progress, completed, archived)rizemcp_update_task#Update an existing task's name, project, assignee, color, or status.7 params
Update an existing task's name, project, assignee, color, or status.
idstringrequiredThe task ID to updateassignee_emailstringoptionalEmail of team member to assigncolorstringoptionalNew color hex codenamestringoptionalNew nameproject_idstringoptionalProject ID to associate withproject_namestringoptionalProject name to associate with (creates if doesn't exist)statusstringoptionalNew status (e.g. in_progress, completed)rizemcp_update_team_member#Update a team member's role, title, hourly rate, cost rate, or billable default. Requires team admin permissions. Use list_team_members to find team_member_id values.7 params
Update a team member's role, title, hourly rate, cost rate, or billable default. Requires team admin permissions. Use list_team_members to find team_member_id values.
team_idstringrequiredTeam IDteam_member_idstringrequiredTeam member ID to updatebillable_by_defaultbooleanoptionalWhether time is billable by defaultcost_ratenumberoptionalInternal cost rate per hourhourly_ratenumberoptionalHourly billing raterolestringoptionalRole to assigntitlestringoptionalJob titlerizemcp_update_time_entry#Update an existing time entry. Supports changing times, title, description, billing, label, and entity reassignment (client, project, task). Changing team_id clears entity assignments.11 params
Update an existing time entry. Supports changing times, title, description, billing, label, and entity reassignment (client, project, task). Changing team_id clears entity assignments.
idstringrequiredThe time entry ID to updatebillablebooleanoptionalSet billable statusclient_idstringoptionalReassign to this clientdescriptionstringoptionalNew descriptionend_timestringoptionalNew end time in ISO 8601 formatlabel_idstringoptionalAssign this label to the time entryproject_idstringoptionalReassign to this projectstart_timestringoptionalNew start time in ISO 8601 formattask_idstringoptionalReassign to this taskteam_idstringoptionalMove to this team (clears entity assignments)titlestringoptionalNew title