ClicksPalBuy lifetime · $49
On this page

Docs · MCP

Connect your AI agent

Claude Code, Codex, OpenCode, Cursor and other MCP clients can run ClicksPal for you: inspect websites, run SEO audits, plan the content calendar, build pages and publish approved changes.

View as Markdown
Runs on your computer

A local server inside the activated app. Your AI and research accounts remain separate.

84 tools

Websites, audits, the content calendar, builds and publishing.

One step to set up

Click MCP in the app’s sidebar and press Add, or paste one command.

Connect

Pick your agent. ClicksPal needs to be installed and activated.

Claude Code

  1. 1

    One click: in ClicksPal, open MCP in the sidebar and press Add next to your agent. If you move the app, press Update.

  2. 2

    Or run this once. On Windows, replace YOU with your Windows user name, or copy your exact command from ClicksPal’s MCP page.

    Terminal
    claude mcp add --scope user clickspal -e ELECTRON_RUN_AS_NODE=1 -- /Applications/ClicksPal.app/Contents/MacOS/ClicksPal /Applications/ClicksPal.app/Contents/Resources/mcp.cjs
  3. 3

    Check: Start a new Claude Code session; claude mcp list should show clickspal.

Try asking

Start a new session in your agent, then ask in plain words.

  • “Show my connected websites and anything waiting for my answer.”
  • “Review the latest SEO audit for my website and explain the evidence behind the next three tasks.”
  • “Show today’s content calendar and which pages are built but not yet published.”
  • “Build the task I selected, then show me the result. Do not publish it yet.”
  • “Show my AI usage today and over the last seven days, including any reported provider limits.”

How long jobs run

  • Audits, research, builds and publishing run inside the app. The tool that starts one answers at once.
  • The agent follows along with wait, then reads status. It repeats until the job is done.
  • You can watch the same job in the ClicksPal window, and stop it there.
  • pipeline_ship and job_publish commit and deploy your website. Ask your agent to publish only when you are ready.

Workflows

The calls an agent makes for common jobs.

Check setup
setup_status→settings_get→site_get
Inspect a website
status→site_get→setup_run→wait→site_get
Run an SEO audit
audit_full→wait→audits_list→audit_get
Choose calendar work
pipeline_candidates→pipeline_enqueue→calendar_get
Build a task
job_run→wait→job_get
Answer a blocker
job_get→job_feedback→wait→job_get
Publish reviewed work
pipeline_ship→wait→today_get
Check AI usage
ai_usage_get→settings_get

Tools (84)

Open a tool for its full description and parameters.

Start and follow work

statusReadStart here.

Start here. Every website with its id, running work, latest audit, task counts and open questions, plus connections, provider quota and recent activity.

No parameters.

waitReadWait until work starts, finishes, blocks or asks a question, or the time runs out.

Wait until work starts, finishes, blocks or asks a question, or the time runs out. Returns status. Use between long-running tool calls instead of polling.

secondsinteger
Longest wait; default 30, at most 50.
calendar_getReadThe content calendar, past days included: per day how many tasks were assigned and how many got built, and the tasks themselves.

The content calendar, past days included: per day how many tasks were assigned and how many got built, and the tasks themselves. A task missed on a day is listed there with movedTo. Plus tasks on no day and tasks needing attention.

siteIdrequiredstring
Website id from status.
fromstring
First day, YYYY-MM-DD in the Mac’s local time; default today. Use an earlier day to read history.
daysinteger
Days to return; default 14, at most 90.
today_getReadWhat is happening now, as Today shows it.

What is happening now, as Today shows it. Omit siteId for every workspace, audit and pipeline readiness, combined counts and task lists. Pass siteId for one website’s build step, queue, pause, questions, attention, built pages and execution/audit models.

siteIdstring
Website id from status.
activity_listReadThe app’s activity log, newest last: what started, finished and failed.

The app’s activity log, newest last: what started, finished and failed.

limitinteger
Entries; default 40, at most 300.

Websites and setup

setup_templatesReadConnected websites whose public page templates can be reused.

Connected websites whose public page templates can be reused. The same optional choices as Website settings; nothing is selected automatically. Select with site_save templateSiteId, or clear it with an empty string.

siteIdstring
Target website id from status; omit while adding a website.
site_getReadA website’s full settings: contract directories, commands, agents, build setup (references, components, questions), decisions and day run.

A website’s full settings: contract directories, commands, agents, build setup (references, components, questions), decisions and day run.

siteIdrequiredstring
Website id from status.
setup_statusReadFirst-run connection and website readiness, using the same checklist as the window.

First-run connection and website readiness, using the same checklist as the window.

No parameters.

playbooks_getReadThe standards build agents follow.

