Sightkick

so.sightkick由 sightkick.so 发布官方发布者v2.2.0更新于 Nov 4, 2026

The agentic SEO and GEO platform your AI agent uses to rank on Google and in AI search.

已验证Streamable HTTP可网页运行网页搜索与抓取沟通与协作商业与电商

概览

AI 生成的概览

Sightkick 是一个托管的 SEO 与 GEO 平台,通过 37 个工具让助手跟踪 AI 搜索可见度、研究关键词、撰写并发布页面以及开展外联。

可以做什么
  • 读取工作区状态、方法指南、活动记录、设置、品牌与写作规范
  • 跟踪 AI 可见度与买家提示词,即时询问各 AI 模型,读取 Search Console 与实时排名
  • 研究、保存并整理关键词与主题
  • 撰写、评分、排期、发布和下架页面,并管理页面图片
  • 查看并处理已发布页面的改进建议
  • 管理外链、外联对象、邮件与可分享报告
适用场景
适合让助手为一个网站持续做 SEO 与 AI 搜索(GEO)工作:监测 AI 模型如何回答买家问题、按排期规划并发布内容,以及改进和推广已上线页面。
运行要求
远程 streamable HTTP 端点,无需安装或自托管。连接和列出工具无需登录,但首次调用工具需 OAuth 2.1 登录,一次授权绑定一个工作区。自主运行的代理可改用工作区 API 密钥,通过 CLI 或 HTTP API 访问。多数功能需要付费方案;外联邮件在免费试用期内不可用。
安装前请注意
助手拥有与所有者相同的完整权限:可撰写、发布、下架和删除页面,提交目录收录,并以所有者名义向陌生人发送真实邮件,且没有确认步骤。部分工具会消耗方案额度(排名检查、页面评分、关键词与外链查询、AI 提问)。更改方案会对已绑定的银行卡扣款或退款。连接 WordPress、Shopify、Framer、Search Console 或 webhook 会交出站点凭据与发布权限。每次写入都会记录到客户端名下。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sightkick,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/so.sightkick%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "sightkick": {
      "type": "http",
      "url": "https://app.sightkick.so/mcp"
    }
  }
}

README

Sightkick MCP server

This repo is metadata and documentation, not the server's source. Sightkick is a hosted product: the server runs at https://app.sightkick.so/mcp and there is nothing here to install or self-host. What you'll find is server.json, the MCP Registry entry, plus the connection steps and the tool catalog below.

Sightkick is the agentic SEO and GEO platform your website runs on, and your own AI agent uses it to rank on Google and in AI search. It tracks how AI models answer your buyers' questions, researches the keywords worth winning, publishes pages on a schedule, improves the live ones one measured change at a time, runs outreach to the pages AI answers cite, and proves outcomes with Google Search Console data.

This server hands all of it to your agent: 37 tools over streamable HTTP, authenticated with OAuth 2.1. Agent access comes with both packages (Standard and Pro), never as an add-on.

Endpoint

https://app.sightkick.so/mcp

Connecting and listing the tools need no sign-in. The first tool call asks for one (HTTP 401 with the OAuth challenge), and one OAuth grant is bound to one workspace (one website): the consent screen carries a workspace selector. An agent that runs on its own sends a workspace API key instead (below).

Connect

Claude Code

sh
claude mcp add --transport http sightkick https://app.sightkick.so/mcp

When the first tool call asks for the sign-in: /mcp, pick sightkick and approve it.

Codex

sh
codex mcp add sightkick --url https://app.sightkick.so/mcpcodex mcp login sightkick

Claude (desktop and claude.ai): Customize → Connectors → "+ Add" → "Add custom connector", paste the endpoint. On Team and Enterprise an owner adds it once in Organization settings → Connectors.

ChatGPT (web only): Plugins → + → "Add custom MCP server", paste the endpoint under Connection, "Create as a plugin". No Developer mode. Changes need Business, Enterprise or Edu: Pro connects read-only.

Anything else that speaks MCP over streamable HTTP: add a remote server and paste the same endpoint. Every client's steps, written for an agent to follow: sightkick.so/connect/agent.md.

No MCP client (a cron job, a CI step, a cloud agent): the same tools run on a workspace API key through the CLI, npx -y sightkick (guide), and the HTTP API at https://api.sightkick.so/v1 (guide, OpenAPI 3.1).

The playbook ships inside the server: its instructions reach every client on connect, telling a connected agent how to use these tools well, not just what they are, and get_guidance returns Sightkick's SEO and GEO method on demand. There is no separate skill to install.

Tools

Each tool is one thing an agent works on, verb first. A read takes a view, a change an action (check_web takes check, research_keywords from, research_backlinks lookup), and each tool's description lists them with their fields.

R read-only, runs unasked in most apps · W changes something or spends an allowance, so the app asks first · ! has an action that deletes something, takes a page down or sends an email (destructiveHint).

Start

ToolWhat it does
Rget_workspaceGet the workspace
Rget_guidanceGet SEO and GEO guidance
Rget_activityGet the activity. view: log, events, report, receipt

AI visibility and search

ToolWhat it does
Rget_visibilityGet AI visibility. view: summary, gaps, gap_candidates, competitors, sources, mentions, rival_pages
Rget_promptsGet tracked prompts. view: list, prompt, answer, suggestions, rechecks, models
Wupdate_promptsChange tracked prompts. action: track, retire, restore, models
Wupdate_competitorsChange tracked competitors. action: track, untrack, set_domain
Wask_aiAsk AI models now. action: ask, batch, recheck, cancel_recheck
Rget_search_consoleGet Search Console. view: metrics, query, detail, export, sitemaps, searches
Wcheck_webCheck the web now. check: rank, index, serp, page, crawl

