English
CLI Reference
Unified Connection Management

Unified Access Management

puppyone access is PuppyOne's unified access management command. Every external integration, including data-source sync, agents, MCP endpoints, sandboxes, and local folders, is managed through the same command family.


Command overview

CommandDescription
access add <type> [source]Create a connection
access lsList all connections
access info <id>Show connection details
access pause <id>Pause a connection
access resume <id>Resume a connection
access rm <id>Delete a connection
access key <id>Show the access key
access refresh <id>Trigger sync manually
access trigger <id> <mode>Set trigger mode
access update <id>Update configuration
access logs <id>Show execution logs
access run <id>Run the connection once
access schema <provider>Show configuration fields

Create connections

access add is the main entry point. The first argument selects the connection type, and the remaining arguments and flags depend on that type.

Connection types

TypeDescriptionExample
notionNotion data sourceaccess add notion <url>
githubGitHub repositoryaccess add github <url>
gmailGmail inboxaccess add gmail
urlWeb page scrapingaccess add url <url>
agentAI agentaccess add agent "name"
mcpMCP endpointaccess add mcp "name"
sandboxCode sandboxaccess add sandbox "name"
filesystemLocal folder syncaccess add filesystem <scope>

Common options

OptionDescription
--name <name>Connection name
--folder <path>Cloud directory to store data
--mode <mode>Sync mode
--model <model>Model used by an agent
--system-prompt <text>System prompt for an agent
--type <type>Sandbox type, e2b or docker
--api-key <key>API key
--config <json>Advanced JSON configuration

Data source connections

Pull data from external platforms into your Content Node tree:

# Notion: sync one page
puppyone access add notion https://notion.so/my-page-id --folder /docs
 
# GitHub: sync one repository
puppyone access add github https://github.com/org/repo --folder /code
 
# Gmail: sync email
puppyone access add gmail
 
# Web page scraping
puppyone access add url https://example.com/article --folder /imports

Agent connections

Create an AI agent and bind its model and tools:

# Create a GPT-4o agent
puppyone access add agent "My Bot" --model gpt-4o
 
# Create an agent with a system prompt
puppyone access add agent "Analyst" --model gpt-4o --system-prompt "You are a data analyst"

MCP endpoints

Create an MCP endpoint so clients such as Cursor and Claude Desktop can access your data directly:

puppyone access add mcp "My Endpoint"

After creation, use access key to retrieve the access key and configure it in the client.

Sandboxes

Create an isolated code execution environment:

# Default sandbox
puppyone access add sandbox "Runner"
 
# Explicit E2B sandbox
puppyone access add sandbox "Runner" --type e2b

Local folder sync

Sync a local directory to the cloud via the MUT protocol. Two common shapes:

# A) One-shot — folder already on disk, attach it now
puppyone access add filesystem docs --link ~/my-docs
 
# B) Cloud-side only, attach later
puppyone access add filesystem docs
 
# Then pick the command printed in the output that matches your case:
#   cloud has content, no local folder yet → fresh checkout
mut clone <url> --credential <key>
 
#   local folder already has files → attach (three-way merge, no overwrite)
cd ~/my-docs
mut connect <url> --credential <key>

See the Local Folder Sync docs for the full workflow.


Inspect and manage connections

List all connections

# List everything
puppyone access ls
 
# Filter by provider
puppyone access ls --provider notion
 
# Filter by status
puppyone access ls --status active
 
# JSON output
puppyone access ls --json

Show connection details

puppyone access info conn_abc123

Pause and resume

# Pause a data-source sync
puppyone access pause conn_abc123
 
# Resume it
puppyone access resume conn_abc123

Delete a connection

puppyone access rm conn_abc123

Access key management

Agents, MCP endpoints, and sandboxes all authenticate with access keys.

# Show the access key
puppyone access key conn_abc123
 
# Regenerate the access key
puppyone access key conn_abc123 --regenerate

Sync and execution

Trigger sync manually

For data-source connections, run one sync immediately:

puppyone access refresh conn_abc123

Set trigger mode

Configure how a connection is triggered:

puppyone access trigger conn_abc123 manual
puppyone access trigger conn_abc123 scheduled

Run once

Execute the connection logic directly:

puppyone access run conn_abc123

View execution logs

puppyone access logs conn_abc123

Update configuration

Modify the configuration of an existing connection:

# Update one setting
puppyone access update conn_abc123 --set name="New Name"
 
# Update multiple settings with JSON
puppyone access update conn_abc123 --config '{"folder": "/new-path", "mode": "incremental"}'

Show config fields

Inspect which config fields a given connection type supports:

puppyone access schema notion
puppyone access schema agent

Practical workflows

Set up multiple data sources for a project

# Connect Notion docs
puppyone access add notion https://notion.so/wiki-page --folder /wiki
 
# Connect a GitHub repo
puppyone access add github https://github.com/org/docs --folder /github
 
# Connect Gmail
puppyone access add gmail
 
# Inspect connection health
puppyone access ls

Create and use an MCP endpoint

# Create the endpoint
puppyone access add mcp "Cursor Endpoint"
 
# Get the access key
puppyone access key <id>
 
# Use that key in Cursor MCP configuration

Create and manage a sandbox

# Create a sandbox
puppyone access add sandbox "Code Runner" --type e2b
 
# Inspect details
puppyone access info <id>
 
# Get the access key
puppyone access key <id>
 
# Trigger one execution
puppyone access run <id>
 
# View execution logs
puppyone access logs <id>

Manage many connections in bulk

# List paused connections
puppyone access ls --status paused --json
 
# Resume all paused connections from a script
for id in $(puppyone access ls --status paused --json | jq -r '.[].id'); do
  puppyone access resume "$id"
done