The standards build agents follow. Without a name: the list. With a name: the built-in text and the owner’s additions.

namestring
Playbook name.
site_saveWriteConnect a website or change its settings.

Connect a website or change its settings. Pass id to edit; then only the fields you send change. New websites need url and repoPath.

idstring
Existing website id. Omit to connect a new website.
siterequiredobject
Website settings.
site.namestring
Display name.
site.urlstring
Public website URL.
site.repoPathstring
Absolute path to the root of the website’s local Git repository.
site.templateSiteIdstring
Optional connected website id from setup_templates whose public templates the agent may reuse. Empty clears it. Never copies its product facts, credentials or publishing settings.
site.descriptionstring
What the product is.
site.audiencestring
Who it is for.
site.productFactsstring
Verified product facts agents may state.
site.articlesDirstring
Repository directory for articles.
site.toolsDirstring
Repository directory for free tools.
site.pagesDirstring
Repository directory for marketing pages.
site.repairDirsstring[]
Shared code directories agents may edit.
site.allowedSupportingFilesstring[]
Exact supporting files agents may edit.
site.toolApiDirstring
The one public endpoint directory free tools may add to, e.g. app/api/tools. Empty clears it.
site.validateCommandstring
Command that validates the website, e.g. npm run build.
site.publishCommandstring
Deploy command used by pipeline_ship, e.g. git push.
site.articlePublishCommandstring
For a blog stored in a database table: command that publishes one article draft file, e.g. node scripts/publish-article.mjs. The draft path is appended. Article tasks then write one draft in the articles directory and ship without a commit or deploy.
site.providerclaude | codex | opencode | ollama
Executor provider.
site.modelstring
Executor model; empty uses the provider default.
site.effortstring
Executor effort.
site.managerProviderstring
SEO audit provider; empty means same provider as execution.
site.managerModelstring
SEO audit model. Builds never use this model.
site.managerEffortstring
SEO audit reasoning effort.
site.publicationPolicyreview | auto
Publication policy.
site.monthlyBudgetUsdnumber
Monthly research budget for this website.
site.countryCodeinteger
DataForSEO location code, e.g. 2840 for the United States.
site.languageCodestring
Language code, e.g. en.
site.keywordsstring[]
Seed keywords.
site.visibilityPromptsstring[]
Buyer questions measured in AI answers.
site_removeWriteDestructiveDisconnect a website and delete its audits, tasks and measurements from ClicksPal.

Disconnect a website and delete its audits, tasks and measurements from ClicksPal. The repository is untouched.

idrequiredstring
Website id from status.
site_inspectWriteRe-read the repository to detect its framework and fill empty product facts.

Re-read the repository to detect its framework and fill empty product facts.

siteIdrequiredstring
Website id from status.
setup_runWriteBackgroundHave the execution model read the repository and save reference pages, shared components, decisions and owner questions.

Have the execution model read the repository and save reference pages, shared components, decisions and owner questions. Runs once before the first build; rerun after large repository changes. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
setup_cancelWriteStop a running website setup inspection and cancel builds waiting for it.

Stop a running website setup inspection and cancel builds waiting for it. Other websites, audits and completed work are untouched. Run setup_run or job_run again when ready.

siteIdrequiredstring
Website id from status.
setup_answerWriteAnswer build-setup questions (site_get → buildSetup.questions).

Answer build-setup questions (site_get → buildSetup.questions).

siteIdrequiredstring
Website id from status.
answersrequiredobject[]
One answer per open question key.
answers[].keyrequiredstring
Question key.
answers[].answerrequiredstring
The answer; pick one of the offered options when they fit.
setup_referenceWriteChoose the page later work of one content type starts from.

Choose the page later work of one content type starts from. An empty path clears it.

siteIdrequiredstring
Website id from status.
kindrequiredmarketing | tool | article
Content type.
pathrequiredstring
Page file path relative to the repository root.
decision_saveWriteSave a settled answer every later agent treats as authority for this website.

Save a settled answer every later agent treats as authority for this website.

siteIdrequiredstring
Website id from status.
keyrequiredstring
Short identifier, e.g. tool-ai-provider.
questionrequiredstring
What was decided.
answerrequiredstring
The decision.
decision_removeWriteDelete a saved website decision.

Delete a saved website decision.

siteIdrequiredstring
Website id from status.
keyrequiredstring
Decision key from site_get.
playbook_saveWriteSave owner additions to a build standard; they win over the built-in text.

Save owner additions to a build standard; they win over the built-in text. Empty content removes them.

namerequiredstring
Playbook name from playbooks_get.
contentrequiredstring
Markdown additions, under 20,000 characters.
siteIdstring
Unused; standards apply to every website.

