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
| Command | Description |
|---|---|
access add <type> [source] | Create a connection |
access ls | List 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
| Type | Description | Example |
|---|---|---|
notion | Notion data source | access add notion <url> |
github | GitHub repository | access add github <url> |
gmail | Gmail inbox | access add gmail |
url | Web page scraping | access add url <url> |
agent | AI agent | access add agent "name" |
mcp | MCP endpoint | access add mcp "name" |
sandbox | Code sandbox | access add sandbox "name" |
filesystem | Local folder sync | access add filesystem <scope> |
Common options
| Option | Description |
|---|---|
--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 /importsAgent 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 e2bLocal 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 --jsonShow connection details
puppyone access info conn_abc123Pause and resume
# Pause a data-source sync
puppyone access pause conn_abc123
# Resume it
puppyone access resume conn_abc123Delete a connection
puppyone access rm conn_abc123Access 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 --regenerateSync and execution
Trigger sync manually
For data-source connections, run one sync immediately:
puppyone access refresh conn_abc123Set trigger mode
Configure how a connection is triggered:
puppyone access trigger conn_abc123 manual
puppyone access trigger conn_abc123 scheduledRun once
Execute the connection logic directly:
puppyone access run conn_abc123View execution logs
puppyone access logs conn_abc123Update 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 agentPractical 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 lsCreate 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 configurationCreate 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