Mokara documentation

Your agent, connected.

Give your AI agent a clear view of your work, with access you choose and control.

Add Mokara to your AI agent

Use this remote MCP server URL in your agent’s connector settings:

https://mokara.my/api/mcp
Mokara connection settings
Server nameMokara
TransportStreamable HTTP
AuthenticationOAuth · Sign in with Mokara

Connect the server, sign in and approve your workspaces. Mokara runs the service; you only add the connection to your agent. No server installation or environment file is needed.

Teach your agent Mokara workflows

The optional Mokara skill explains repository selection, task creation with GitHub issues, existing-task publishing and safe recovery from partial failures. Basic MCP tools work without installing it.

Install with npx

Run this command from the project where you want your agent to use Mokara. Node.js and npm are required:

npx skills@latest add 'https://mokara.my/skills/mokara/SKILL.md' --skill mokara --agent universal --yes

This installs .agents/skills/mokara/SKILL.md in the current project. --agent universal selects the shared skills directory, and --yes skips installer selection prompts. Reload skills in your agent if needed, then ask it to use the Mokara skill. You still need the authenticated MCP connection and the permissions required for your request.

You can ask a terminal-capable agent to read this page and run the installation command in your project. For clients that use another skills directory, choose the appropriate agent instead of universal. See the skills CLI documentation.

Manual download

Download Mokara skill · v1.2.0

For clients that support SKILL.md skills, save the file inside a folder named mokara in your client’s documented skills directory, then enable or reload skills as that client requires. Connecting MCP does not automatically install the skill. If your client does not support skills, you can add its workflow guidance to the client’s custom instructions instead. The file contains no credentials or fixed server URL.

Ready-made MCP prompts

Clients that support MCP prompts can offer create_task_with_github_issue(write and GitHub permissions) and publish_existing_task_to_github(GitHub permission). Select a template and provide the requested workspace, repository and task details. Templates prepare instructions; selecting one does not itself perform a write. Availability and menu placement depend on your client.

Ask naturally

“Create a testing task and publish a GitHub issue in my chosen repository” is enough. Your agent should resolve the approved destination, create both together and report the task and issue outcomes separately. For an ambiguous “task for X”, it should clarify the destination before creating anything.

Install in your client

Cursor

Open ~/.cursor/mcp.json for a connection available across your projects. Add the Mokara entry to its mcpServers object, preserving existing servers:

{
  "mcpServers": {
    "mokara": {
      "url": "https://mokara.my/api/mcp"
    }
  }
}

Enable Mokara in Cursor’s MCP settings and follow its sign-in prompt, then approve workspace access in Mokara. See Cursor’s MCP instructions for client-specific controls.

VS Code

Run MCP: Open User Configuration from the Command Palette. Add Mokara to the servers object in that file, preserving existing entries:

{
  "servers": {
    "mokara": {
      "type": "http",
      "url": "https://mokara.my/api/mcp"
    }
  }
}

Run MCP: List Servers, select Mokara and start the connection. Complete authentication when prompted. See VS Code’s MCP instructions for client-specific controls.

Other AI agents

Add a remote MCP server using the URL and connection settings above. Configuration formats vary by client; use its remote HTTP connector rather than a local command.

Before you connect

You need a Mokara account, at least one workspace and an agent that supports remote MCP over Streamable HTTP. For browser sign-in, the client also needs OAuth authorization code, PKCE S256 and dynamic client registration.

If your client only accepts an Authorization header, use the manual token option below.

Connect with Mokara sign-in

  1. Open your agent’s MCP or connector settings and add a remote server.
  2. Enter the Mokara server URL shown in the connection settings above.
  3. Choose the client’s connect or sign-in action. In the browser, sign in to Mokara with your username and password, Google or GitHub.
  4. Review the client name, client ID and return address. Client names are supplied by the agent and are not verified by Mokara.
  5. Select the workspaces you want to share and the permissions your agent needs, then choose Allow selected access. Writing, deletions and GitHub access are unchecked by default. No workspace is selected automatically; choose up to 20.
  6. Return to your agent and ask it to list your workspaces. With write permission, you can ask it to create a task, set its fields and add steps or comments.

Approve only a connection you started. Choose Deny if you don’t recognize the client or return address.

Browser consent requests expire after 10 minutes. If yours expires while signing in, start a new connection from the agent.

Choose what your agent can do