Audits and research

audits_listReadA website’s saved SEO audits, oldest first.

A website’s saved SEO audits, oldest first.

siteIdrequiredstring
Website id from status.
audit_getReadAn audit’s overview: scores per dimension, the five conclusions, research progress per content type, organic baseline, competitors and limitations.

An audit’s overview: scores per dimension, the five conclusions, research progress per content type, organic baseline, competitors and limitations. Latest audit unless auditId is given.

siteIdrequiredstring
Website id from status.
auditIdstring
Audit id; omit for the latest.
includestring[]
Bulky sections to add.
audit_keywordsReadAn audit’s keyword opportunities with measured volume and difficulty, filtered and sorted.

An audit’s keyword opportunities with measured volume and difficulty, filtered and sorted. detail adds the brief, evidence and secondary keywords. Unknown volume is null, never zero.

siteIdrequiredstring
Website id from status.
auditIdstring
Audit id; omit for the latest.
lanemarketing | tool | alternatives | listicle | article | programmatic
Content type.
dispositionvalidated | low-data | rejected | all
Research verdict; default validated and low-data.
statussuggested | approved | deferred | rejected | producing
Owner decision.
fitdirect | adjacent | weak
Product fit.
searchstring
Text in the keyword, title or secondary keywords.
minVolumeinteger
Lowest monthly searches.
maxDifficultyinteger
Highest difficulty, 0–100.
sortpriority | volume | difficulty
Order; default priority.
idsstring[]
Return exactly these audit keyword ids.
detailboolean
Full records.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
audit_findingsReadAn audit’s technical findings grouped by root cause, worst first.

An audit’s technical findings grouped by root cause, worst first. detail adds evidence, the repair brief and every affected URL.

siteIdrequiredstring
Website id from status.
auditIdstring
Audit id; omit for the latest.
severityerror | warning | info
Only this severity.
detailboolean
Full records.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
audit_pagesReadThe website’s existing pages from an audit: type, indexability, inbound links and observed Search Console clicks and impressions.

The website’s existing pages from an audit: type, indexability, inbound links and observed Search Console clicks and impressions. Null traffic means not observed, not zero.

siteIdrequiredstring
Website id from status.
auditIdstring
Audit id; omit for the latest.
lanemarketing | tool | alternatives | listicle | article | programmatic | other
Page type.
searchstring
Text in the URL or title.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
opportunities_listReadWorkspace opportunities: the owner’s decisions on audit keywords plus ones added by hand or from Search Console and AI answers.

Workspace opportunities: the owner’s decisions on audit keywords plus ones added by hand or from Search Console and AI answers.

siteIdrequiredstring
Website id from status.
statussuggested | approved | deferred | rejected | producing
Decision.
sourcemanual | agent | dataforseo | audit | gsc | visibility
Origin.
formatarticle | alternatives | listicle | tool | marketing | programmatic | repair
Content type.
searchstring
Text in the keyword or title.
detailboolean
Do not shorten the rationale.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
crawl_getReadThe latest technical crawl: health score, checks, page speed, crawler access and its issues.

The latest technical crawl: health score, checks, page speed, crawler access and its issues.

siteIdrequiredstring
Website id from status.
includeResolvedboolean
Include resolved issues.
includePagesboolean
Include every crawled page.
audit_fullWriteBackgroundRun the full SEO audit: crawl, existing pages, and keyword research for every content type.

Run the full SEO audit: crawl, existing pages, and keyword research for every content type. Spends the saved DataForSEO budget; cached measurements are reused. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
agentobject
Model for this audit. Omit to use this website’s saved audit model, falling back to its execution model.
agent.providerrequiredclaude | codex | opencode | ollama
Provider; check status for remaining quota.
agent.modelstring
Model id from settings_get; empty for the account default.
agent.effortstring
Reasoning effort; empty for the default.
audit_cancelWriteStop the running SEO audit and keep the research finished so far.

Stop the running SEO audit and keep the research finished so far.

siteIdrequiredstring
Website id from status.
audit_conclusionsWriteBackgroundWrite the five overview conclusions for a finished audit.

Write the five overview conclusions for a finished audit. No-op when they already exist. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
auditIdrequiredstring
Audit id from audits_list.
audit_search_historyWriteBackgroundFetch the daily clicks and impressions chart for an audit.

Fetch the daily clicks and impressions chart for an audit. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
auditIdrequiredstring
Audit id from audits_list.
audit_scheduleWriteTurn the monthly audit rerun on or off.

Turn the monthly audit rerun on or off.

siteIdrequiredstring
Website id from status.
enabledrequiredboolean
true reruns the audit every 30 days while the app is open.
audit_exportWriteWrite an audit and its task list to a JSON file.