Keywords

ToolWhat it does
Rget_keywordsGet keywords. view: keywords, topics
Wresearch_keywordsResearch keywords. from: seed, competitor, gap
Wupdate_keywordsChange keywords. action: save, move, set_main, remove, link

Pages

ToolWhat it does
Rget_pagesGet pages. view: list, page, check_topic, revisions, receipt, shipped, calendar, schedule, images
Wscore_pageScore a page
!update_pageWrite and change pages. action: create, edit, delete, register, unregister, log_change
!update_page_imagesChange a page's images. action: list, upload, alt, featured, position, remove
Wschedule_pageSchedule pages. action: get, place, unplace, set_slots
!publish_pagePublish pages. action: publish, republish, take_down, undo_edit
Wgenerate_pageHave Sightkick write a page

Improvements

ToolWhat it does
Rget_improvementsGet improvements. view: suggested, other_pages, issues, health, todos, results, candidates
Wupdate_improvementsAct on improvements. action: approve, skip, unqueue, restore, undo, redo, decline_issue, restore_issue, complete_todo, skip_todo, scan, indexnow

Backlinks and outreach

ToolWhat it does
Rget_backlinksGet backlinks. view: ledger, profile, mentions, directories, kit
Wresearch_backlinksResearch backlinks. lookup: profile, gap, metrics
!update_backlinksChange backlinks. action: add, remove, directory, prepare_directory, save_kit, kit_image, start_directories, rebuild_kit
Rget_outreachGet outreach. view: prospects, prospect, threads, thread, follow_up, sequences, sequence, blocklist, unmatched
Wupdate_outreachWork the outreach. action: add, discover, find_contact, set_contact, lead_with, prepare, write_pitch, draft_reply, handled, discard_reply, edit_message, edit_follow_up, pause_follow_ups, resume_follow_ups, won, lost, dismiss, unblock, link_mail, ignore_mail
!send_outreachSend outreach email. action: pitch, reply, follow_up

Reports

ToolWhat it does
Rget_reportsGet reports
!update_reportsChange reports. action: create, edit, share, rotate_link, remove

Settings

ToolWhat it does
Rget_settingsGet settings. view: brand, writing, images, offerings, markets, sites, destinations, search_console, inbox, sequences, agents, jobs, usage, models, webhook, plan, notifications
!update_brandChange the brand profile. action: profile, name, add_offering, edit_offering, remove_offering, offering_image, remove_offering_image, market, timezone
Wupdate_writingChange the writing rules. action: author, remove_author, voice, key_facts, rules, images
!update_connectionsChange connections. action: connect_wordpress, connect_shopify, connect_framer, connect_webhook, edit, test, remove, destination, add_destination, remove_destination, search_console_link, search_console_properties, pick_property, disconnect_search_console, invite_agent, webhook, test_webhook
!update_outreach_setupChange the outreach setup. action: signature, daily_limit, warm_up, send_window, opt_out, postal_address, mailbox_link, disconnect_inbox, managed_domains, check_domain, create_managed_inbox, save_sequence, duplicate_sequence, activate_sequence, split_test, end_split_test, archive_sequence, unarchive_sequence, remove_sequence
Wupdate_jobsChange Sightkick's job settings. action: job, floor, warmup
!update_accountChange the plan, notifications and brands. action: preview_plan, change_plan, undo_downgrade, pause_plan, resume_plan, cancel_plan, notifications, create_brand, delete_brand

Rules

  • The agent is a user. Whatever the owner can do in the app, their agent can do, at any time: every reply, an offer's answer, the listing kit, directory submissions. Sightkick's job settings (Auto, Manual, Off) and its own rules (waits after a page goes live, the warm-up, the pitch floor, the duplicate check) only govern what Sightkick does by itself. No call takes a confirm: what an agent may do is its connection's permissions.
  • Pages go live on the schedule. Every written page on it goes live on its day, exactly as written, whoever wrote it. A page without a day waits in Unscheduled until the owner or an agent gives it one. Each page says whether Sightkick writes it (sightkickWrites): an agent's own page is the agent's to write before its day, or it goes back to Unscheduled as missed.
  • One grant, one website. An agent connected to one workspace cannot read or touch another.
  • Every write is attributed. Each call lands in the workspace's activity feed against the client that made it.
  • Limits are enforced, not documented. One generation in flight and the plan's monthly pages, 25 scores a day, and a runaway guard of 1,000 writes an hour per workspace. A metered call's answer says what it used and what's left.
  • Live pages are safe to hand over. An edit to a live page needs the hash of the copy it was made on, and every agent edit is kept and can be undone, at any age.

Links

MIT © Sprike LLC (Sightkick)

来源:README.md,提交 1e8f8a7

工具

37

get_workspace

Get the workspace

Start here, every run. The site, the plan as its amounts and what's left this month (never name a package to the user), each of Sightkick's jobs (auto, manual, off) and sightkickPages (scheduled: Sightkick plans its pages on the schedule and they go live on their day, unscheduled: written, they wait without a day), the warm-up, what setup still lacks, the connections, and whatsNew: the events and Sightkick's own work since this agent's last session, with a cursor. contentEnabled false means no plan is running: reads work, the rest waits for the plan, which the person starts with their card (get_settings plan gives the link). A job's setting only says what Sightkick does by itself: you can act on any job at any time. connection says what this connection may do (an API key's permissions).

