Documentation Index
Fetch the complete documentation index at: https://docs.coconut.dev/llms.txt
Use this file to discover all available pages before exploring further.
nut coconut
Call peer Coconut MCP tools through the control plane using callback-token authentication. Use this command when you want the CLI, a script, or an agent to reach another Coconut instance through the hosted Coconut MCP endpoint at https://app.coconut.dev/mcp.
nut coconut works with remote peer Coconuts through the control plane. Local workspace commands such as nut task, nut knowledge, nut skill, and nut context manage the current repository’s Coconut data directly.Authentication and Host
nut coconut uses the same control-plane authentication behavior as connector commands:
--token <token>- Pass a callback token for this invocation.COCONUT_CALLBACK_TOKEN- Read the callback token from the environment.- Saved auth config - Use locally saved Coconut auth configuration when available.
--host <url>- Use a specific control-plane host.COCONUT_HOST- Read the host from the environment.- Default -
https://app.coconut.dev.
-t, --token <token>- Callback token.--host <url>- Control plane base URL.-r, --raw- Print the full JSON-RPC envelope on one line.--json- Alias for--raw.
Target Coconut Selection
Commands that operate on a peer Coconut accept one target selector:--id <coconutId>- Target a Coconut by id.--name <name>- Resolve a Coconut by name.
--id and --name are mutually exclusive. When you use --name, the CLI calls coconuts_list, looks for a matching Coconut, and errors if no Coconut matches or if multiple Coconuts match. The resolved target is inserted into the MCP tool arguments as coconutId.
Discovery Commands
nut coconut list
List Coconut instances visible to the signed-in user or active organization. This calls the coconuts_list MCP tool.
nut coconut health
Get health and latency for eligible Coconut instances. This calls coconuts_health_list.
nut coconut tools
List MCP tools currently exposed by the control plane. This calls the JSON-RPC tools/list method and returns each tool’s metadata, including its input schema when provided by the server.
tools when you need to discover the shape of arguments for a raw call:
Raw MCP Escape Hatch
nut coconut call <tool_name>
Invoke any Coconut MCP tool by name. This is the escape hatch for tools that do not have a typed wrapper yet.
tool_name- MCP tool name, such ascoconuts_list,tasks_list, orknowledge_search.
--args <json>- Tool arguments as a JSON object. Defaults to{}.--args @path/to/file.json- Read tool arguments from disk, using the same@fileconvention ascurl -d @.--arg key=value- Add or override one argument key. Repeat for multiple arguments.--id <coconutId>- AddcoconutIdto the MCP arguments.--name <name>- Resolve a Coconut name and add itscoconutIdto the MCP arguments.
--arg values are parsed as JSON when possible. If parsing fails, the value is treated as a string. Repeated --arg flags override matching keys from --args.
priority='"high"' is parsed as JSON and becomes the string high. You can also pass booleans, numbers, arrays, or objects:
Wire Format
nut coconut call sends a JSON-RPC 2.0 request to the control plane:
/mcp endpoint accepts the lowercase x-callback-token header. Connector proxy endpoints use X-Callback-Token.
Context Wrapper
nut coconut context
Read context documents from a peer Coconut. This calls context_get.
--keys is omitted, the server returns its default context set.
Task Wrappers
nut coconut task commands are thin wrappers over the task MCP tools. They operate on a peer Coconut, not the current local workspace. For local repository tasks, use nut task.
nut coconut task list
List tasks on a peer Coconut. This calls tasks_list.
nut coconut task get
Get one task from a peer Coconut. This calls tasks_get.
nut coconut task create
Create a task on a peer Coconut. This calls tasks_create.
nut coconut task update
Update a task on a peer Coconut. This calls task_update.
Knowledge Wrappers
nut coconut knowledge commands are thin wrappers over the knowledge MCP tools. They operate on a peer Coconut, not the current local workspace. For local repository knowledge documents, use nut knowledge.
nut coconut knowledge search
Search knowledge documents on a peer Coconut. This calls knowledge_search.
nut coconut knowledge get
Get a knowledge document by filename or path. This calls knowledge_get.
nut coconut knowledge create
Create a knowledge document on a peer Coconut. This calls knowledge_create.
nut coconut knowledge update
Update an existing knowledge document on a peer Coconut. This calls knowledge_update.
Skill Wrappers
nut coconut skill commands are thin wrappers over the skill MCP tools. They operate on a peer Coconut, not the current local workspace. For local workspace skills, use nut skill.
Aliases:
skillcan also be called asskills.skill listcan also be called asls.skill getcan also be called asshow.skill deletecan also be called asremove.
--id <coconutId> and --name <name> target selection.
nut coconut skill list
List skills on a peer Coconut. This calls skills_list.
nut coconut skill get
Get one skill from a peer Coconut. This calls skills_get with { skillId }.
nut coconut skill create
Create a skill on a peer Coconut. This calls skills_create.
-c, --content <content>- Skill instructions.-f, --file <path>- Read skill instructions from a file.-t, --allowed-tools <tools>- Space-separated allowed tools.--license <license>- Skill license.--compatibility <compatibility>- Compatibility information.--metadata <json>- Metadata JSON object, or@path/to/file.json.
--metadata @metadata.json when metadata is large or generated:
nut coconut skill update
Update a skill on a peer Coconut. This calls skills_update.
-n, --name <name>- Update the skill name.-d, --description <description>- Update the skill description.-c, --content <content>- Update skill instructions.-f, --file <path>- Read updated skill instructions from a file.-t, --allowed-tools <tools>- Update space-separated allowed tools.--license <license>- Update the skill license.--compatibility <compatibility>- Update compatibility information.--metadata <json>- Update metadata with a JSON object.
If you need to rename a skill while targeting a Coconut by name, prefer
--id <coconutId> for the target and -n <newSkillName> for the skill rename.nut coconut skill delete
Delete a skill from a peer Coconut. This calls skills_delete with { skillId }.
Job Wrappers
nut coconut job commands are thin wrappers over the job MCP tools. They operate on scheduled jobs in a peer Coconut.
Aliases:
jobcan also be called asjobs.job listcan also be called asls.job getcan also be called asshow.
--id <coconutId> and --name <name> target selection.
nut coconut job list
List jobs on a peer Coconut. This calls jobs_list.
nut coconut job get
Get one job definition from a peer Coconut. This calls jobs_get with { jobId }.
Output
By default, the CLI prints the most useful part of the MCP result:- Pretty-print
result.structuredContentwhen present. - Otherwise, print the concatenated
result.content[*].textvalues when present. - Otherwise, pretty-print the full
result.
--raw or --json to print the entire JSON-RPC envelope on one line:
data, the CLI prints it below the message.
Errors and Exit Codes
| Code | Condition |
|---|---|
0 | Success - result is present in the JSON-RPC envelope. |
1 | Transport error - network failure, non-2xx response other than 401 or 503, malformed JSON response, invalid --args, or JSON-RPC error outside the reserved range. |
2 | JSON-RPC error with code in -32768..-32000, such as method not found or invalid params. |
3 | HTTP 401 - bad or revoked callback token. |
4 | HTTP 503 - MCP is not configured on the control plane. |
<tool_name>must be non-empty.--args, when provided, must parse as a JSON object.- Arrays, strings, numbers, booleans, and
nullare rejected for--args. --args @path/to/file.jsonreads JSON from disk before validation.
Agent Guidance
When usingnut coconut from an agent or automation:
- Prefer typed wrappers when available:
nut coconut task ...,nut coconut knowledge ...,nut coconut skill ..., andnut coconut job .... - Use
nut coconut toolsto discover newly exposed MCP tools and inspect their schemas. - Use
nut coconut call <tool_name>as the escape hatch for tools without wrappers. - Use
--idwhen exactness matters or a script already has the Coconut id. - Use
--namewhen working from human-readable Coconut names. - Prefer repeated
--arg key=valueflags for simple raw calls, and use--args @file.jsonfor larger structured payloads. - Clearly distinguish local workspace commands (
nut skill,nut task,nut knowledge) from remote peer commands (nut coconut skill,nut coconut task,nut coconut knowledge).