Write an audit and its task list to a JSON file. Use this instead of paging audit_keywords when you need everything.

siteIdrequiredstring
Website id from status.
auditIdstring
Audit id; omit for the latest.
pathrequiredstring
Absolute .json path in an existing folder.
audit_resolveWriteMark a technical-crawl issue resolved or open.

Mark a technical-crawl issue resolved or open.

issueIdrequiredstring
Issue id from crawl_get.
resolvedrequiredboolean
true resolves it.
audit_runWriteBackgroundRun only the technical crawl (older flow; audit_full includes it).

Run only the technical crawl (older flow; audit_full includes it). Results are in crawl_get. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
audit_repairWriteBackgroundHave an agent repair chosen technical-crawl issues in an isolated worktree.

Have an agent repair chosen technical-crawl issues in an isolated worktree. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
issueIdsrequiredstring[]
Issue ids from crawl_get.
audit_repair_allWriteBackgroundHave an agent repair every open error and warning from the technical crawl.

Have an agent repair every open error and warning from the technical crawl. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
opportunity_saveWriteAdd or edit a workspace opportunity.

Add or edit a workspace opportunity. Demand numbers are never accepted from callers; research_run measures them.

siteIdrequiredstring
Website id from status.
idstring
Existing opportunity id. Omit to add.
opportunityrequiredobject
Opportunity fields.
opportunity.titlerequiredstring
Title.
opportunity.keywordrequiredstring
Target keyword.
opportunity.formatrequiredarticle | alternatives | listicle | tool | marketing | programmatic | repair
Content type.
opportunity.intentstring
Search intent.
opportunity.rationalestring
Why this is worth building.
opportunity.sourcemanual | gsc | visibility
Where it was observed.
opportunity.sourcesstring[]
Evidence URLs. For gsc and visibility they must come from this website’s saved report or AI answers.
opportunity.existingUrlstring
Existing page to improve instead of creating a new one.
opportunity_statusWriteKeep, defer or reject an opportunity.

Keep, defer or reject an opportunity. The calendar follows the decision.

idrequiredstring
opportunityId from audit_keywords, or id from opportunities_list.
statusrequiredsuggested | approved | deferred | rejected
Decision.
opportunity_buildWriteBackgroundCreate a task from a workspace opportunity and start building it.

Create a task from a workspace opportunity and start building it. Returns as soon as the work starts. Call wait, then status, to follow it.

idrequiredstring
Opportunity id from opportunities_list.
opportunities_discoverWriteBackgroundHave an agent propose opportunities outside an audit, then measure them (older flow; audit_full is the main path).

Have an agent propose opportunities outside an audit, then measure them (older flow; audit_full is the main path). Spends the saved DataForSEO budget; cached measurements are reused. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
research_runWriteBackgroundMeasure search volume and difficulty for keywords.

Measure search volume and difficulty for keywords. Spends the saved DataForSEO budget; cached measurements are reused. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
keywordsstring[]
Up to 200 keywords; omit to measure the website’s saved keywords.

Calendar, builds and publishing

pipeline_listReadThe Content pipeline list for one day, as the window shows it: now (building), next (today: in the exact order Autopilot builds them, stopped tasks it retries first; another day: what is scheduled) and done (built or live that day).

The Content pipeline list for one day, as the window shows it: now (building), next (today: in the exact order Autopilot builds them, stopped tasks it retries first; another day: what is scheduled) and done (built or live that day). Questions and stopped builds are in status needsYou. Omit siteId for every workspace.

siteIdstring
Website id from status.
daystring
Day, YYYY-MM-DD in the Mac’s local time; default today.
published_getReadWhat ClicksPal has published, as the Published pages screen shows it: every live page per workspace grouped by type, plus pages added and pages updated per day (new pages vs changes and repairs), totals, and built pages not published yet.

What ClicksPal has published, as the Published pages screen shows it: every live page per workspace grouped by type, plus pages added and pages updated per day (new pages vs changes and repairs), totals, and built pages not published yet. Omit siteId for every workspace.

siteIdstring
Website id from status.
daysinteger
Days of history; default 30, at most 365.
jobs_listReadTasks, filtered.

Tasks, filtered. Compact rows; job_get has the detail.

siteIdstring
Website id from status.
statusplanned | queued | needs-input | researching | building | checking | ready | publishing | live | blocked | failed | cancelled | active
One status, or active (planning, building, checking, shipping).
formatarticle | alternatives | listicle | tool | marketing | programmatic | repair
Content type.
daystring
Scheduled day, YYYY-MM-DD in the Mac’s local time.
searchstring
Text in the title or keyword.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
job_getReadOne task in full: the facts an owner sees (keyword, volume, difficulty, what gets built), brief, plan, questions, checks, review, events, worktree path, branch and changed files.