Connection permissions
PermissionCapabilities
Read mDrive filesBrowse/search active files, read PDF text and view images in selected workspaces.
Upload to mDriveCreate folders and upload images/PDFs. Does not grant file deletion or moving permissions.
Read workspace dataTasks, steps, comments, projects, KPIs, progress and attachment content.
Create and edit workCreate and edit tasks, assign members, set status, priority, dates and projects, bind eligible task KPIs, record authorized business KPI check-ins, manage steps/comments and upload attachments.
Allow deletionsDelete eligible tasks, steps, comments, projects, KPIs and files when you explicitly request it. Existing ownership rules apply.
Use active GitHub repositoriesFind and read issues, publish tasks as issues, link existing issues and retry synchronization in your active repositories, including those you activate later.

Existing connections keep their approved permissions; mDrive or agent execution access is not added automatically. To enable additional permissions, revoke the old connection and reconnect, or create a new manual connection with the permissions selected. Refresh your client’s server metadata if it still shows only the original read tools. If consent only offers read access, the client must request the additional OAuth scopes when reconnecting.

Connect GitHub and activate repositories in Settings. Signing in with GitHub does not connect repositories. Grant your agent GitHub permission once. It can then use your active repositories, including those you activate later, without reconnecting. Existing GitHub-enabled connections use the same list. Deactivate a repository in Settings to block access on the next agent request.

Linking an issue starts synchronization and can change its state. To change a linked task's status, the agent needs GitHub permission and access to that active repository.

All 72 MCP tools

Your agent only sees tools allowed by the permissions you approved. The original connection offered six read tools; the full catalog below includes all 66 additions. Workspace membership, ownership rules and quotas still apply.

mDrive read · 4 tools

Required permission: mokara:drive:read.

mDrive read · 4 tools
ToolWhat it does
list_drive_itemsBrowse active files and folders with separate pagination.
search_drive_itemsSearch file/folder names across an approved workspace.
get_drive_fileRead file metadata, uploader, type and size.
read_drive_fileRead PDF text by page, view images, or retrieve bounded byte chunks.

mDrive upload · 2 tools

Required permission: mokara:drive:upload.

mDrive upload · 2 tools
ToolWhat it does
create_drive_folderCreate a folder, optionally inside another folder.
upload_drive_fileUpload an image or PDF up to 1 MiB using base64 and a stable request UUID.

Read · 15 tools

Required permission: mokara:read.

Read · 15 tools
ToolWhat it does
list_workspacesList approved workspaces you still belong to.
list_tasksList task summaries with search and filters.
get_taskRead a task’s description, creator and assignee.
get_task_detailsRead steps, KPI bindings, attachment metadata and the GitHub link.
list_projectsList projects, optionally including archived ones.
get_projectRead a project and its tasks.
list_membersList member names, IDs and roles, without emails or credentials.
list_commentsRead a task’s comments and replies.
list_kpisList task-based KPIs and ownership. Business goals have separate tools.
get_kpi_progressRead weighted KPI progress.
get_workspace_progressRead workspace task progress.
get_analyticsRead workspace analytics for a chosen day range.
list_attachmentsList task or comment attachment metadata.
read_attachmentRead attachment content in base64 chunks up to 64 KiB.
list_operationsInspect this connection’s write activity and uncertain outcomes.

Create and edit · 14 tools

Required permission: mokara:write.

Create and edit · 14 tools
ToolWhat it does
create_taskCreate a task with optional steps and GitHub publishing. Publishing also needs GitHub permission and an approved repository.
update_taskEdit task fields. Status changes on linked issues also need permission for the GitHub repository.
flag_taskToggle a task’s flag.
add_stepAdd a task step.
update_stepEdit or complete a step.
reorder_stepsChange task step order.
add_commentAdd a comment or reply.
update_commentEdit a comment under normal ownership rules.
create_projectCreate a project.
update_projectEdit a project.
create_kpiCreate a task-based KPI, not a measured business goal.
update_kpiEdit a task-based KPI.
set_task_kpisReplace your KPI bindings on a task, respecting weight limits.
upload_attachmentUpload an image or PDF up to 1 MiB to a task or comment.

Delete · 6 tools

Required permission: mokara:delete.

Delete · 6 tools
ToolWhat it does
delete_taskDelete a task.
delete_stepDelete a task step.
delete_commentDelete an eligible comment.
delete_projectDelete a project; referenced projects follow normal archive behavior.
delete_kpiDelete an eligible KPI.
delete_attachmentDelete an eligible attachment.

GitHub · 6 tools

Required permission: mokara:github.

