Tools reference

All tools available through mcp.clawnify.com via tools/call.

clawnify_execute

Run TypeScript on your agent’s managed runtime. Returns stdout, stderr, exit code, and duration.

Input:

FieldTypeRequiredDescription
codestringyesTypeScript source. Top-level await supported.
timeout_msnumbernoWall-clock timeout in milliseconds. Default 30000. Range 1000–300000.

Output:

{
  "execution_id": "<uuid>",
  "stdout": "...",
  "stderr": "...",
  "exit_code": 0,
  "duration_ms": 412,
  "timed_out": false,
  "substrate_id": "<opaque>",
  "runtime": "openclaw"
}

Notes:

  • Resource caps enforced: 512 MB memory, 50% CPU, 128 tasks.
  • Runs on your org’s managed runtime, isolated per-org. No cross-org compute.
  • The agent’s environment is pre-wired: file system, connected integrations, and scoped credentials are all available.

Search across your org’s apps’ procedure docs. Returns ranked hits.

Input:

FieldTypeRequiredDescription
querystringyesFree-text query, e.g. “send email” or “overdue invoices”.
app_slugstringnoRestrict search to one app.
limitnumbernoMax hits. Default 10.

Output:

{
  "hits": [
    {
      "app_slug": "quotes",
      "app_name": "Quotes",
      "procedure_name": "createQuote",
      "snippet": "Create a new quote for a customer with line items.",
      "score": 1.5
    }
  ]
}

Procedure-level hits outweigh app-level hits.

clawnify_list_apps

List the apps in your org.

Input: none.

Output:

{
  "apps": [
    {
      "id": "<uuid>",
      "slug": "quotes",
      "name": "Quotes",
      "description": "Customer quote generation",
      "status": "live",
      "created_at": "2026-..."
    }
  ]
}

clawnify_list_specialists

List the agents (servers) in your org.

Input: none.

Output:

{
  "specialists": [
    {
      "id": "<uuid>",
      "name": "Sales Agent",
      "status": "ready",
      "region": "eu",
      "created_at": "2026-..."
    }
  ]
}

clawnify_get_usage

Current plan + quota.

Input: none.

Output:

{
  "subscription": {
    "plan": "first_hire",
    "status": "active",
    "current_period_end": "2026-..."
  }
}

Search your org’s Company Knowledge — your single source of truth for policies, pricing, brand, SOPs, and FAQs — and get back the most relevant passages with a citation. Use it whenever you need a company fact, then cite the answer as Per <Title> v<N>.

Input:

FieldTypeRequiredDescription
querystringyesWhat you need, in plain language (e.g. “refund window for annual plans”).
topKnumbernoHow many passages to return. Default 10.
doc_typestringnoOptionally narrow to one document category.

Returns the matching passages with their title, version, and citation. An empty result means nothing matched — answer from another source.

company_knowledge_get

Read a full Company Knowledge document by id (from a search result). Returns the complete document, including links to related ones. Only published documents are visible.

Input: id (required) — the document to read; version (optional) — a specific version, otherwise the latest.

projects_list

List the Projects available to the agent — its own workspace, the company file library, and any shared client or engagement Projects. Projects hold scoped working reference for one client or engagement, separate from org-wide Company Knowledge.

Input: none. Returns each Project’s id, name, and kind.

Search within one Project (get its id from projects_list) for reference about that specific client or engagement.

Input:

FieldTypeRequiredDescription
project_idstringyesThe Project to search (from projects_list).
querystringyesWhat you’re looking for, in plain language.
topKnumbernoHow many passages to return. Default 10.

memory_recall

Search the agent’s long-term memory and return the most relevant durable memories — preferences, past commitments, and facts it saved earlier.

Input:

FieldTypeRequiredDescription
querystringyesWhat you’re trying to remember, in plain language.
topKnumbernoHow many memories to return. Default 5.

memory_write

Save something the agent should remember across sessions — a preference, a commitment, or a stable fact. Not for throwaway task state.

Input:

FieldTypeRequiredDescription
typestringyesThe kind of memory (e.g. a preference, commitment, or fact).
contentstringyesThe memory, written as a complete sentence so it makes sense on its own later.

<app_slug>_<procedure> — per-app direct tools

For apps with five or fewer procedures, each procedure appears as a direct tool with the same name as the procedure. Parameters and return shape match the app’s manifest.

Example:

Your quotes app has a createQuote procedure that takes { customer_id, items }. It shows up as quotes_createQuote in tools/list. The agent calls it with the same arguments it would pass to the procedure directly.

Apps with more than five procedures don’t auto-project — the agent reaches them via clawnify_execute instead (write code that imports the typed client; clawnify_docs_search helps it find the right procedure).

Errors

All tools return MCP-shaped { content: [...], isError: true } on failure. JSON-RPC errors (auth, rate limit, malformed request) come back as standard JSON-RPC error responses.

Common error codes:

CodeMeaning
-32001Unauthorized — missing or invalid token.
-32002Tool not found.
-32603Internal error.
429Rate limit exceeded.