输入参数since

get_guidance

Get SEO and GEO guidance

Sightkick's SEO and GEO playbook by topic: what you may do, the scores, the schedule, structuring a page for AI answers, improving a page instead of writing a new one, and the content rules Sightkick's writer follows (evidence about rivals, comparison, alternatives and list pages, every article). Read it before planning or writing.

输入参数query必填

get_activity

Get the activity

What happened in the workspace, and what came of it. view: - log(limit?): What Sightkick, the owner and agents did, newest first. - events(after?, types?, limit?): What to act on, oldest first (reply_received, citation_lost, page_dropped, check_back_done, change_lost, competitor_pages). Pass the cursor back as `after` for only new ones. Without it, the last 7 days. - report: The weekly report's numbers and a draft for the owner (under 300 words): AI answers week on week, Google over 28 days, what was published, changed and pitched, what's for the owner to do. Lead with the outcome. - receipt(improvementId?, articleId?, changeId?): What one change did, on Google (clicks before and after) and in AI answers (citations before and after): an improvement, a published page or a change you logged.

输入参数view必填afterlimittypeschangeIdarticleIdimprovementId

get_visibility

Get AI visibility

How AI models (ChatGPT, Gemini, AI Overviews, AI Mode) answer the tracked buyer prompts. Sampled daily: judge windows, not single days. view: - summary(days?): Presence, citations, recommendations and sentiment, per AI model, top cited sources and rivals. Lead with unbranded (intentSplit): branded prompts only reach people who know the brand. - gaps: Last week's gaps: prompts where rivals are named and the brand isn't, each planned, covered or offpage. - gap_candidates(limit?): The prompts answers left the brand out of over 14 days, worst first: the rivals named instead and whether a page can win it (onpage) or third-party pages decide (offpage). - competitors: The tracked rivals, past ones, and alsoNamed: brands the answers keep naming that nobody tracks. domainCheck suspect = the saved domain looks wrong. - sources(days?): The domains and pages AI answers cite, with their owner and page type, against the window before: where answers are built from. - mentions(days?, engines?, sentiments?, cited?, recommended?, limit?): Answers that named the brand unasked (prompts naming it left out, as in the headline), newest first: the prompt, AI model, sentence, place, sentiment, cited pages. - rival_pages(days?, competitorId?): Pages tracked rivals added, changed or took down, read from their sitemaps every Monday (7 days when not given).

输入参数daysview必填citedlimitenginessentimentsrecommendedcompetitorId

get_prompts

Get tracked prompts

The buyer prompts Sightkick tracks in AI answers, and their answers. view: - list: Every tracked prompt with its visibility, sentiment, position, brands named and gap verdict. - prompt(promptId): One prompt in depth: its sources and its runs per AI model (each runId opens an answer). - answer(runId): One stored answer in full: its text, cited sources, brands found. - suggestions(keyword?, limit?): Questions buyers ask that nobody tracks yet, from People Also Ask and the site's own searches. A keyword opens its Google results page for more, free (as check_web serp). - rechecks: Questions booked to be asked again (ask_ai recheck): the answer then and, once asked again, now. - models: Every AI model, which are tracked, and the plan's count.

输入参数view必填limitrunIdkeywordpromptId

update_prompts

Change tracked prompts