One task in full: the facts an owner sees (keyword, volume, difficulty, what gets built), brief, plan, questions, checks, review, events, worktree path, branch and changed files. File contents are in the worktree; includeArtifacts returns stored contents for tasks without one.

idrequiredstring
Task id from jobs_list or calendar_get.
eventsinteger
Latest events to return; default 30.
includeArtifactsboolean
Return stored file contents.
fullboolean
Do not shorten long check and review output.
pipeline_candidatesReadAudit work that can go on the calendar: keyword opportunities and findings with priority and whether a task already exists.

Audit work that can go on the calendar: keyword opportunities and findings with priority and whether a task already exists. sourceId feeds pipeline_enqueue.

siteIdrequiredstring
Website id from status.
unscheduledOnlyboolean
Hide work that already has a task; default true.
formatarticle | alternatives | listicle | tool | marketing | programmatic | repair
Content type.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
pipeline_enqueueWritePut audit tasks on the content calendar.

Put audit tasks on the content calendar. Validated work is scheduled automatically; use this for the rest. Existing bookings are kept.

siteIdrequiredstring
Website id from status.
sourceIdsrequiredstring[]
sourceId values from pipeline_candidates.
startDaterequiredstring
First day to fill, YYYY-MM-DD in the Mac’s local time; today or later.
batchboolean
Group up to 10 alternatives, comparison or marketing pages into one day.
pipeline_moveWriteMove a calendar task to a day, or pause it by omitting day.

Move a calendar task to a day, or pause it by omitting day. Moving a paused task resumes it.

idrequiredstring
Task id from jobs_list or calendar_get.
daystring
YYYY-MM-DD in the Mac’s local time; omit to pause.
pipeline_reconcileWriteRe-sync the calendar with saved audits and decisions.

Re-sync the calendar with saved audits and decisions.

No parameters.

pipeline_run_dayWriteBackgroundBuild all of a day’s tasks one after another with the execution model, including planning and review.

Build all of a day’s tasks one after another with the execution model, including planning and review. The audit model stays unchanged. Nothing touches the website repository until pipeline_ship. A provider limit or a dropped connection pauses the run (today_get → pause); calling this again continues each task from its last finished step. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
daystring
YYYY-MM-DD in the Mac’s local time; omit for today.
executorobject
Model for all build steps, saved as the website’s execution model. Omit to keep the saved one.
executor.providerrequiredclaude | codex | opencode | ollama
Provider; check status for remaining quota.
executor.modelstring
Model id from settings_get; empty for the account default.
executor.effortstring
Reasoning effort; empty for the default.
pipeline_run_workspacesWriteBackgroundBuild today across selected workspaces, or all workspaces when siteIds is omitted.

Build today across selected workspaces, or all workspaces when siteIds is omitted. Runs one workspace after another, preserving each website’s day run. Empty and busy workspaces are skipped with reasons in activity_list. Use today_get without siteId for the combined view. Builds never publish. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdsstring[]
Website ids from status; omit for all workspaces.
daystring
YYYY-MM-DD in the Mac’s local time; omit for today.
executorobject
Execution model saved for each workspace that starts. Omit to keep each workspace’s saved execution model. Audit models stay unchanged.
executor.providerrequiredclaude | codex | opencode | ollama
Provider; check status for remaining quota.
executor.modelstring
Model id from settings_get; empty for the account default.
executor.effortstring
Reasoning effort; empty for the default.
pipeline_stop_dayWriteStop the day run after the task it is on.

Stop the day run after the task it is on.

siteIdrequiredstring
Website id from status.
pipeline_shipWriteBackgroundDestructiveCommit every built task to the website repository in build order, run the deploy command and verify each page live.

Commit every built task to the website repository in build order, run the deploy command and verify each page live. Changes the live website: only when the owner asked to ship. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
pipeline_triageWriteBackgroundLet AI plan eligible unbuilt tasks that sit on no day.

Let AI plan eligible unbuilt tasks that sit on no day. Deferred, rejected and evidence-blocked ideas stay off the calendar until their audit decision or evidence changes: an agent with each website’s model puts each one back on the calendar from today, in value order, or removes it (cancelled, reason in skipped). Decisions are recorded in each task’s events. Progress is in status → triage. Only when the owner asked you to let AI plan the calendar. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdstring
Website id from status; omit for every workspace.
job_createWriteCreate a build task from your own brief.

Create a build task from your own brief. It is not on the calendar; start it with job_run.

