CLI & MCP

AI Agent Setup Guide

Connect AI agents to WaymakerOS via Cloud MCP. Create an access key, configure your AI tool, and get 95 tools across Commander and Host.

Claude CodeCursorClaude DesktopCloud MCP
Last updated: March 7, 20268 min read

Overview

This guide explains how to connect AI agents to WaymakerOS. Once connected, your AI agent can manage tasks, documents, goals, notes and files (MyVault), deploy apps, create ambassadors, and control your entire workspace through natural language.

What You'll Learn

  • How to create an access key
  • How to configure Claude Desktop, Claude Code, and Cursor
  • Two connection methods: Cloud MCP (recommended) and Local CLI
  • Complete list of 111 available MCP tools

Before You Start

You need a Waymaker account. Don't have one? Sign up at commander.waymakerone.com — about 2 minutes.

The fastest way to connect is the Cloud MCP — no CLI installation required.

Step 1: Create an Access Key

  1. Sign in at commander.waymakerone.com
  2. In the left sidebar, click SettingsAccess Keys
  3. Click Create Access Key, give it a name (e.g., "My Claude Desktop")
  4. Copy the key — it starts with wm_sk_ and is only shown once

Your access key is you. It carries your identity and grants the same access you have in the UI — across both Commander and Host. No separate permission scoping needed.

Step 2: Configure Your AI Tool

Add the Waymaker MCP server to your AI tool's configuration:

Claude Desktop — easiest for non-developers. In Claude Desktop, open SettingsDeveloper → click Edit Config. This opens claude_desktop_config.json in your text editor. Paste this in (replacing wm_sk_your_access_key_here with your key):

{
  "mcpServers": {
    "waymaker": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": {
        "Authorization": "Bearer wm_sk_your_access_key_here"
      }
    }
  }
}

Claude Code (.mcp.json in project root):

{
  "mcpServers": {
    "waymaker": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": {
        "Authorization": "Bearer wm_sk_your_access_key_here"
      }
    }
  }
}

Important: Claude Code loads MCP servers from .mcp.json at the project root, not from .claude/settings.json (which is for project permissions and allowed tools). The "type": "http" field is required for streamable HTTP transport. Add .mcp.json to your .gitignore since it contains your access key.

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "waymaker": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": {
        "Authorization": "Bearer wm_sk_your_access_key_here"
      }
    }
  }
}

Step 3: Restart and Test

Restart your AI tool. Ask: "List my workspaces" or "What Waymaker tools are available?"

You should see the full set of Commander and Host tools listed.

Alternative: Local CLI (for Sync)

If you need bidirectional file sync between your IDE and Commander, install the Waymaker CLI:

npm install -g @waymakeros/cli
waymaker auth login    # OAuth browser sign-in
waymaker init          # Link project to workspace

Then configure MCP to use the local server:

{
  "mcpServers": {
    "waymaker": {
      "command": "waymaker",
      "args": ["serve", "-p", "/path/to/your/project"]
    }
  }
}

The local CLI provides sync tools that work with .commander/ folders in your project. For most users, the Cloud MCP is simpler and provides the full tool set without installation.

Partner Setup — Organization Isolation

Critical for partners managing multiple clients. Each access key is scoped to one organization. If you use the wrong key, all work lands in the wrong org. This is not recoverable — you'll have to delete and recreate the resources.

Cloud MCP: Named servers per client

If using Cloud MCP, add a separate server entry per client in your AI tool config:

{
  "mcpServers": {
    "waymaker-acme": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": {
        "Authorization": "Bearer wm_sk_acme_key_here"
      }
    },
    "waymaker-globex": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": {
        "Authorization": "Bearer wm_sk_globex_key_here"
      }
    }
  }
}

Use descriptive server names (waymaker-acme, not waymaker) so you always know which org you're targeting.

Cloud MCP: Per-project config

For Claude Code, create a .mcp.json file in each client's project root with their access key:

{
  "mcpServers": {
    "waymaker-acme": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": {
        "Authorization": "Bearer wm_sk_client_access_key_here"
      }
    }
  }
}

Important: Claude Code loads MCP servers from .mcp.json, not .claude/settings.json. The .claude/settings.json file is for project permissions and allowed tools — MCP servers defined there will not load.

Add .mcp.json to .gitignore — it contains the access key.

Local CLI: Per-project config

If using waymaker serve as a local MCP server, create a .mcp.json with the client's access key in the env block:

{
  "mcpServers": {
    "waymaker": {
      "command": "waymaker",
      "args": ["serve"],
      "env": {
        "WAYMAKER_API_KEY": "wm_sk_client_access_key_here"
      }
    }
  }
}

The env.WAYMAKER_API_KEY overrides the global OAuth token. The CLI authenticates as the client's org.