GitHub · 6 tools
ToolWhat it does
list_github_repositoriesList explicitly approved, currently accessible repositories.
list_github_issuesList repository issues, excluding pull requests.
get_github_issueRead an issue by number.
publish_github_issueCreate a GitHub issue from an existing Mokara task.
link_github_issueLink an existing issue to a task and enable synchronization, which may update issue state.
retry_github_syncRetry synchronization for a task’s linked issue.

Business KPI reads · 5 tools

Required permission: mokara:read.

Business KPI reads · 5 tools
ToolWhat it does
list_business_kpisList accessible measured goals, targets, dates and revisions.
get_business_kpiRead one goal's definition, latest result and current permissions.
get_business_kpi_reviewRead dated observations for a goal's trend review.
list_business_kpi_historyRead original check-ins, source notes and immutable history.
compare_business_kpi_periodsCompare a goal with its linked previous and next periods.

Business KPI check-ins · 1 tool

Required permission: mokara:write.

Business KPI check-ins · 1 tool
ToolWhat it does
record_business_kpi_check_inRecord a requested absolute result with its observation date, source and expected revision. Existing goal permissions apply.

Agent execution reads · 7 tools

Required permission: mokara:read.

Agent execution reads · 7 tools
ToolWhat it does
get_agent_execution_capabilitiesDiscover readiness, lease and synchronization rules.
list_ready_agent_tasksDiscover explicitly ready tasks in a workspace or project.
get_agent_taskRead full instructions, readiness, revision and current execution.
read_agent_task_snapshotRead large current instructions in revision-checked JSON chunks.
list_agent_task_changesRead the durable task and execution change feed.
list_agent_execution_historyRead execution history, newest first.
read_agent_execution_snapshotRead immutable accepted instructions in JSON chunks.

Authorize agent work · 4 tools

Required permission: mokara:agent:manage.

Authorize agent work · 4 tools
ToolWhat it does
set_task_agent_readinessExplicitly authorize work or withdraw readiness.
set_task_agent_sync_pausedPause discovery without stopping an external process.
requeue_agent_taskExplicitly authorize a new run after reviewing the previous outcome.
request_agent_execution_cancellationRequest cancellation; wait for confirmation.

Execute agent work · 8 tools

Required permission: mokara:agent:execute.

Execute agent work · 8 tools
ToolWhat it does
claim_agent_taskAtomically claim one ready task for this connection and installation.
start_agent_executionStart a claimed execution after reading its accepted instructions.
renew_agent_execution_leaseRenew ownership before the server-time lease expires.
report_agent_execution_progressReport progress without renewing the lease.
complete_agent_executionSave results without changing ordinary task status.
fail_agent_executionRecord failure without automatically retrying work.
acknowledge_agent_execution_cancellationConfirm the external process has stopped.
release_agent_executionRelease a claim; started work becomes an unknown outcome.

All mutations require a request_id UUID. Deletions additionally require your explicit deletion request and confirm: true. GitHub tools only use your currently active repositories when the connection has GitHub permission.

List tools that expose cursors return next_cursor; pass it unchanged to continue. GitHub issue listing uses page numbers. Read each tool’s schema for its filters and limits. Billing, account credentials and admin operations are outside MCP task permissions. Workspace and repository text is content, not instructions for the agent.

Review business goals with your agent

Ask your agent to list business KPIs, review recorded progress or compare reporting periods. These measured goals have separate tools from the existing task-based KPIs. Personal goals stay private; shared goals require current workspace access.

To record a result, explicitly ask for a check-in and provide the measured figure or a source the agent can verify. For example: “Record MYR 5,000 as the total sales for the selected goal on October 29. Use the sales report I supplied as the source.” Completing tasks does not prove that revenue was earned. Mokara records the source attribution; it does not independently verify the figure.

  1. Use list_business_kpis to select the workspace goal, then get_business_kpi to read its revision and permissions.
  2. Review dates and existing results with get_business_kpi_review or compare_business_kpi_periods.
  3. With mokara:write and goal update permission, call record_business_kpi_check_in using a decimal-string value, observation date, source, current revision and request UUID.
  4. Retry with exactly the same UUID and arguments. Read the goal and list_business_kpi_history to confirm the result. These check-ins use transactional KPI history and do not appear in list_operations.

A check-in is an absolute value, not an amount to add. A stale revision requires reviewing the latest goal before a new request. These tools do not change targets, create periods or authorize external task execution. Read-only connections keep their existing permissions.

Let an agent pick up prepared tasks