siteIdrequiredstring
Website id from status.
titlerequiredstring
Task title.
keywordrequiredstring
Target keyword; may be empty for repair.
formatrequiredarticle | alternatives | listicle | tool | marketing | programmatic | repair
Content type.
briefrequiredstring
What to build and why, with acceptance criteria.
opportunityIdstring
Workspace opportunity this task produces, from opportunities_list.
job_updateWriteEdit a task that is not running or published.

Edit a task that is not running or published. A changed brief resets it to planned.

idrequiredstring
Task id from jobs_list or calendar_get.
titlestring
New title.
briefstring
New brief.
scheduledAtstring
ISO date for tasks outside the calendar; empty clears. Calendar tasks move with pipeline_move.
job_runWriteBackgroundBuild one task now: the execution model plans, edits an isolated worktree and reviews, with website checks from the host.

Build one task now: the execution model plans, edits an isolated worktree and reviews, with website checks from the host. Returns as soon as the work starts. Call wait, then status, to follow it.

idrequiredstring
Task id from jobs_list or calendar_get.
job_answerWriteBackgroundSave answers to a task’s open questions (job_get → questions), even while another task builds.

Save answers to a task’s open questions (job_get → questions), even while another task builds. Once all are answered, resume it or queue it if the repository is busy. A queued response says whether it will join a pending workspace run or needs the next explicit Build today. Returns as soon as the work starts. Call wait, then status, to follow it.

idrequiredstring
Task id from jobs_list or calendar_get.
answersrequiredobject[]
One answer per open question key.
answers[].keyrequiredstring
Question key.
answers[].answerrequiredstring
The answer; pick one of the offered options when they fit.
job_feedbackWriteBackgroundGive a blocked or paused build concrete instructions, a missing answer or a correction, then retry the same task.

Give a blocked or paused build concrete instructions, a missing answer or a correction, then retry the same task. Replies always save while other tasks build; a busy repository queues this retry, with queued:true and an explanation instead of claiming it started. Your comment remains in job_get. Never put credentials in feedback; configure them in the website environment. Returns as soon as the work starts. Call wait, then status, to follow it.

idrequiredstring
Task id from jobs_list or calendar_get.
feedbackrequiredstring
What the agent should do or the missing context, in plain words.
job_cancelWriteStop a task that is planning, building, checking or shipping.

Stop a task that is planning, building, checking or shipping.

idrequiredstring
Task id from jobs_list or calendar_get.
job_reviseWriteRequest changes to a page that is already live.

Request changes to a page that is already live. Creates a new task that edits the same page from the owner’s feedback; start it with job_run and ship it like any build.

idrequiredstring
Task id from jobs_list or calendar_get.
feedbackrequiredstring
What should change on the live page, in plain words.
job_revalidateWriteBackgroundRe-run the website’s checks on a built task.

Re-run the website’s checks on a built task. On a task that was committed but not verified live, checks the live page again without rebuilding or deploying. Returns as soon as the work starts. Call wait, then status, to follow it.

idrequiredstring
Task id from jobs_list or calendar_get.
job_publishWriteBackgroundDestructiveCommit and deploy one built task and verify it live.

Commit and deploy one built task and verify it live. Changes the live website: only when the owner asked to publish. Prefer pipeline_ship for calendar tasks. Returns as soon as the work starts. Call wait, then status, to follow it.

idrequiredstring
Task id from jobs_list or calendar_get.
preview_openWriteOpen a built task’s preview window in the ClicksPal app for the owner to look at.

Open a built task’s preview window in the ClicksPal app for the owner to look at.

idrequiredstring
Task id from jobs_list or calendar_get.

Autopilot and questions

autopilot_getReadAutopilot as its page shows it: settings, next run time, the task it will build next, what is running, why it is waiting (provider quota, other work), each workspace with tasks due, built pages waiting and whether its publishing schedule is due, the last runs, and the progress of AI answering questions (asks).

Autopilot as its page shows it: settings, next run time, the task it will build next, what is running, why it is waiting (provider quota, other work), each workspace with tasks due, built pages waiting and whether its publishing schedule is due, the last runs, and the progress of AI answering questions (asks).

No parameters.

autopilot_saveWriteChange Autopilot: on/off, how often it builds one task (intervalHours), which workspaces take part (excludedSiteIds; new workspaces take part), when built pages publish (publish: immediate, batch after batchSize built changes or once the day is done, whichever comes first, dayDone when a workspace has built all of today’s tasks, manual), macOS notifications and whether an agent answers open questions first.

