MCP Server
Run SiteLift from the AI assistant you already use. Claude, ChatGPT, Gemini, Claude Code, Cursor and any other MCP client can read your performance, steer the content calendar and publish articles, with the same permissions you have in the dashboard.
Note
https://api.sitelift.io/mcp (Streamable HTTP). Chat assistants sign in with your SiteLift account over OAuth. Coding agents send an API key. Manage both at Settings → Developer → MCP.What it is
The Model Context Protocol (MCP) is the open standard AI assistants use to call tools in other products. SiteLift exposes 44 tools and 3 ready-made prompts over MCP, so instead of opening the dashboard you can ask things like "which of my articles sit on page two and deserve a refresh?", "does ChatGPT recommend us yet?" or "publish the pricing comparison" and let the assistant do the clicking.
A connection acts as you: every site you own or are a member of, with your role on each. Tools go through the same access checks and plan entitlements as the dashboard, so an agent can never do something you could not do yourself. Tools that change your live site are flagged so the assistant confirms with you before calling them.
What you can ask
- Reads
- Performance, calendar and articles, audits, AI visibility, keywords, backlinks, competitor pages, plan usage, team, support requests.
- Changes, after asking you
- Planned articles and their briefs, article edits and publishing, refreshes, site settings, competitors, AI prompts, audits, pull-based CMS connections, team invitations and roles, support requests.
- Never
- Billing, API keys, generating articles or keywords on demand, adding calendar topics, pausing a site, transferring ownership. Anything that needs a person goes through a support request instead.
Built-in prompts
Clients that list MCP prompts (Claude, Claude Code, Cursor and others) show three SiteLift workflows as slash commands:
/weekly_report: what changed this week across traffic, articles, refreshes and visibility./quick_wins: pages ranking just off page one, with the refresh or edit that would move them./review_calendar: walk the upcoming calendar and tighten briefs and priorities.
Connect a chat assistant
Chat assistants sign in with your SiteLift account. No key to copy: you approve the connection once on a SiteLift consent page and can disconnect it from the dashboard later.
Claude
claude.ai and the Claude desktop app
- Open Settings → Connectors and choose "Add custom connector".
- Name it SiteLift and paste https://api.sitelift.io/mcp as the remote MCP server URL, then click Add.
- Click Connect. Claude sends you to SiteLift to approve access.
ChatGPT
custom connectors in ChatGPT
- Open Settings → Connectors → Advanced and turn on Developer mode.
- Click Create, name it SiteLift, paste https://api.sitelift.io/mcp as the MCP server URL and pick OAuth as the authentication.
- Save. ChatGPT registers itself and sends you to SiteLift to approve access.
Gemini
Spark connected apps in the Gemini app
- Open Gemini, switch to Spark and choose Connected apps.
- Under "Custom apps for Spark", paste https://api.sitelift.io/mcp and click Next.
- Sign in to SiteLift when Gemini asks, then turn the app on.
Connect a coding agent
- 1
Create an API key
In the dashboard open Settings → Developer → MCP and click Create API key. The key starts with
slk_and is shown once, so copy it straight away. You can hold up to 10 active keys and revoke any of them at any time. - 2
Add the server to your agent
Register
https://api.sitelift.io/mcpas a remote MCP server over Streamable HTTP and send the key as a Bearer token in theAuthorizationheader. Ready-made snippets for each agent are below. - 3
Ask for your sites
Start with "list my SiteLift sites". Every other tool takes a site id from that answer, and the agent picks the right one from your wording after that.
Warning
Claude Code
Run once in your terminal, then type /mcp inside Claude Code to confirm SiteLift is connected. Without the header line, Claude Code signs in through the browser instead.
claude mcp add --transport http sitelift https://api.sitelift.io/mcp \
--header "Authorization: Bearer slk_your_api_key_here"Codex CLI
Export the key in your shell profile so Codex can read it, then add the server and restart Codex.
# in your shell profile: export SITELIFT_API_KEY=slk_your_api_key_here
[mcp_servers.sitelift]
url = "https://api.sitelift.io/mcp"
bearer_token_env_var = "SITELIFT_API_KEY"Gemini CLI
{
"mcpServers": {
"sitelift": {
"httpUrl": "https://api.sitelift.io/mcp",
"headers": { "Authorization": "Bearer slk_your_api_key_here" }
}
}
}Cursor
Use ~/.cursor/mcp.json for every project or .cursor/mcp.json inside one. Cursor Settings → MCP shows a green dot once the tools loaded.
{
"mcpServers": {
"sitelift": {
"url": "https://api.sitelift.io/mcp",
"headers": { "Authorization": "Bearer slk_your_api_key_here" }
}
}
}VS Code
Copilot agent mode reads .vscode/mcp.json in your workspace. Start the server from the MCP panel and the SiteLift tools appear in agent mode.
{
"servers": {
"sitelift": {
"type": "http",
"url": "https://api.sitelift.io/mcp",
"headers": { "Authorization": "Bearer slk_your_api_key_here" }
}
}
}Any other client
Windsurf, Zed, Hermes and custom agents all work the same way: add a remote MCP server at https://api.sitelift.io/mcp with transport Streamable HTTP and the header Authorization: Bearer slk_your_api_key_here. Clients that support OAuth discovery can sign in instead of sending a key.
Tool reference
You never call these by name; the assistant picks them from your request. The list is here so you know what is on the table.
Sites and performance
| list_sites | Every site the account can access, with your role. |
| get_site_overview | Settings, niche, pipeline counts, keyword stats, latest audit, backlinks, projection. |
| get_site_activity | What happened on the site recently. |
| get_plan_usage | Articles used and remaining in the current period. |
| get_search_console_summary | Clicks, impressions and position with change vs the previous period. |
| get_article_performance | Search Console numbers per SiteLift article with a trend badge. |
| get_search_console_queries | Query rows for one page, with a quick-win filter (positions 4 to 20). |
| update_site_settings | Auto-publish, publish time, image style, language, region. |
Calendar and articles
| get_content_calendar | Calendar items by status and date range. |
| get_article | One item with its article body. |
| search_articles | Find an item by title, keyword or URL. |
| update_calendar_item | Title, brief, keywords, priority and assets on a planned item. |
| update_calendar_items | Bulk priority changes. |
| update_article | Edit title, body, SEO title and description, featured image. |
| publish_article | Push or republish through the connected CMS. |
Optimization, audits and visibility
| get_optimizations | Open post-publish refresh suggestions, or one article’s history. |
| apply_optimization, keep_optimization, dismiss_optimization, revert_optimization | The same transitions as the dashboard. |
| get_seo_audit, start_seo_audit | Health score, Core Web Vitals and issues; start a new audit. |
| get_ai_visibility, start_ai_visibility_run, update_ai_visibility_prompts | Tracked prompts, per-platform scores and history; run or edit the prompt list. |
| get_planned_keywords | The keywords on your calendar items with their volume and difficulty. |
| get_backlink_status | Placements, syndication and the weekly budget. |
Competitors, CMS, team and support
| get_competitor_pages, set_competitors, regenerate_competitor_page | Tracked competitors and their pages; replace the list or refresh a page. |
| publish_competitor_page, unpublish_competitor_page | Live page control. |
| get_cms_connection, connect_cms, test_cms_connection, disconnect_cms | Next.js, Custom API and webhook connections. OAuth CMSs stay in the dashboard. |
| get_hosted_blog_status | State of a SiteLift Hosted blog. |
| get_team, invite_team_member, update_team_member_role, remove_team_member, cancel_team_invitation | Team management with the same role rules as the dashboard. |
| request_support, get_support_requests | File a request a person will handle (regenerate an article or image, research keywords) and read the replies. |
Limits and the free tools server
Each key or signed-in connection may make 60 requests per minute. Over that you get a 429 with a Retry-After header, which every listed client honours on its own. Long-running work (audits, AI visibility runs, competitor page refreshes) is queued and read back with the matching get_* tool, so no call blocks on a worker.
The free SEO tools are also available over MCP without an account at https://api.sitelift.io/mcp/free (30 requests per minute per IP). Point any client at that URL with no header to run AI readiness, sitemap, robots and the other checks from chat.
Tell us what you tried