Multi-client project layout

acme-project/.mcp.json      → Acme's access key
globex-project/.mcp.json     → Globex's access key

Verification

Before doing any work, always confirm you're in the right org:

export WAYMAKER_API_KEY=wm_sk_client_key_here
waymaker auth status
# → Must show the CLIENT's organization name, not yours

If it shows your org, the key is wrong — it was created while the user was logged into the wrong organization in Commander.

Available MCP Tools

Task Management (8 tools)

ToolDescription
commander_task_readGet task details
commander_task_createCreate a new task
commander_task_updateUpdate task status, title, or description
commander_task_deleteDelete a task
commander_task_assignAssign task to a user
commander_task_list_mineList your assigned tasks
commander_taskboard_tasksList all tasks on a taskboard
waymaker_kanban_viewFormatted kanban board view

Documents (4 tools)

ToolDescription
commander_document_listList documents in a workspace
commander_document_getGet document content
commander_document_createCreate a new document
commander_document_updateUpdate document content

Sheets (4 tools)

ToolDescription
commander_sheet_listList sheets in organization
commander_sheet_getGet sheet with cell data
commander_sheet_createCreate a new spreadsheet
commander_sheet_updateUpdate sheet metadata or cells

Folders (5 tools)

ToolDescription
commander_folder_listList folders in a project
commander_folder_getGet folder details
commander_folder_createCreate a folder
commander_folder_updateUpdate folder properties
commander_folder_deleteDelete a folder

Goals & OKRs (6 tools)

ToolDescription
commander_goal_listList goals/OKRs
commander_goal_getGet goal with key results
commander_goal_createCreate a new objective
commander_goal_updateUpdate goal progress/status
commander_key_result_createCreate a key result
commander_key_result_updateUpdate key result progress

Roles (5 tools)

ToolDescription
commander_role_listList organizational roles
commander_role_getGet role with assignments
commander_role_createCreate a role definition
commander_role_updateUpdate role details
commander_role_assignAssign user to role

Workspaces & Projects (7 tools)

ToolDescription
commander_workspace_listList workspaces
commander_workspace_createCreate a workspace
commander_workspace_updateUpdate workspace settings
commander_project_listList projects
commander_project_getGet project details
commander_project_createCreate a project
commander_project_updateUpdate project settings

Teams & Users (7 tools)

ToolDescription
commander_team_listList teams
commander_team_createCreate a team
commander_team_add_memberAdd users to team
commander_team_remove_memberRemove users from team
commander_user_listList organization users
commander_user_getGet user details
commander_user_inviteInvite user to organization

Frameworks (4 tools)

ToolDescription
commander_framework_listList available frameworks
commander_framework_getGet framework with book context
commander_framework_applyApply framework to your business
commander_framework_categoriesList framework categories

Connections (8 tools)

ToolDescription
commander_connection_listList connections in a workspace
commander_connection_getGet connection details
commander_connection_createCreate a connector, webhook, or signal
commander_connection_updateUpdate connection settings, table mapping, field mapping
commander_connection_deleteDelete a connection
commander_connection_eventsGet recent events for a connection
commander_connection_test_eventSend a test event to a webhook
commander_connection_webhook_tokenRegenerate webhook token

Webhook connections auto-generate a URL: https://apps.waymakerone.com/functions/v1/connection-webhook-receiver?token=whk_xxx. Point any form or service at this URL — incoming data creates rows in the destination table automatically.

My Notes (9 tools)

Each user has a personal MyVault — a private, versioned second brain for markdown notes and files. These tools operate on the calling user's vault only; org admins cannot read other users' vaults. For an end-user overview, see the MyVault section.

ToolDescription
commander_notes_vault_statusCheck provisioning state and storage quota for the user's vault
commander_notes_vault_initCreate the user's vault (idempotent) and seed root files (README, CLAUDE.md, AGENTS.md, .mcp.json, folders)
commander_notes_folders_listList the folder tree of the vault
commander_notes_listList notes, optionally filtered by folder, tag, or paginated
commander_notes_readRead a single note's full markdown content by path
commander_notes_createCreate a new markdown note at a vault path (parent folders auto-created)
commander_notes_updateUpdate an existing note's content (optional base_ref for safe concurrent edits)
commander_notes_deleteSoft-delete a note by moving it to archive/ (recoverable)
commander_notes_searchFull-text search across markdown notes in the vault
commander_notes_vault_clone_tokenGenerate a git clone command + token to open the vault in VS Code, Cursor, or Claude Code

Files in the vault — any-size files live alongside your notes:

ToolDescription
commander_vault_attachAttach a smaller file (≤25 MB) — image, PDF, doc — by base64 or https URL
commander_vault_upload_initStart an any-size upload — returns a one-time direct upload link
commander_vault_upload_completeFinish an any-size upload and file the reference into the vault
commander_vault_attach_getGet a short-lived download link for a vault file
commander_vault_deleteDelete a file from the vault

Note: MyVault notes and files are live. Use commander_notes_* for markdown and the commander_vault_* tools for files. (If you connected before mid-June 2026, reconnect your MCP session so the file tools appear in your tool list.)

Data Tables (9 tools)

ToolDescription
commander_table_listList data tables in a workspace
commander_table_getGet table details and column schema
commander_table_createCreate a new data table with typed columns
commander_table_updateUpdate table name, description, or columns
commander_table_deleteDelete a table and all its rows
commander_table_rowsQuery rows with filters, sorting, and pagination
commander_table_row_insertInsert a row into a table
commander_table_row_updateUpdate a row's data
commander_table_row_deleteDelete a row

Layers, Comments, Search & More (8 tools)

ToolDescription
commander_layer_listList layers on a taskboard
commander_layer_createCreate a layer (epic/category)
commander_layer_deleteDelete a layer
commander_comment_createAdd comment to task
commander_comment_listList task comments
commander_presentationCreate or manage presentations
commander_searchSearch across workspaces
commander_status_listList available statuses

Host Apps (11 tools)

ToolDescription
host_app_listList all apps
host_app_createCreate a new app
host_app_getGet app details
host_app_updateUpdate app settings
host_app_deleteDelete an app
host_app_deployTrigger a deployment
host_app_deploymentsView deployment history
host_app_uploadUpload files directly (Host Direct)
host_app_env_listList environment variables
host_app_env_setSet environment variable
host_app_env_deleteDelete environment variable

Host Ambassadors (10 tools)

ToolDescription
host_ambassador_listList all ambassadors
host_ambassador_createCreate a serverless function
host_ambassador_getGet ambassador details
host_ambassador_deployDeploy serverless function
host_ambassador_invokeInvoke the running ambassador
host_ambassador_logsView invocation logs
host_ambassador_deleteDelete an ambassador
host_ambassador_env_listList environment variables
host_ambassador_env_setSet environment variable
host_ambassador_env_deleteDelete environment variable

Host Domains (4 tools)

ToolDescription
host_domain_setupSet up custom domain
host_domain_verifyVerify DNS configuration
host_domain_statusCheck domain and SSL status
host_domain_removeRemove custom domain

Host GitHub (3 tools)

ToolDescription
host_github_statusCheck GitHub App installation
host_github_connectConnect GitHub account
host_github_disconnectDisconnect GitHub account

Sync & Utilities (8 tools + get_my_info)

ToolDescription
waymaker_sync_statusCheck sync daemon status
waymaker_sync_startStart the sync daemon
waymaker_sync_stopStop the sync daemon
waymaker_sync_configureConfigure sync for a project
waymaker_sync_pollPoll for pending operations
create_kanbanCreate a kanban board
search_knowledgeSearch Waymaker knowledge base
get_my_infoGet current user and org info

Example Workflows

Wire a Contact Form to a Table

"Create a webhook connection called 'Contact Form' in the Website workspace, connected to the enquiries table. Map name, email, phone, and message fields. Give me the webhook URL to use in the form."

Deploy a Website

"Create an app called landing-page from my repo github.com/acme/marketing, it uses Next.js. Deploy it and set up www.acme.com as the custom domain."

Set Up a New Client (Partner)

"Create a workspace called Acme Operations, set up projects for Sales, Marketing, and Product. Apply the OKR Builder framework to define Q2 goals. Create roles for CEO, VP Sales, and VP Marketing. Invite john@acme.com as CEO."

Daily Standup Summary

"Give me a summary of my tasks for the daily standup."

Build from a Framework

"Apply the 7 Questions framework for our new product line, then create a PRD document with the results."

Troubleshooting

"Not authenticated"

Your access key is missing or invalid. Check:

  1. The key starts with wm_sk_
  2. The Authorization header uses Bearer wm_sk_... format
  3. The key hasn't been revoked in Commander > Settings > Access Keys

Tools not appearing

  1. Restart your AI tool completely after config changes
  2. Verify JSON syntax is valid (no trailing commas)
  3. Check the MCP server URL: https://mcp.waymakerone.com/mcp

"Organization not found"

Your access key may be for a different organization. Create a new key from the correct organization in Commander > Settings > Access Keys.

Security

  1. Access keys are you — they carry your identity and permissions
  2. Organization scope — each key is tied to one organization
  3. Store securely — never commit keys to version control
  4. Revoke instantly — disable any key from Commander Settings
  5. Audit trail — all MCP operations are logged

Need help? Contact support at help.waymakerone.com