Change Autopilot: on/off, how often it builds one task (intervalHours), which workspaces take part (excludedSiteIds; new workspaces take part), when built pages publish (publish: immediate, batch after batchSize built changes or once the day is done, whichever comes first, dayDone when a workspace has built all of today’s tasks, manual), macOS notifications and whether an agent answers open questions first. Only the fields you send change. Autopilot runs one build at a time and only when nothing else is building. A stopped task is tried again automatically up to 3 times, at least an hour apart (timeouts as is, other stops after an AI decision), before it waits in Needs you. Read it with autopilot_get.

settingsrequiredobject
Autopilot settings.
settings.enabledboolean
true turns Autopilot on; the first task starts within a minute when nothing else is building.
settings.intervalHoursnumber
Hours between tasks: 0.25, 0.5, 1, 2, 4, 6 (0.25 = 15 minutes, 0.5 = 30 minutes).
settings.excludedSiteIdsstring[]
Website ids from status that do not take part. Replaces the saved list.
settings.publishimmediate | batch | dayDone | manual
When built pages go live. A workspace whose publication policy is review never publishes automatically.
settings.batchSizeinteger
Built changes a workspace collects before batch publishing, 1–50.
settings.notifyobject
macOS notifications.
settings.notify.builtboolean
A page or tool was built.
settings.notify.publishedboolean
Pages were published, or publishing failed.
settings.notify.needsYouboolean
A task needs an answer or stopped.
settings.answerQuestionsboolean
true lets an agent answer or dismiss open questions (as asks_resolve) before each task.
autopilot_run_nowWriteBackgroundHave Autopilot build its next task now (autopilot_get → next), then publish what its schedule says is due.

Have Autopilot build its next task now (autopilot_get → next), then publish what its schedule says is due. Refused while anything else is building. Returns as soon as the work starts. Call wait, then status, to follow it.

No parameters.

asks_resolveWriteBackgroundLet AI handle the questions waiting on the owner: an agent with each website’s execution model answers every open task and setup question (picking an offered option), or dismisses a task it cannot build truthfully.

Let AI handle the questions waiting on the owner: an agent with each website’s execution model answers every open task and setup question (picking an offered option), or dismisses a task it cannot build truthfully. Answered tasks are queued for today; dismissed tasks are cancelled with the reason in skipped. Decisions are recorded in each task’s events. Progress is in autopilot_get → asks. Only when the owner asked you to let AI answer. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdstring
Website id from status; omit for every workspace.

Search and AI visibility

search_performanceReadSearch Console clicks, impressions, CTR and average position from the latest saved report, grouped by query, page or date.

Search Console clicks, impressions, CTR and average position from the latest saved report, grouped by query, page or date.

siteIdrequiredstring
Website id from status.
groupByquery | page | date
Grouping; default query.
searchstring
Text in the query or page.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
visibility_getReadAI visibility: the measured buyer-question panel, and what ChatGPT and Gemini answered — whether the product was mentioned or cited, and which competitors were.

AI visibility: the measured buyer-question panel, and what ChatGPT and Gemini answered — whether the product was mentioned or cited, and which competitors were.

siteIdrequiredstring
Website id from status.
includeAnswersboolean
Return full answer text.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
visibility_discoverWriteBackgroundGenerate and measure a keyword panel (search) or buyer-question panel in ChatGPT and Gemini (ai).

Generate and measure a keyword panel (search) or buyer-question panel in ChatGPT and Gemini (ai). Spends the saved DataForSEO budget; cached measurements are reused. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
channelrequiredsearch | ai
Which panel.
visibility_runWriteBackgroundAsk ChatGPT and Gemini the saved buyer questions and record mentions and citations.

Ask ChatGPT and Gemini the saved buyer questions and record mentions and citations. Spends the saved DataForSEO budget; cached measurements are reused. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
visibility_importWriteRecord an AI answer you observed yourself as manual evidence.

Record an AI answer you observed yourself as manual evidence.

siteIdrequiredstring
Website id from status.
promptrequiredstring
The question asked.
answerrequiredstring
The full answer text.
citationsrequiredstring[]
URLs the answer cited.
competitorsrequiredstring[]
Competitor names the answer mentioned.
search_syncWriteBackgroundPull the latest finalized 28 days of query and page performance from Google Search Console.

Pull the latest finalized 28 days of query and page performance from Google Search Console. Returns as soon as the work starts. Call wait, then status, to follow it.

siteIdrequiredstring
Website id from status.
search_importWriteImport a Search Console performance CSV.

Import a Search Console performance CSV.

siteIdrequiredstring
Website id from status.
csvrequiredstring
CSV text with query, page, clicks, impressions, ctr and position columns.
startDaterequiredstring
Report start, YYYY-MM-DD.
endDaterequiredstring
Report end, YYYY-MM-DD.

Settings and connections

spend_getReadPaid research spend: totals per month and endpoint against the saved budgets, and the latest ledger rows.