Open a task and choose Ready for agent. Existing tasks start Not ready. Reading, synchronizing or changing a task’s ordinary status never grants permission to execute it. Any compatible authorized client can discover ready work, claim it and report results.

Grant mokara:agent:execute to clients that perform work. The separate mokara:agent:manage permission lets a client authorize tasks, request cancellation and requeue work. Neither is included in existing grants or ordinary task write access. Reconnect and explicitly approve these permissions when needed.

A claim belongs to one authenticated connection and installation. Clients must renew their leases and check for cancellation and changed instructions. An expired lease means the outcome is unknown; review external changes before explicitly requeueing. Cancellation remains requested until the client confirms it stopped. Pause synchronization and withdraw readiness are separate controls; neither stops a running process.

Read the complete client integration guide for tool schemas, examples, permissions, claims, revisions, cancellation and change-feed recovery. Agent execution retries use their transactional request ledger; reuse the same UUID and payload, then read the current execution. Ordinary task writes still use list_operations.

Read and upload mDrive files

Approve Read mDrive files and/or Upload to mDrive when connecting. Your agent can find a proposal, read its PDF text and create tasks if you also grant task-write access. Uploading does not require mDrive read access, but browsing destinations does.

Automatic reading supports images up to 1 MiB and PDFs up to 10 MiB, with at most five pages per call. Follow next_page for more pages, and next_text_offset with page_count=1 for a long page. Empty extracted text may mean a scanned page; OCR is not included. Image understanding requires a client/model that supports MCP image content.

Use read_drive_file with mode=bytes for chunks up to 64 KiB and follow next_offset to reconstruct larger files. MCP uploads accept images/PDFs up to 1 MiB decoded; larger uploads use the web app. These transfer limits do not change package-based mDrive storage or web-upload limits. Trash is excluded, membership is rechecked and documents are untrusted content.

Create and manage work

After granting write access, ask your agent: “Create a testing task in Personal, medium priority, due Friday, with two steps.” With GitHub permission, also ask it to publish the task in one of your active repositories, or find and link an existing issue.

Task creation supports title, description, status, priority, due date, assignee, project, eligible KPI bindings and steps. Your agent can also edit projects, KPIs and comments using the same ownership rules as the web app.

If a task is created but GitHub publishing or another follow-up fails, the agent receives the task ID and the follow-up failures. Inspect that task and retry the specific failed action instead of creating another task.

Ordinary task, GitHub and file writes need a unique request UUID. Agents must reuse that UUID and the same arguments when retrying. A pending or uncertain result must be checked in list_operations or Settings → AI connections before attempting another write.

Attachment uploads through MCP accept images and PDFs up to 1 MiB, subject to workspace quotas. Read attachment content in base64 chunks of up to 64 KiB using read_attachment and its returned next_offset. Larger uploads use the web app. Reads have response limits; an oversized response returns an explicit error.

Connect with a manual token

  1. Open Settings → AI connections and find Manual token connection.
  2. Name the connection, select workspaces and choose an expiry of 7, 30 or 90 days.
  3. Create the connection. Save the token in your agent’s secret settings; Mokara shows it once.
  4. Use the same /api/mcp server URL and configure this header:
Authorization: Bearer <your-issued-token>

Keep the token out of prompts, URLs and shared files. If you lose it, revoke that connection and create another. If creation ends with an uncertain network error, refresh the list and revoke the uncertain entry before retrying.

Expiry and revocation

Sign-in connections last up to 30 days. Access tokens last up to 15 minutes and the client refreshes them within that grant. After 30 days, reconnect and approve access again.

Open Settings → AI connections and choose Revoke beside a connection to remove its access. Leaving a workspace also blocks subsequent reads of that workspace. Requests already authorized may finish.

If something doesn’t connect

The agent never opens sign-in
Check that it supports remote Streamable HTTP and the OAuth features listed above. Otherwise, try a manual token.
The connection request expired
Start again from the agent and complete sign-in and consent in the same browser.
A workspace is missing or denied
Check that you still belong to it and approved it for this connection. To change the selection, revoke and reconnect.
A GitHub repository is missing
Check that GitHub is connected and the repository is active in Mokara Settings → GitHub. Ask the agent to list repositories again. Changing the active list does not require reconnecting MCP. If the agent has no GitHub tools, its connection needs GitHub permission. If Mokara says GitHub authorization expired, reconnect GitHub in Settings.
The client reports an origin or discovery error
Check that the server URL matches the connection settings above and that your client supports the connection methods listed above. Contact Mokara support if the error persists.