Choose what is tracked in AI answers. action: - track(prompts): Track up to 25 prompts at once: each comes back added or skipped with why (the plan's limit, a repeat). intent: informational, commercial or transactional. One naming the brand stays out of the headline rate. - retire(promptId): Stop tracking one. Its history stays. - restore(promptId): Track a retired prompt again, with its history, while there's room. - models(models): The tracked AI models: exactly the plan's count.

输入参数action必填modelspromptspromptId

update_competitors

Change tracked competitors

The rivals the leaderboard and share of voice count (get_visibility competitors). action: - track(domain, name?): Track a rival from the next sweep: its real site's domain and the name buyers use (alsoNamed has both). A past rival comes back with its history. - untrack(competitorId): Take a rival off the board. Its history stays. - set_domain(competitorId, domain?): Move a rival to its real site: domain, or without it the checked suggestion.

输入参数nameaction必填domaincompetitorId

ask_ai

Ask AI models now

Put questions to ChatGPT, Gemini, AI Overviews, AI Mode, Perplexity or Copilot now, as a buyer in the workspace's market (or location, a country) asks them: whether the answer names or cites the brand and where, the rivals it names, the pages it cites. Answers vary run to run. Each answer is one of the month's AI answers (usage says what's left). action: - ask(question, engine, location?): One question to one AI model. - batch(questions, engines, location?): Up to 20 questions in up to 6 AI models (60 answers at most), with a tally per AI model. Only answers that came back count. - recheck(question, engine, days?): Ask now and again in days (7 when not given, 3 to 30), to see what a change did: two AI answers. get_prompts rechecks reads it. - cancel_recheck(checkBackId): Call off a re-check that hasn't asked again yet.

输入参数daysaction必填engineengineslocationquestionquestionscheckBackId

get_search_console

Get Search Console

The site's Google Search Console (get_workspace says whether it's connected). view: - metrics(rangeDays?): Clicks, impressions, CTR and position against the period before, by day, top searches and pages, countries and devices, from the daily sync (28 days when not given). The newest days are provisional. - query(dimensions?, days?, startDate?, endDate?, country?, device?, page?, query?, filters?, searchType?, limit?, startRow?, live?): Search Analytics by query, page, country (usa, gbr, deu), device, date or appearance, filtered, up to 1,000 rows (startRow for more). live asks Google now. - detail(page?, query?): One page's searches against the 28 days before, the site's pages Google shows for one search (several compete), or with neither the searches at positions 8 to 20. - export(days?, startDate?, endDate?, limit?, startRow?): Every page and search pair, up to 5,000 rows per call (nextStartRow). - sitemaps: The sitemaps submitted, live: when Google read each, URLs, errors. - searches(limit?, months?): The site's own searches over 28 days, each with its position, volume, difficulty and Opportunity. Positions 8 to 20 are the nearest wins.

输入参数dayslivepageview必填limitquerydevicemonthscountryendDatefiltersstartRow另有 4 个

check_web

Check the web now

Look at Google, a page or the sitemap as it is right now. rank spends one of the plan's rank checks (30 per day), the other checks are free. check: - rank(keyword, depth?): Where the site ranks for a search now (to position 30, depth 10 to 50), the top 10 and the AI Overview's sites, beside Search Console's average. 30 per day. - index(url): Whether one of the site's pages is in Google's index, and why not, with the day Google last read it. 50 per day. - serp(keyword): One keyword's Google page: the top 10 with each page's type and whose it is, the AI Overview and its sources, People Also Ask, the keyword's numbers, and the tracked prompts asking it. Read it before writing for a keyword. - page(url): Read a page as a crawler without JavaScript: title, meta, canonical, headings, words, schema, and on the site's own pages what keeps it out of Google or AI answers. Another site's page: its outline only. 50 per day. - crawl(sitemapUrl?, limit?): Fetch every page the site's sitemap lists: status, redirect, title, canonical, noindex, words and the problems. Up to 500 pages, 5 crawls per day, own site only.

输入参数urlcheck必填depthlimitkeywordsitemapUrl

get_keywords

Get keywords

The saved keywords and their topics, best Opportunity first. Free. view: - keywords(limit?, noTopic?, topic?, page?): Each saved keyword with its numbers, Search Console position, topic and page (none, planned, writing, ready, failed, published). Filter by topic id, page or noTopic. - topics(limit?, page?): Topics: the saved keywords Google answers with the same pages, one page each. page none = a page to make.

输入参数pageview必填limittopicnoTopic

research_keywords

Research keywords

Keyword research, each with volume, difficulty, CPC, intent, Opportunity (0 to 100), fit (0 to 3), onTopic and saved. One keyword search per call (the same within 30 days is free). Save the good ones with update_keywords. from: - seed(query, limit?, months?): Ideas around a seed search. - competitor(domain, limit?, months?): The searches a site ranks for (any domain, the top 200), with its position. - gap(domain, limit?, months?): Searches a rival ranks for and the site doesn't.

输入参数from必填limitquerydomainmonths

update_keywords

Change keywords

Change the saved keywords. Free, up to 100 per call. action: - save(keywords): Save keywords as the owner's own: Sightkick checks each on Google within a minute and puts it on its topic. A removed one comes back. - move(keywords, to): Put keywords on a topic (its id, or "new" for one of their own). They stay where you put them. - set_main(keyword): Make a keyword its topic's main keyword, while the page isn't written. - remove(keywords): Take keywords off for good: Sightkick never adds them back. - link(keywords, url?, articleId?, title?, clear?): Say which page targets these keywords: a URL of the site or a page's articleId. clear unlinks.

输入参数tourlcleartitleaction必填keywordkeywordsarticleId

get_pages

Get pages

The site's pages and their schedule. A page's status is how far its writing is: planned (not written), writing, ready (written), published, failed, retired. Apart from it, a page has a day (on the schedule, scheduledDate) or none (Unscheduled), and sightkickWrites says whether Sightkick writes it (or wrote it): off, it's yours or the owner's to write before its day, or it goes back to Unscheduled as missed. view: - list(status?, limit?, offset?): Pages by Opportunity, with the question each answers, its URL, Google's index verdict, the duplicate check, the plan's verdict and handsOffUntil. Every status but idea (a keyword's page nobody planned) unless asked. Up to 200, page with offset. - page(articleId, includeContent?): One page: head, status and score, publications, keywords, brief, plan, and once live its URL, index verdict and Search Console. includeContent adds the body and its bodyHash, which a live page's edit needs. - check_topic(title, primaryKeyword, question?, articleType?): Does the site already answer this? The page it repeats (improve that one instead) or null. 50 per day. - revisions(articleId): Every agent edit to a live page, newest first. The newest can be undone (publish_page undo_edit) while nobody changed the page since. - receipt(articleId): What a published page did on Google and in AI answers since it went live. - shipped(limit?): Pages registered as shipped elsewhere (update_page register), with pageId. - calendar: Every page on the schedule from today on, by day. fixedDay: put on that day by hand; else it took the next open slot. - schedule: The publishing schedule: Pages per month (its slots, spread evenly over each month), the hour pages go out, Sightkick's pages (scheduled or unscheduled), the next 30 days slot by slot, Unscheduled (pages without a day) and pages waiting for a slot. - images(articleId): A page's images in publish order, featured first.

输入参数view必填limittitleoffsetstatusquestionarticleIdarticleTypeincludeContentprimaryKeyword

score_page

Score a page

Grade a page's draft on the four pillars (answers the search, says something new, can be trusted, easy to quote): overall 0 to 100, each pillar's verdict, and the checklist: what to fix, by name, and for each pillar under 80 what would raise it. Write, score, clear the checklist, score again. 25 per day.

输入参数articleId必填

update_page

Write and change pages

Write pages and change them. A body is clean semantic HTML (h2 and h3 sections, paragraphs, links), no styles or scripts. A picture is uploaded with update_page_images first, then its returned URL goes in an <img>. action: - create(title, primaryKeyword, contentHtml?, metaTitle?, metaDescription?, excerpt?, slug?, question?, articleType?, pageType?, subject?, destination?, schedule?): A new page, with your body or empty. The duplicate check runs first and duplicateCheck names a page this one may repeat (improve that one instead), but never stops it. pageType makes a comparison, alternatives, integration or use_case page about subject, in its type's destination (refused while that destination is switched off). destination puts a blog-style page in one of the owner's own folders. It is yours to write (sightkickWrites off; update_page edit sightkickWrites: true hands it to Sightkick). Without schedule it waits in Unscheduled: ready with a body, planned without. schedule: next (the next open slot) or a day puts it on the schedule, where it goes live that day exactly as written. publish_page publish sends it now. next says how it goes out. - edit(articleId, contentHtml?, title?, metaTitle?, metaDescription?, excerpt?, slug?, articleType?, question?, questions?, notes?, baseHash?, reason?, sightkickWrites?, destination?): Change a page: contentHtml replaces the whole body. A live page, at any age, needs baseHash (get_pages page) and goes to the site with publish_page republish. Say why in reason: it stays on the page's record, where the change is measured from the day it goes out. The slug and destination only before it's live, the type and brief only before it's written. - delete(articleId): Delete a page that never went live. Can't be undone. - register(url, query, prompt?, title?, articleType?, liveSince?): Record a page you shipped yourself (a repo, the CMS), so it's tracked like Sightkick's: index, Search Console, AI citations. query is its main search, prompt the bu

输入参数urlslugwhatnotesquerytitleaction必填commitpageIdpromptreasonexcerpt另有 15 个

update_page_images

Change a page's images

A page's pictures, your own (Sightkick writes its own pages' art). An upload never edits the body: put its url in an <img> with update_page edit. A featured image needs no tag. action: - list(articleId): The page's images (as get_pages images). - upload(articleId, url?, data?, alt, featured?, position?): By public url (up to 8 MB) or base64 data (up to 700 KB): PNG, JPEG, GIF, WebP or AVIF. Returns mediaId and url. - alt(mediaId, alt): Set an image's alt text. - featured(mediaId): Make an image the featured one. - position(mediaId, position): Its place in what the site receives. - remove(mediaId): Delete an image the body no longer shows. Can't be undone.

输入参数alturldataaction必填mediaIdfeaturedpositionarticleId

schedule_page

Schedule pages

The publishing schedule: slots from Pages per month, and every ready page on the schedule out on its day, live, exactly as written, whoever wrote it. A planned page there is written that morning by Sightkick if sightkickWrites is on; one of yours not written by its day goes back to Unscheduled as missed. A page without a day waits in Unscheduled. action: - get: The schedule (as get_pages schedule). - place(articleId, at, date?): Put a page on the schedule or move it: at next (the next open slot) or day (that date, a slot or not, up to the day's cap). - unplace(articleId): Take a page off the schedule, to Unscheduled. Its status stays. - set_slots(pagesPerMonth?, publishHour?): Pages per month (1 to 120, at least what Sightkick writes a month): its slots spread evenly over each month, 15 every second day, 30 daily. And the hour pages go out (6 to 23).

输入参数atdateaction必填articleIdpublishHourpagesPerMonth

publish_page

Publish pages

Put pages on the site and take them down, at any time. Every page goes live. action: - publish(articleId, connectionId?): Publish a written page to the connected site. Returns its URL. - republish(articleId, baseHash, connectionId?): Send a live page's changes to the site, in place. Refused when the page changed since baseHash was read. - take_down(articleId, into?): Retire a page for good: off every connected site (a draft there, never deleted), never written, scheduled or linked again, its subject remembered. into: the live page its address should lead to. - undo_edit(revisionId): Put a live page back as it was before an agent edit (get_pages revisions), while nobody changed it since. Then republish.

输入参数intoaction必填baseHasharticleIdrevisionIdconnectionId

generate_page

Have Sightkick write a page

Sightkick writes a page (research, outline, draft, judge, revise, images) from the plan's monthly pages, and is refused when none are left (get_workspace plan): then you write it with update_page. Give an unwritten page's articleId, or a title and primaryKeyword for a new one. It takes minutes and returns at once: poll get_pages page. It keeps its slot. A page about a rival is written only with real evidence.

输入参数titlesubjectpageTypearticleIdprimaryKeyword

get_improvements

Get improvements

What to change on the site, and what changes did. view: - suggested(includeSkipped?): This week's changes to published pages (title, a section answering a search, links, facts, an AI citation to win back): why, what it could win, status, date, and prompt, the change as a brief to follow. - other_pages: SEO title and description changes for pages Sightkick didn't write (Shopify, WordPress), before and after. - issues: What's wrong with the site, worst first: why it matters, how to fix it, the pages, who does it, a prompt to follow, and what was fixed lately. - health: The site scan: AI crawlers turned away, sitemaps, Google's verdict on every listed page, 404s, redirects and dead links. - todos: The site's to-dos Sightkick can't do by itself (robots.txt, a dead link while Auto improvements is manual, a profile to claim): yours where you can reach it, else the owner's. complete_todo once done. - results: Every change made and its reading against the page's own 28 days before, net of the site's trend, undone ones included. - candidates(limit?): Every change this week's data supports on each live page (the weekly review picks from these), blocked when it can't go now.

输入参数view必填limitincludeSkipped

update_improvements

Act on improvements

Act on any improvement at any time: Auto improvements only says whether Sightkick makes them by itself. An id is a suggested change's or another page's. action: - approve(id): Queue a change on the next free day. The old version is kept. - skip(id): Not this one: off the list, the page rests (60 days, 90 for another page). - unqueue(id): Back into the list, off its day. - restore(id): A skipped change back into the list. - undo(id): Take a live change out and send the page out again. - redo(id): Put an undone change back, with a new 28-day reading. - decline_issue(check): Decline a site finding for 60 days. - restore_issue(check): Bring a declined finding back. - complete_todo(actionId, result?): Mark a to-do done, with what was done. - skip_todo(actionId): Skip a to-do: not raised again for 60 days. - scan: Check the site now (at most every ten minutes). - indexnow(urls, key?): Tell IndexNow (Bing, Copilot) pages of the site are new or changed: up to 100 per call and per day. A site you ship yourself passes the key it serves at /<key>.txt.

输入参数idkeyurlscheckaction必填resultactionId

get_outreach

Get outreach

The pages worth a link and the conversations with them, sent from the workspace's one sending inbox. view: - prospects(limit?): Pages AI answers cite where rivals are named and the brand isn't, by Opportunity, with the evidence, the threads in flight and won and lost. - prospect(id): One prospect as a pitch sees it: the page, the contact, the drafted email. - threads(lane?, yourTurn?, limit?): Conversations, newest first (queued, sent, replied, or one lane), yourTurn for replies waiting on an answer (a won thread they wrote on again included), each with the last reply's intent and offer: their ask for money, a link swap or a guest post. Answer one with send_outreach reply (or draft_reply for the owner's OK) inside Google's link rules: a paid link carries rel="sponsored", a swap is two links marked nofollow, a guest post keeps a branded anchor. - thread(id): One conversation in full, every mail oldest first, and the waiting reply draft. - follow_up(id): The next follow-up owed: step, due date, the body, paused. - sequences: The pitch sequences with their numbers, their follow-ups' timing and the split test. - sequence(sequenceId): One sequence: name, pitch and follow-ups. - blocklist(kind?, limit?): The do-not-contact list, newest first. - unmatched: Emails no thread matched (update_outreach link_mail files one).

输入参数idkindlaneview必填limityourTurnsequenceId

update_outreach

Work the outreach

Find, prepare and follow up the pages worth a link. Nothing here sends an email: send_outreach does. action: - add(url, contactEmail?, contactName?): Put a page on the list by its address: read and scored within a minute, never pitched by Sightkick on its own. - discover: Run the prospect discovery now (a minute or two, then get_outreach prospects). - find_contact(url): Find the editorial contact for any page: one of the month's contacts found when one is found. Saved on its prospect. suppressed: never write to it. - set_contact(id, email, name?): Set a prospect's contact by hand. - lead_with(id, url): Pitch another of the site's pages instead (the pitch is redrafted). - prepare(id): Find the contact (one contact found) and draft the pitch. Works on the trial. - write_pitch(id, subject, body): Your own pitch in place of the draft: subject and plain-text body, no signature (added when it sends). - draft_reply(id, body): Draft the next reply on a thread, plain text, for the owner's OK: it waits in the thread's composer under your name until they send, change or discard it, or send_outreach reply sends it. Sightkick drafts no replies itself. - handled(id): Handled, no reply: their mail was answered some other way or needs none, so the thread stops waiting on an answer. Nothing is sent. When they write again it waits again. - discard_reply(messageId): Delete a waiting reply draft. - edit_message(messageId, subject?, body): Rewrite a booked send (a pitch needs its subject). - edit_follow_up(id, body): Rewrite the next follow-up before it's queued. - pause_follow_ups(id): Pause a thread's follow-ups. - resume_follow_ups(id): Let a thread's follow-ups send again. - won(id, linkUrl?, anchorText?): The link is placed: sends stop, the ledger gets the link and checks it. - lost(id): Mark a prospect lost. - dismiss(id, reason?): Decline a prospect: its site goes on the blocklist (unblock brings it back). - unblock(blockId): Take a domain or address off the blocklist (get_outrea

输入参数idurlbodynameemailaction必填mailIdreasonblockIdlinkUrlsubjectmessageId另有 4 个

send_outreach

Send outreach email

A real email to a stranger from the workspace's inbox, in the owner's name. Any time, whatever Auto outreach says. Not on the free trial. action: - pitch(id, force?): Book a prepared pitch into the send queue: out in the next business-hours slot, then Sightkick runs the follow-ups and replies. One scoring under the Opportunity floor (which steers Sightkick's own pitches and the app's buttons) goes with force: true. - reply(id, body?, to?): One reply now, threaded under their mail, on a thread mail went out on (a first email is a pitch): body, or the waiting draft (an offer's answer included). To whoever wrote last, or any address in to. Refused for an address on the do-not-contact list, or when the thread's inbox is gone. Can't be undone. - follow_up(id, body?): Send the owed follow-up at the send window's next opening.

输入参数idtobodyforceaction必填

get_reports

Get reports

The shareable reports, each with its link and sections.

无需输入参数。

update_reports

Change reports

Shareable reports at /r/<token>: anyone with the link reads them. action: - create(name?, sections?): A new report (sections left out take the app's defaults). Returns its link. - edit(id, name?, sections?): Change its name or sections. The link stays. - share(id): Its link. - rotate_link(id): A new link: the old one stops working at once. - remove(id): Delete a report and its link. Can't be undone.

输入参数idnameaction必填sections

get_settings

Get settings

The workspace's settings as the app's Settings show them. writing is the house style every page follows (author, voice, key facts, rules): read it before you write. view: - brand: The brand profile: name, description, niche, audiences, service area, key facts, market, timezone. - writing: The author, the voice, the key facts and the rules. - images: The image style for Sightkick's own pages. - offerings: The products and services, with their images. - markets(country?): The country and language pairs Sightkick supports. - sites: Where pages publish: each connection's platform, site and status. - destinations: The site's folders beside the blog that pages go to: the page types' (Comparisons at /vs …, each with its name, folder and on/off) and the owner's own, which hold blog-style pages. key goes in update_page destination. pages: how many are in it. blogPath: the blog's own folder. - search_console: Search Console: connected or not, the property, any sign-in error, and the owner's link. - inbox: The sending inbox: signature, daily limit, the send window, the opt-out line, the postal address. - sequences: The pitch sequences (as get_outreach sequences). - agents: The agents connected to the workspace, and when each was last seen. - jobs: Sightkick's job settings (its pages scheduled or unscheduled), the opportunity floor and the warm-up. - usage: Every allowance: used, left, when it refills, the day's limits. - models: The tracked AI models (as get_prompts models). - webhook: The events webhook: its URL, types, health. - plan: The plan as Settings → Plan shows it: its amounts, price per month, cycle, renewal or trial end, a booked downgrade, a pause or a cancel, the steps each amount sells, and the link for what is the person's (their first card, a new card, the invoices). - notifications: When Sightkick emails the owner: the address, a reply that needs a person, the Monday brief, the nudges.

输入参数view必填country

update_brand

Change the brand profile

The business's facts everything Sightkick does reads (Settings → Brand Profile). action: - profile(description?, niche?, targetAudiences?, serviceArea?): Description, niche, audiences, service area: what's given changes. - name(name): Rename the brand (its spellings keep the old name). - add_offering(name, type, url?, description?): A product or service. Returns its id. - edit_offering(id, name?, type?, url?, description?): Change an offering (get_settings offerings). - remove_offering(id): Delete an offering and its images. Can't be undone. - offering_image(id, url?, data?): Add a picture to an offering, by public url (up to 8 MB) or base64 data (up to 700 KB): PNG, JPEG, GIF, WebP or AVIF, five per offering. - remove_offering_image(id, imageId): Take a picture off an offering (its imageId from get_settings offerings) and delete it. Can't be undone. - market(country, language): The country and language (get_settings markets). After research it rebuilds it: fresh keyword research, the unwritten plan replanned, the prompts retired for a fresh set. 3 per week. - timezone(timezone): An IANA name (Europe/Berlin): the day pages go out and the send window run on it.

输入参数idurldatanametypenicheaction必填countryimageIdlanguagetimezonedescription另有 2 个

update_writing

Change the writing rules

The brand's rules for whoever writes, Sightkick or you (Settings → Writing, Images). voice, key_facts and rules replace the whole text: read get_settings writing first. action: - author(name, credentials?, sameAs?): The byline: name, credentials, up to 6 https profiles (sameAs). - remove_author: Pages fall back to the brand's byline. - voice(text): How every page sounds, in a few sentences. - key_facts(keyFacts): The facts every page may state: prices, features, who it's for. - rules(add?, replace?): The do's and don'ts: add one line, or replace them all. - images(enabled?, style?, customInstructions?, titleCard?, bodyImages?, screenshots?, brandColor?, font?): The image style for Sightkick's own pages: fields left out stay.

输入参数addfontnametextstyleaction必填sameAsenabledreplacekeyFactstitleCardbodyImages另有 4 个

update_connections

Change connections

Where pages publish, Search Console, other agents and the events webhook. A site has one publishing destination: a second is refused, so remove the first to move. check: true reads the site and stores nothing. action: - connect_wordpress(siteUrl, token, authorId?, categoryId?, check?): A WordPress site, with the Sightkick plugin active and its token (wp option get sightkick_token). Guide: https://sightkick.so/connect/wordpress.md - connect_shopify(shopDomain, clientId?, clientSecret?, accessToken?, blogId?, authorName?, check?): A Shopify store's blog, with the owner's app's clientId and clientSecret (or an shpat_ accessToken). Guide: https://sightkick.so/connect/shopify.md - connect_framer(projectUrl, apiKey, collectionId?, blogUrl?, check?): A Framer project's CMS collection, with its address and an API key. Guide: https://sightkick.so/connect/framer.md - connect_webhook(webhookUrl, blogUrl?, bearerToken?): A site on its own code: each page POSTed, signed, to its https webhookUrl. Returns signingSecret and indexNowKey this once. Guide: https://sightkick.so/connect/webhook.md - edit(connectionId, label?, authorId?, categoryId?, token?, blogId?, authorName?, clientId?, clientSecret?, accessToken?, blogUrl?, autoPublish?, apiKey?, webhookUrl?, bearerToken?, removeBearerToken?): Change a connection: what's left out stays, new credentials are checked against the site. - test(connectionId): Check a connection works (a webhook gets a signed test event). - remove(connectionId): Stop publishing there and forget which page is which post (the site keeps its pages, and a later publish there is a new post). Can't be undone. - destination(key, label?, path?, on?): Change a destination (get_settings destinations): rename it, move it to another folder (refused while a live page is in it: its address would change), or switch a page type's off (no new pages go there) or on. - add_destination(label, path): Add one of the owner's own destinations: a folder of blog-style pages beside

输入参数onkeyurlpathchecklabeltokentypesaction必填apiKeyblogIdremove另有 17 个

update_outreach_setup

Change the outreach setup

The sending inbox's settings and the pitch sequences (Settings → Sending inbox, Sequences). action: - signature(inboxId, signature): An inbox's signature (empty clears it). - daily_limit(inboxId, dailyLimit): An inbox's sends per day, 1 to 30. A raise restarts the warm-up climb. - warm_up(inboxId, on): An inbox's warm-up on or off. Off sends the whole daily limit from today, which hurts a new inbox's deliverability. - send_window(startHour?, endHour?, timezone?, weekdaysOnly?, dailyLimit?): When mail goes out: hours, timezone, weekdays only, the default daily limit. - opt_out(on?, lines?): The opt-out line under every email: on, and its lines (null puts Sightkick's back). - postal_address(address): The postal address under every email (empty clears it). - mailbox_link: Connecting a mailbox is the owner's: the app page and a line to hand them. - disconnect_inbox(inboxId): Take an inbox off (get_settings inbox): it stops sending and hearing replies, its queued sends are cancelled, its threads keep their history. A managed inbox taken off is cancelled with its domain. Connecting one again is the owner's sign-in. - managed_domains: The managed inbox (an add-on: update_account change_plan managedInbox): domains free to take for it, with their yearly price. - check_domain(domain): Whether one domain is free to take for the managed inbox. - create_managed_inbox(domain, firstName, lastName, username?, platform?, redirectUrl?): Order the managed inbox: the domain and one mailbox in the sender's name (username before the @, the first name when left out; GOOGLE or MICROSOFT; redirectUrl where the domain forwards, the site when left out). It connects itself in minutes, warm-up on. One inbox per brand: refused while another is being set up or an earlier one still listens. A new managed inbox needs the old one disconnected first, and charges the domain fee again to the plan's card. The same order asked again returns it, nothing charged. - save_sequence(sequenceId?, name?, pitch?,

输入参数onnamelinespitchaction必填domainaddressendHourinboxIdlastNameplatformtimezone另有 9 个

update_jobs

Change Sightkick's job settings

What Sightkick does by itself (Settings → Automation), either way. None of it limits what you or the owner do. action: - job(job, mode): One job: articles (Sightkick's pages: scheduled plans them on the schedule two weeks ahead and they go live on their day, unscheduled writes them into Unscheduled for you or the owner to give a day), keywords (auto research: auto, manual), improvements (auto, manual, with dead-link fixes), outreach (auto sends its pitches, manual waits). - floor(floor): The lowest Opportunity Sightkick pitches by itself, 20 to 70. - warmup(on, perWeek?): A young site's pace of new pages: on (perWeek 1 to 7, or left out for the recommended pace) or off.

输入参数onjobmodeflooraction必填perWeek

update_account

Change the plan, notifications and brands

The account as Settings → Plan and → Notifications, and the brand switcher, keep it (read them with get_settings plan and notifications). A plan change charges or credits the card on file, for an admin's agent. Starting the plan is the person's own click: the first card in Stripe's Checkout, and ending a free trial early with Start my plan now (get_settings plan gives the link), as are signing in and who gets access. What a trial holds back (sending email, the mailbox, the whole allowances) opens when the plan starts. The plan is amounts: articles (Sightkick's a month), prompts, aiModels, keywordSearches, contactsFound, managedInbox, interval (month or year), each on its steps (get_settings plan); what's left out stays. action: - preview_plan(articles?, prompts?, aiModels?, keywordSearches?, contactsFound?, managedInbox?, interval?): What a change would charge today and the price per month after it, without changing anything. A change that lowers the bill waits for the renewal. - change_plan(articles?, prompts?, aiModels?, keywordSearches?, contactsFound?, managedInbox?, interval?): Change the amounts or the cycle. A bill that rises or holds changes today, the difference charged; one that falls is booked for the renewal, nothing charged. On a trial it applies at once, nothing charged before the trial ends. payLink: the card wants the person to confirm. - undo_downgrade: Take back a downgrade booked for the renewal: the plan stays as paid for, nothing charged. - pause_plan(months): Pause a monthly plan for 1 to 3 months from its renewal: nothing billed and Sightkick's work stops meanwhile, everything set up stays. - resume_plan: Keep the plan: take back a cancel, or end a pause today. - cancel_plan(reason, comment?): Cancel at the renewal, with why (reason: price, results, technical, priority, switching or other, and a comment): everything runs until then, nothing more charged, resume_plan takes it back. A plan in its pause ends at once. - notifications(email?, posit

输入参数nameemailaction必填monthsnudgesreasoncommentpromptsaiModelsarticlesintervalwebsiteUrl另有 5 个

版本历史

2
  1. v2.2.0最新Nov 4, 2026
  2. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分