Paid research spend: totals per month and endpoint against the saved budgets, and the latest ledger rows.

siteIdstring
Only this website.
limitinteger
Rows to return; default 50, at most 500.
offsetinteger
Rows to skip.
ai_usage_getReadClicksPal AI calls and reported tokens for today and the last seven days, plus actual provider quota windows.

ClicksPal AI calls and reported tokens for today and the last seven days, plus actual provider quota windows. Unknown token usage remains unknown.

No parameters.

settings_getReadApp defaults, research budgets, which accounts are connected (never the credentials), and every AI provider with its models, efforts and remaining quota.

App defaults, research budgets, which accounts are connected (never the credentials), and every AI provider with its models, efforts and remaining quota.

No parameters.

settings_saveWriteChange app-wide defaults and research budgets.

Change app-wide defaults and research budgets. Only the fields you send change.

settingsrequiredobject
Settings.
settings.providerclaude | codex | opencode | ollama
Default provider.
settings.modelstring
Default model.
settings.effortstring
Default effort.
settings.maxConcurrentJobsinteger
1–4.
settings.reserveQuotaPercentnumber
Provider quota to leave unused, 0–90.
settings.monthlyBudgetUsdnumber
Monthly DataForSEO budget.
settings.keywordRequestLimitUsdnumber
Cap per keyword request.
settings.visibilityRequestLimitUsdnumber
Cap per AI-answer request.
settings.ollamaUrlstring
Loopback Ollama URL.
settings.providerChoicesobject
Per-provider {model, effort}.
settings.secondaryAgentobject
Explicit backup for capacity limits.
settings.secondaryAgent.providerrequiredclaude | codex | opencode | ollama
Provider; check status for remaining quota.
settings.secondaryAgent.modelstring
Model id from settings_get; empty for the account default.
settings.secondaryAgent.effortstring
Reasoning effort; empty for the default.
settings.disableSecondaryAgentboolean
Clear the backup provider.
settings.setupCompleteboolean
First-run checklist was completed.
credentials_saveWriteStore DataForSEO or Google OAuth client credentials in the Mac’s encrypted storage.

Store DataForSEO or Google OAuth client credentials in the Mac’s encrypted storage. Write-only: saved values are never returned. An empty string deletes one.

dataforseoLoginstring
DataForSEO login.
dataforseoPasswordstring
DataForSEO password.
gscClientIdstring
Google OAuth client id.
gscClientSecretstring
Google OAuth client secret.
gsc_connectWriteBackgroundStart Google sign-in for Search Console in the owner’s browser.

Start Google sign-in for Search Console in the owner’s browser. The owner finishes it; settings_get shows the result. Returns as soon as the work starts. Call wait, then status, to follow it.

No parameters.

gsc_service_account_importWriteBackgroundConnect Search Console with a Google service-account key file.

Connect Search Console with a Google service-account key file. The key is stored encrypted and checked against the API first. Returns as soon as the work starts. Call wait, then status, to follow it.

pathrequiredstring
Absolute path to the service-account .json key.
providers_refreshWriteRe-detect installed AI providers, their models and remaining quota.

Re-detect installed AI providers, their models and remaining quota. A newly connected provider is asked a tiny test question; settings_get → providers[].test shows the result.

retestOldboolean
Also re-test providers whose last passed test is over 30 days old.
providers_testWriteAsk one connected provider a tiny test question with a model and reasoning level.

Ask one connected provider a tiny test question with a model and reasoning level. Only a passed test (providers[].test.state ok in settings_get) makes it Ready. OpenCode with no model tries one model per account (Go, other accounts, then the Console's free model, never a paid one) and saves the first that answers as its model (providers[].test.model). Returns at once; the test takes up to two minutes. Ollama has none.

providerrequiredclaude | codex | opencode | ollama
Provider.
modelstring
Model id; omit for the saved choice, empty for the provider default.
effortstring
Reasoning level; omit for the saved choice.

Troubleshooting

The app needs activation

Open ClicksPal and activate your license in the window. License keys are never passed through MCP.

The agent cannot see the tools

Start a new agent session. Check its MCP server list and use Add on ClicksPal’s MCP page.

It stopped after moving or reinstalling the app

Open MCP in ClicksPal and press Update next to your agent to replace the old path.

A job is waiting

Read status and job_get to see open questions or blockers. Use wait to follow running work.

The AI provider reached a limit

Check ai_usage_get and settings_get. A secondary provider is opt-in; a partially executed writable turn pauses rather than being replayed.

The build passed but the page is not live

Read the publication result. Building and publishing are separate; shipping needs the website’s configured deploy command.

Still stuck? Contact support.