AI Agents
The Curio CLI lets AI agents search, inspect, organize, and modify Curio projects. Agents that can run command-line tools work most efficiently with Curio’s bundled skills. Other AI clients can connect through the CLI’s Model Context Protocol (MCP) server.
Before you begin
Install and verify the CLI as described in Installing the CLI. See Using the CLI for its commands, fields, transport modes, output, and errors.
Choosing an Integration
| AI client | Recommended integration |
|---|---|
| ChatGPT desktop Work or Codex mode | Curio skills in ~/.agents/skills/ or ~/.codex/skills/ |
| Codex CLI | Curio skills in ~/.agents/skills/ or ~/.codex/skills/ |
| Claude Code CLI or Claude Desktop Code tab | Curio skills in ~/.claude/skills/ |
| Claude Desktop Chat or Cowork tab | Packaged Curio Claude Connector |
| Antigravity CLI or Desktop | Curio skills in the corresponding platform folder |
| ChatGPT web | Secure MCP Tunnel to the local Curio MCP server |
| Other MCP hosts | Curio’s local stdio MCP server |
Skills let a CLI-capable agent call curio directly. MCP hosts instead launch curio mcp-server and interact with its tools, prompts, and resources over standard input and output.
AI Agent Skills
The Curio CLI bundles skill files that teach CLI-capable AI agents how to use the curio command effectively. Installed skills are symlinks to files under /Library/Application Support/CurioCLI/skills/, so they automatically reflect the latest installed CLI version.
Two skills are installed by curio skills install ...:
- curio — all commands, transport modes, fields, workflows, and error handling.
- curio-query — query language syntax, including boolean logic, tags, dates, comparisons, sorting, grouping, scopes, and limits.
A third bundled skill, curio-mcp, remains available as reference material for legacy or manual hosts that support uploaded skill packages. Claude Desktop users should normally install the MCPB connector with curio claude install instead of uploading curio-mcp-upload.zip.
Codex and Claude Code can choose a skill automatically when a request matches its description, or you can invoke one explicitly. In Codex, mention $curio or $curio-query, or type /skills and choose it from the Skills UI. In Claude Code, use /curio or /curio-query.
See OpenAI’s Codex skills documentation and Anthropic’s Claude Code skills documentation for platform-specific details.
Listing Platforms
Use curio skills or curio skills list to see available platforms and their current installation state:
curio skills list
Each platform is reported as installed, partial, or not installed. Status is determined from the platform’s current skill symlinks rather than a separate manifest. Platforms are detected from their configuration directories, such as ~/.agents/ or ~/.claude/. A partial installation identifies the missing skills.
Installing Skills
Install the skills in the common folder used by most AI agents, including ChatGPT/Codex and Gemini/Antigravity but not Claude:
curio skills install agents
Or install them for a specific platform:
curio skills install claude
curio skills install codex
curio skills install agy
curio skills install antigravity
To detect installed platforms and install the skills for all of them:
curio skills install --all
For example, curio skills install agents creates:
~/.agents/skills/curio→/Library/Application Support/CurioCLI/skills/curio~/.agents/skills/curio-query→/Library/Application Support/CurioCLI/skills/curio-query
The command does not install the bundled curio-mcp reference skill as a platform symlink. Installation is idempotent, so running the command again is a safe no-op. If a file or directory not managed by the CLI already exists at a destination, the installer skips it and prints a warning rather than overwriting it.
Uninstalling Skills
Remove skills for one platform:
curio skills uninstall claude
Or remove every Curio CLI-managed installation:
curio skills uninstall --all
Uninstall only removes symlinks that point to the CLI’s bundled skills directory. It does not remove files or symlinks created manually or by another tool.
Browsing Bundled Skills
Open the bundled skills folder in Finder for inspection or manual copying to an unsupported platform:
curio skills reveal
Supported Platforms
| Platform | Skill directory |
|---|---|
| Agents (common folder used by most AI agents) | ~/.agents/skills/ |
| Claude Code | ~/.claude/skills/ |
| Codex | ~/.codex/skills/ |
Antigravity CLI (agy) |
~/.gemini/skills/ |
| Antigravity Desktop | ~/.antigravity/skills/ |
Platforms that support manual skill copying can use curio skills reveal. The ChatGPT desktop app can use skills installed in either ~/.agents/skills/ or ~/.codex/skills/.
Skills Command Summary
curio skills
curio skills install <platform>
curio skills install --all
curio skills uninstall <platform>
curio skills uninstall --all
curio skills reveal
MCP Server
The same curio binary can run as a stdio MCP server:
curio mcp-server
curio mcp-server --log ~/Library/Logs/curio-mcp.log
This mode is launched by an MCP host such as Claude Desktop. It is not a daemon or background service. The host starts the server on demand, communicates with it over stdin/stdout for the session, and then shuts it down.
The MCP server shares its command runner with the CLI so the two surfaces stay aligned.
| MCP tool | CLI equivalent | Purpose |
|---|---|---|
curio_query |
curio query |
Search figures or inspect a live selected target. |
curio_get |
curio get |
Read properties for a figure, idea space, or Organizer item. |
curio_set |
curio set |
Update writable properties. |
curio_create |
curio create |
Create sections, folders, and idea spaces. |
curio_move |
curio move |
Move a figure or Organizer item. |
curio_batch |
curio batch |
Run command batches with pseudo-variable references. |
curio_fields |
curio fields |
List automation fields. |
curio_field_detail |
curio fields <name> |
Describe one field and its usage. |
curio_docs |
bundled MCP docs | Read bundled MCP guidance. |
curio_tags |
curio tags |
List project tags. |
curio_export |
curio export |
Export a figure or live selection. |
curio_import |
curio import |
Import files, content, or Spread PDF pages. |
curio_navigate |
curio navigate |
Navigate to a project, section, idea space, or figure. |
curio_save |
curio save |
Save the current or specified open project. |
curio_sections |
curio sections |
List the section hierarchy. |
curio_assets |
curio assets |
List figures and assets. |
curio_project_center |
curio project-center |
List Project Center categories and project paths. |
curio_status |
curio status |
Check app state, projects, transport, and selection availability. |
curio_help |
curio help |
Show CLI help. |
curio_version |
curio --version |
Show CLI version information. |
curio_update |
curio update |
Check CLI update status. |
curio_docs supports the topics overview, query-language, workflows, and transport-modes. It provides read-only guidance for hosts that do not expose MCP resources directly.
curio_project_center uses Curio’s live Project Center when the app is available and otherwise reads the persisted Project Center and Recently Opened snapshots. Its operation is categories or projects; projects accepts an optional category UUID or title. Check result.data_source for live or persisted.
The server also exposes MCP-native resources at identifiers such as:
curio-mcp://docs/overviewcurio-mcp://docs/query-languagecurio-mcp://docs/workflowscurio-mcp://docs/transport-modes
It exposes prompts for workflows including build_curio_query, inspect_curio_selection, and update_curio_item.
MCP resource identifiers
curio-mcp://docs/... identifiers belong to the MCP server. An MCP client passes them back to the server during resources/read; macOS and Curio do not open them. They are intentionally separate from Curio’s real curio:// link scheme.
Manual MCP Host Configuration
Claude Desktop users should normally install the packaged connector. For other MCP hosts, use this stdio server configuration:
{
"mcpServers": {
"curio": {
"command": "/Library/Application Support/CurioCLI/bin/curio",
"args": ["mcp-server"]
}
}
}
If your host expects only the server entry, use:
{
"command": "/Library/Application Support/CurioCLI/bin/curio",
"args": ["mcp-server"]
}
Use /Library/Application Support/CurioCLI/bin/curio for host-launched MCP connections. This installed path remains stable across CLI updates.
Integrating with AI Clients
Shared Agents Folder
Many AI agent tools, including ChatGPT/Codex and Gemini/Antigravity but not Claude, use the common ~/.agents/ folder:
curio skills install agents
This installs the Curio skills under ~/.agents/skills/. Remove them with curio skills uninstall agents, or remove every CLI-managed Curio skill installation with curio skills uninstall --all.
Codex CLI
For the Codex CLI (codex), install skills in the shared folder:
curio skills install agents
Or install them only for Codex:
curio skills install codex
The second command installs curio and curio-query under ~/.codex/skills/. Launch Codex and type $curio or $curio-query to invoke one directly. Typing $ displays installed skill completions, and /skills lists or manages them. Codex can also choose a matching skill automatically.
Remove the Codex-specific installation with curio skills uninstall codex.
ChatGPT Desktop
The ChatGPT desktop app offers Chat, Work, and Codex modes.
Which mode should you use?
- Chat mode cannot interact with the Curio app or invoke its installed skills.
- Choose Work to use Curio skills with your projects—for example, to search, inspect, organize, modify, or produce deliverables.
- Choose Codex for software development with codebase context and developer tools—for example, to write Python scripts that automate Curio workflows.
Install the skills in the shared folder:
curio skills install agents
Or install them only for ChatGPT’s Codex mode:
curio skills install codex
Verify the installation in ChatGPT by opening Settings, choosing Plugins, and selecting Skills. The Curio skills should appear when installed in either folder.
ChatGPT Web
ChatGPT on the web can connect to Curio’s local stdio MCP server through OpenAI’s Secure MCP Tunnel. This avoids exposing a public inbound port on your Mac, but ChatGPT can still request Curio data through the tools you allow.
Unsupported feature
Curio does not support configuring or troubleshooting OpenAI’s Secure MCP Tunnel. It may involve your organization’s infrastructure, security policies, or firewall. Consult OpenAI’s documentation for assistance.
How the Tunnel Works
- Curio provides
/Library/Application Support/CurioCLI/bin/curio mcp-server. - OpenAI’s
tunnel-clientruns on your Mac and launches that command over stdio. - The client opens an outbound HTTPS connection to OpenAI’s tunnel service.
- ChatGPT sends MCP requests through the tunnel, which forwards them to Curio locally.
Requirements
- The current Curio CLI.
- OpenAI access to Secure MCP Tunnel and ChatGPT custom connectors.
- A tunnel created in OpenAI Platform.
- A runtime OpenAI API key permitted to use that tunnel.
- OpenAI’s
tunnel-clienton the Mac that can run Curio. - The Curio app running for current-selection, current-idea-space, navigation, import/export, or property-change workflows.
Read-only offline queries against a .curio file can use MCP tools that expose project_path. For selection-based work or project changes, run tunnel-client as your normal logged-in Mac user while Curio is open.
Setup Outline
Follow OpenAI’s Secure MCP Tunnel documentation to create the tunnel and install tunnel-client. Point the local stdio profile at Curio’s installed MCP server:
export CONTROL_PLANE_API_KEY="sk-..."
tunnel-client init \
--sample sample_mcp_stdio_local \
--profile curio \
--tunnel-id tunnel_0123456789abcdef0123456789abcdef \
--mcp-command "/Library/Application Support/CurioCLI/bin/curio mcp-server"
Validate and run it:
tunnel-client doctor --profile curio --explain
tunnel-client run --profile curio
Keep tunnel-client run --profile curio running while ChatGPT uses the connector. In ChatGPT’s connector settings, create a custom connector, choose Tunnel, and select or paste its tunnel ID.
Start verification with read-only Curio tools such as status, fields, docs, and query. Enable tools that can change state—such as set, import, export, navigate, create, move, or batch—only when you are comfortable allowing those actions against local Curio projects.
Claude Code CLI
For the Claude Code CLI (claude), install the skills with:
curio skills install claude
This installs curio and curio-query under ~/.claude/skills/. Launch Claude Code and type /curio or /curio-query to invoke a skill, or /skills to list installed skills. Claude Code can also choose a matching skill automatically.
Remove them with curio skills uninstall claude, or remove every CLI-managed installation with curio skills uninstall --all.
Claude Desktop
Claude Desktop has three tabs with different integration behavior:
- The Code tab behaves like Claude Code CLI and reads
~/.claude/skills/. - The Chat and Cowork tabs connect over MCP through the Curio Claude Connector.
Code Tab
Install the CLI-oriented skills just as you would for Claude Code:
curio skills install claude
The Code tab can then call curio directly without an MCP layer.
Chat and Cowork Tabs
Install the packaged Curio Claude Connector:
curio claude install
This creates an .mcpb connector package, opens it in Claude Desktop, and lets Claude install Curio’s tool and prompt metadata. No claude_desktop_config.json edit or manual skill upload is required.
To create the package without opening it immediately:
curio claude package
curio claude package --output ~/Desktop/curio.mcpb
The package command reveals the .mcpb file in Finder by default. Add --no-reveal when scripting package creation.
Troubleshooting the Claude Connector
Verify the CLI and connector prerequisites with:
curio claude doctor
The command checks the installed curio path, connector resources, Claude Desktop availability, old mcpServers.curio entries, and whether the MCP server answers an initialize request.
Claude Desktop groups Curio tools into read-only and write/delete categories. You can set tools such as Query, Get, Docs, and Status to Always Allow while leaving tools such as Set, Import, Export, and Navigate at Needs Approval.
To uninstall the packaged connector:
- In Claude Desktop, click Customize in the sidebar.
- Click Connectors.
- Select the Curio connector.
- Click Uninstall.
Uninstall from Customize
Do not uninstall the packaged connector through Settings > Connectors. That path may not remove it reliably; use Customize > Connectors.
Manual Claude Desktop Configuration
The packaged connector is preferred. For the older manual setup, edit ~/Library/Application Support/Claude/claude_desktop_config.json and add:
{
"mcpServers": {
"curio": {
"command": "/Library/Application Support/CurioCLI/bin/curio",
"args": ["mcp-server"]
}
}
}
If the file already contains preferences or other top-level objects, add mcpServers beside them with valid JSON punctuation.
To remove a manual configuration, quit Claude Desktop, remove the curio entry from mcpServers, and relaunch. Remove the mcpServers key too if it is then empty.
Edit the configuration directly
Do not use the Settings UI’s Disconnect button for a classic manual mcpServers.curio entry. The UI can report “Invalid server ID format” because the entry has a name rather than a UUID or mcpsrv_* ID.
Antigravity CLI
For Antigravity CLI (agy), formerly Gemini CLI (gemini), install the skills with:
curio skills install agy
This installs them under ~/.gemini/skills/. Launch agy and type /curio to see the Curio skills or /skills to list installed skills.
Remove them with curio skills uninstall agy, or remove every CLI-managed installation with curio skills uninstall --all.
Antigravity Desktop
Antigravity Desktop uses a separate skill directory:
curio skills install antigravity
This installs the skills under ~/.antigravity/skills/. Remove them with curio skills uninstall antigravity.
Working with AI Agents
Once an integration is installed, begin with a first prompt to see how Curio and the agent work together. Many focused tasks can then be requested with a single ordinary-language instruction. For more complex, multi-step work, use the planning workflow that follows.
First Prompts
For agents using the Curio skills, such as ChatGPT Work or Codex, Codex CLI, Claude Code, Claude Desktop’s Code tab, and Antigravity:
What can you do with the Curio skills available to you? Summarize what you can do with my Curio projects.
For an MCP client such as Claude Desktop’s Chat or Cowork tab:
What Curio MCP tools, prompts, and resources are available? Summarize what you can do with my Curio projects.
After the agent confirms its capabilities, try a read-only request:
Check whether Curio is running, then summarize the selected figure or active idea space without changing anything.
Or explore a project file without opening it in Curio:
Inspect
~/Documents/MyProject.curioin read-only mode. Summarize its sections, major idea spaces, and active tasks.
For Complex Workflows: Plan, Refine, Then Act
Some outcomes involve enough decisions or coordinated changes that they cannot be captured reliably in one instruction. You still do not need to know Curio’s commands or specify every implementation detail yourself. Describe the outcome, then let the agent use Curio’s published skills to develop the command-level plan with you:
- Describe the desired outcome in ordinary language. Explain what you want to accomplish, which project or selection is involved, and any important constraints.
- Ask the agent to propose a plan without changing anything yet. The agent can inspect available Curio capabilities, identify the necessary steps, and surface questions or assumptions before taking action.
- Refine the plan conversationally. Add details, correct assumptions, change the sequence, or ask the agent to make the plan more thorough. Continue until the proposed result and workflow look right.
- Say “Do it.” This clearly tells the agent that the planning phase is complete and it may carry out the approved workflow.
This approach lets you begin with a simple goal while the agent expands it into a detailed, reliable sequence of skills-based Curio commands. It also gives you an opportunity to review the scope and catch misunderstandings before anything changes.
For example:
I want to prepare this Curio project for a screencast that demonstrates how research moves from an inbox into an organized presentation. Propose a detailed plan using the Curio skills, but do not change anything yet.
After reviewing the response, refine the plan in the same conversation. When you are satisfied, reply:
Do it.
Prompting Tips
- Name the scope. Say whether to use the running Curio app, the current selection, the active idea space, or a specific
.curioproject path. - State whether changes are allowed. Ask for read-only inspection when you do not want modifications. For changes, say whether the agent may act immediately or should propose a plan first.
- Ask for a preview. For bulk edits, request the matching item count and a short sample before approving the mutation.
- Describe the result, not the command. The installed skills teach the agent the command syntax. A request such as “find overdue active tasks, group them by project, and summarize blockers” is usually enough.
- Be explicit about saving. After a live mutation workflow, ask the agent to save the affected Curio project.
- Use stable targets. For repeatable automation, ask the agent to use UUIDs or identifiers after discovery instead of relying only on titles.
- Separate inspection from action. A two-step workflow—first inspect, then approve changes—makes large or ambiguous jobs easier to verify.
- Keep approvals for risky tools. In MCP clients, consider automatic approval only for read-only tools and require confirmation for tools that create, update, move, import, export, or navigate.
Example Workflows
Find all active tasks due in the next seven days, group them by tag, and summarize the three most urgent items. Do not change the project.
Examine the current selection, explain which properties can be changed, and wait for my approval before editing anything.
Find figures tagged
Research/Inbox, show me a five-item sample, then ask whether I want you to move the matches into the Research idea space.Create a section named “Client Work” with an idea space for each client in this list. Show the proposed structure before creating it, then save the project when finished.
List every file-backed asset in this project and produce a manifest with its title, section path, Organizer path, and asset file path. Do not modify any files.
Help me write and test a reusable Curio query for overdue, incomplete, high-priority tasks. Explain the query before running it.
Creating Standalone Scripts
An AI agent can also turn a recurring Curio workflow into a standalone shell or Python script that you save to disk and run whenever you need it. Describe the result you want in ordinary language; the agent can use Curio’s skills to choose the appropriate commands, parse their JSON output, handle errors, and document how to run the finished script.
The agent creates the script; the CLI runs it
Once the script has been created, it calls the curio CLI directly. Running it does not require ChatGPT, Codex, Claude, an MCP connection, or another AI agent. The agent is only involved while creating, testing, or later improving the script.
The finished script becomes an ordinary reusable automation. You can launch it yourself, schedule it with tools such as launchd, or call it from another workflow using only its normal runtime—such as the shell or Python—and the installed Curio CLI.
The script can be as simple as monitoring project backup folders and reporting missing or stale backups, or as sophisticated as querying several Curio projects and generating an interactive dashboard. For example:
Write a Python script that checks my Curio project backup folder, reports projects without a recent backup, and exits with an error if any backup is more than seven days old. Save the script to disk and include usage instructions.
Build a local dashboard that queries my Curio projects for active tasks, upcoming due dates, and project status. Propose the data model and interface first, without creating files yet.
A coding agent such as Codex or Claude Code is especially useful for this work because it can create and refine the script directly in a working folder, run it, inspect failures, and add tests. If the result includes a web interface, a coding agent with browser tools may also be able to open the dashboard, exercise its controls, and verify the rendered output.
Start with read-only testing
When possible, have the agent develop and test against a copied project or Curio’s read-only --project mode first. Before allowing a script to change a live project, ask the agent to show which commands will mutate data, add clear error handling, and verify that the intended project is targeted. Live scripts that make changes should finish with curio save.