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| Server name | Mokara |
|---|---|
| Transport | Streamable HTTP |
| Authentication | OAuth · 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 --yesThis 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
- Open your agent’s MCP or connector settings and add a remote server.
- Enter the Mokara server URL shown in the connection settings above.
- Choose the client’s connect or sign-in action. In the browser, sign in to Mokara with your username and password, Google or GitHub.
- Review the client name, client ID and return address. Client names are supplied by the agent and are not verified by Mokara.
- 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.
- 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
| Permission | Capabilities |
|---|---|
| Read mDrive files | Browse/search active files, read PDF text and view images in selected workspaces. |
| Upload to mDrive | Create folders and upload images/PDFs. Does not grant file deletion or moving permissions. |
| Read workspace data | Tasks, steps, comments, projects, KPIs, progress and attachment content. |
| Create and edit work | Create 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 deletions | Delete eligible tasks, steps, comments, projects, KPIs and files when you explicitly request it. Existing ownership rules apply. |
| Use active GitHub repositories | Find 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.
| Tool | What it does |
|---|---|
list_drive_items | Browse active files and folders with separate pagination. |
search_drive_items | Search file/folder names across an approved workspace. |
get_drive_file | Read file metadata, uploader, type and size. |
read_drive_file | Read PDF text by page, view images, or retrieve bounded byte chunks. |
mDrive upload · 2 tools
Required permission: mokara:drive:upload.
| Tool | What it does |
|---|---|
create_drive_folder | Create a folder, optionally inside another folder. |
upload_drive_file | Upload an image or PDF up to 1 MiB using base64 and a stable request UUID. |
Read · 15 tools
Required permission: mokara:read.
| Tool | What it does |
|---|---|
list_workspaces | List approved workspaces you still belong to. |
list_tasks | List task summaries with search and filters. |
get_task | Read a task’s description, creator and assignee. |
get_task_details | Read steps, KPI bindings, attachment metadata and the GitHub link. |
list_projects | List projects, optionally including archived ones. |
get_project | Read a project and its tasks. |
list_members | List member names, IDs and roles, without emails or credentials. |
list_comments | Read a task’s comments and replies. |
list_kpis | List task-based KPIs and ownership. Business goals have separate tools. |
get_kpi_progress | Read weighted KPI progress. |
get_workspace_progress | Read workspace task progress. |
get_analytics | Read workspace analytics for a chosen day range. |
list_attachments | List task or comment attachment metadata. |
read_attachment | Read attachment content in base64 chunks up to 64 KiB. |
list_operations | Inspect this connection’s write activity and uncertain outcomes. |
Create and edit · 14 tools
Required permission: mokara:write.
| Tool | What it does |
|---|---|
create_task | Create a task with optional steps and GitHub publishing. Publishing also needs GitHub permission and an approved repository. |
update_task | Edit task fields. Status changes on linked issues also need permission for the GitHub repository. |
flag_task | Toggle a task’s flag. |
add_step | Add a task step. |
update_step | Edit or complete a step. |
reorder_steps | Change task step order. |
add_comment | Add a comment or reply. |
update_comment | Edit a comment under normal ownership rules. |
create_project | Create a project. |
update_project | Edit a project. |
create_kpi | Create a task-based KPI, not a measured business goal. |
update_kpi | Edit a task-based KPI. |
set_task_kpis | Replace your KPI bindings on a task, respecting weight limits. |
upload_attachment | Upload an image or PDF up to 1 MiB to a task or comment. |
Delete · 6 tools
Required permission: mokara:delete.
| Tool | What it does |
|---|---|
delete_task | Delete a task. |
delete_step | Delete a task step. |
delete_comment | Delete an eligible comment. |
delete_project | Delete a project; referenced projects follow normal archive behavior. |
delete_kpi | Delete an eligible KPI. |
delete_attachment | Delete an eligible attachment. |
GitHub · 6 tools
Required permission: mokara:github.
| Tool | What it does |
|---|---|
list_github_repositories | List explicitly approved, currently accessible repositories. |
list_github_issues | List repository issues, excluding pull requests. |
get_github_issue | Read an issue by number. |
publish_github_issue | Create a GitHub issue from an existing Mokara task. |
link_github_issue | Link an existing issue to a task and enable synchronization, which may update issue state. |
retry_github_sync | Retry synchronization for a task’s linked issue. |
Business KPI reads · 5 tools
Required permission: mokara:read.
| Tool | What it does |
|---|---|
list_business_kpis | List accessible measured goals, targets, dates and revisions. |
get_business_kpi | Read one goal's definition, latest result and current permissions. |
get_business_kpi_review | Read dated observations for a goal's trend review. |
list_business_kpi_history | Read original check-ins, source notes and immutable history. |
compare_business_kpi_periods | Compare a goal with its linked previous and next periods. |
Business KPI check-ins · 1 tool
Required permission: mokara:write.
| Tool | What it does |
|---|---|
record_business_kpi_check_in | Record 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.
| Tool | What it does |
|---|---|
get_agent_execution_capabilities | Discover readiness, lease and synchronization rules. |
list_ready_agent_tasks | Discover explicitly ready tasks in a workspace or project. |
get_agent_task | Read full instructions, readiness, revision and current execution. |
read_agent_task_snapshot | Read large current instructions in revision-checked JSON chunks. |
list_agent_task_changes | Read the durable task and execution change feed. |
list_agent_execution_history | Read execution history, newest first. |
read_agent_execution_snapshot | Read immutable accepted instructions in JSON chunks. |
Authorize agent work · 4 tools
Required permission: mokara:agent:manage.
| Tool | What it does |
|---|---|
set_task_agent_readiness | Explicitly authorize work or withdraw readiness. |
set_task_agent_sync_paused | Pause discovery without stopping an external process. |
requeue_agent_task | Explicitly authorize a new run after reviewing the previous outcome. |
request_agent_execution_cancellation | Request cancellation; wait for confirmation. |
Execute agent work · 8 tools
Required permission: mokara:agent:execute.
| Tool | What it does |
|---|---|
claim_agent_task | Atomically claim one ready task for this connection and installation. |
start_agent_execution | Start a claimed execution after reading its accepted instructions. |
renew_agent_execution_lease | Renew ownership before the server-time lease expires. |
report_agent_execution_progress | Report progress without renewing the lease. |
complete_agent_execution | Save results without changing ordinary task status. |
fail_agent_execution | Record failure without automatically retrying work. |
acknowledge_agent_execution_cancellation | Confirm the external process has stopped. |
release_agent_execution | Release 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.
- Use
list_business_kpisto select the workspace goal, thenget_business_kpito read its revision and permissions. - Review dates and existing results with
get_business_kpi_revieworcompare_business_kpi_periods. - With
mokara:writeand goal update permission, callrecord_business_kpi_check_inusing a decimal-string value, observation date, source, current revision and request UUID. - Retry with exactly the same UUID and arguments. Read the goal and
list_business_kpi_historyto confirm the result. These check-ins use transactional KPI history and do not appear inlist_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
- Open Settings → AI connections and find Manual token connection.
- Name the connection, select workspaces and choose an expiry of 7, 30 or 90 days.
- Create the connection. Save the token in your agent’s secret settings; Mokara shows it once.
- Use the same
/api/mcpserver 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.