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.
A local server inside the activated app. Your AI and research accounts remain separate.
Websites, audits, the content calendar, builds and publishing.
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
One click: in ClicksPal, open MCP in the sidebar and press Add next to your agent. If you move the app, press Update.
- 2
Or run this once. On Windows, replace
YOUwith your Windows user name, or copy your exact command from ClicksPal’s MCP page.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
Check: Start a new Claude Code session;
claude mcp listshould showclickspal.
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 readsstatus. It repeats until the job is done. - You can watch the same job in the ClicksPal window, and stop it there.
pipeline_shipandjob_publishcommit and deploy your website. Ask your agent to publish only when you are ready.
Workflows
The calls an agent makes for common jobs.
setup_status→settings_get→site_getstatus→site_get→setup_run→wait→site_getaudit_full→wait→audits_list→audit_getpipeline_candidates→pipeline_enqueue→calendar_getjob_run→wait→job_getjob_get→job_feedback→wait→job_getpipeline_ship→wait→today_getai_usage_get→settings_getTools (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
Open ClicksPal and activate your license in the window. License keys are never passed through MCP.
Start a new agent session. Check its MCP server list and use Add on ClicksPal’s MCP page.
Open MCP in ClicksPal and press Update next to your agent to replace the old path.
Read status and job_get to see open questions or blockers. Use wait to follow running work.
Check ai_usage_get and settings_get. A secondary provider is opt-in; a partially executed writable turn pauses rather than being replayed.
Read the publication result. Building and publishing are separate; shipping needs the website’s configured deploy command.
Still stuck? Contact support.