Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SiteGPT

REMOTE · SITEGPT.AI · SCANNED SEP 21

Manage SiteGPT chatbots and account resources through the SiteGPT API v2.

Available components

0 this week 40 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security100
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Install

How do I install the SiteGPT MCP server?

SiteGPT is a hosted endpoint at https://sitegpt.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · sitegpt.ai

# add to Claude Code
claude mcp add --transport http sitegpt-sitegpt 'https://sitegpt.ai/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "sitegpt-sitegpt": {
      "url": "https://sitegpt.ai/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "sitegpt-sitegpt": {
      "type": "http",
      "url": "https://sitegpt.ai/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.sitegpt-sitegpt]
url = "https://sitegpt.ai/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sitegpt-sitegpt": {
      "type": "remote",
      "url": "https://sitegpt.ai/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add sitegpt-sitegpt --url 'https://sitegpt.ai/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  sitegpt-sitegpt:
    url: "https://sitegpt.ai/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "sitegpt-sitegpt": {
      "Transport": "http",
      "Url": "https://sitegpt.ai/mcp"
    }
  }
}
# add to Vellum
assistant mcp add sitegpt-sitegpt -t streamable-http -u 'https://sitegpt.ai/mcp'
// mcp.json
{
  "mcpServers": {
    "sitegpt-sitegpt": {
      "type": "http",
      "url": "https://sitegpt.ai/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 30 Aug 26 −44
    • Endpoint reachability: reachable → behind authorisation security
    • Tool safety: pass → unverified security
    • Transport: pass → unverified security
    • Stability: 0.17 → unverified security
    • Authorization: The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
  • 28 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Aug 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: unverified → 0.03 functional
  • 24 Aug 26 81

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://sitegpt.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sitegpt.ai CN=WE1,O=Google Trust Services,C=US 19 Sept 2026 18 Dec 2026 ECDSA 256 ECDSA-SHA256 7c4782bca91cafd113fba5065114cc59
SANs: sitegpt.ai, app.sitegpt.ai
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of sitegpt.ai. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
sitegpt.ai. present 2371 13 Verified
sitegpt.ai. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer realm="OAuth", resource_metadata="https://sitegpt.ai/.well-known/oauth-protected-resource/mcp"

Bearer realm="OAuth", resource_metadata="https://sitegpt.ai/.well-known/oauth-protected-resource/mcp"
Header Value
strict-transport-security max-age=0; includeSubDomains; preload
x-content-type-options nosniff
www-authenticate Bearer realm="OAuth", resource_metadata="https://sitegpt.ai/.well-known/oauth-protected-resource/mcp"

Protected resource metadata

Document https://sitegpt.ai/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://sitegpt.ai/mcp
Authorisation server https://sitegpt.ai/oauth/mcp
https://sitegpt.ai

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://sitegpt.ai/mcp Auth required 401
http (plaintext) http://sitegpt.ai/mcp HTTPS enforced 301 https://sitegpt.ai/mcp
MCP tools · 17 exposed · ~4,065 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
authorize_knowledge_source ~88

Get a fresh browser authorization URL for an existing knowledge source connection (for example one still pending OAuth). Uses POST /api/v2/chatbots/{chatbotId}/knowledge/sources/{connectionId}/authorize.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
connectionIdstringyes
NameTypeReqDescription
authorizationUrlstring|nullyesOAuth URL to open in a browser to finish connecting the source.
chatbotIdstringyes
nextStepstring|nullyes
sourceobjectyes

No examples provided.

create_knowledge_source ~194

Create a new OAuth knowledge source connection (Notion, Google Drive, Dropbox, OneDrive, Box, SharePoint, or Confluence) and get the browser authorization URL to finish connecting it. Confluence additionally requires the site domain (e.g. your-team.atlassian.net). GitHub is not available here — its connections carry an access token and must be set up in the SiteGPT dashboard. Uses POST /api/v2/chatbots/{chatbotId}/knowledge/sources.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
connectorstringyesOAuth connector type. GitHub is dashboard-only.
domainstringConfluence site domain (e.g. your-team.atlassian.net). Required when connector is CONFLUENCE; ignored otherwise.
namestringyesDisplay name.
NameTypeReqDescription
authorizationUrlstring|nullyesOAuth URL to open in a browser to finish connecting the source.
chatbotIdstringyes
nextStepstring|nullyes
sourceobjectyes

No examples provided.

execute_read ~601

Run read-only SiteGPT API v2 calls (GET only) using JavaScript code. Targets the SiteGPT API v2 (spec: https://sitegpt.ai/api/v2/openapi.json, docs: https://sitegpt.ai/docs/api-reference/v2/getting-started). First use 'search' to find the right endpoints. Requests run through an authenticated host-side bridge scoped to your OAuth grant. Write methods (POST, PUT, PATCH, DELETE) are rejected here — use the execute_write tool for those. Available in your code: interface RequestOptions { method: "GET"; path: string; query?: Record<string, string | number | boolean | undefined>; body?: unknown; contentType?: string; rawBody?: boolean; } // OpenAPI 3.x spec with $refs resolved inline. // The spec object follows the standard OpenAPI 3.x structure. interface OperationObject { summary?: string; description?: string; operationId?: string; tags?: string[]; parameters?: Array<{ name: string; in: "query" | "header" | "path" | "cookie"; required?: boolean; schema?: unknown; description?: string; }>; requestBody?: { required?: boolean; description?: string; content?: Record<string, { schema?: unknown }>; }; responses?: Record<string, { description?: string; content?: Record<string, { schema?: unknown }>; }>; security?: Array<Record<string, string[]>>; deprecated?: boolean; } interface PathItem { summary?: string; description?: string; get?: OperationObject; post?: OperationObject; put?: OperationObject; patch?: OperationObject; delete?: OperationObject; head?: OperationObject; options?: OperationObject; trace?: OperationObject; parameters?: OperationObject["parameters"]; } interface OpenApiSpec { openapi: string; info: { title: string; version: string; description?: string }; paths: Record<string, PathItem>; servers?: Array<{ url: string; description?: string }>; components?: Record<string, unknown>; tags?: Array<{ name: string; description?: string }>; } declare…

NameTypeReqDescription
codestringyesJavaScript async arrow function to execute
NameTypeReqDescription
resultstringyesThe sandboxed code result as text: the returned value, JSON-stringified when not a string, possibly truncated.

No examples provided.

execute_write ~684

Create, update or delete SiteGPT API v2 resources (POST, PUT, PATCH or DELETE only) using JavaScript code. Targets the SiteGPT API v2 (spec: https://sitegpt.ai/api/v2/openapi.json, docs: https://sitegpt.ai/docs/api-reference/v2/getting-started). First use 'search' to find the right endpoints and 'execute_read' for any lookups. Requests run through an authenticated host-side bridge scoped to your OAuth grant. GET is rejected here — use the execute_read tool to read data. GitHub knowledge-source connections cannot be created or updated through this tool because they carry an access token — direct users to the SiteGPT dashboard for GitHub setup; OAuth-based connectors (Notion, Google Drive, …) can be created here and finish authorization in the browser. Available in your code: interface RequestOptions { method: "POST" | "PUT" | "PATCH" | "DELETE"; path: string; query?: Record<string, string | number | boolean | undefined>; body?: unknown; contentType?: string; rawBody?: boolean; } // OpenAPI 3.x spec with $refs resolved inline. // The spec object follows the standard OpenAPI 3.x structure. interface OperationObject { summary?: string; description?: string; operationId?: string; tags?: string[]; parameters?: Array<{ name: string; in: "query" | "header" | "path" | "cookie"; required?: boolean; schema?: unknown; description?: string; }>; requestBody?: { required?: boolean; description?: string; content?: Record<string, { schema?: unknown }>; }; responses?: Record<string, { description?: string; content?: Record<string, { schema?: unknown }>; }>; security?: Array<Record<string, string[]>>; deprecated?: boolean; } interface PathItem { summary?: string; description?: string; get?: OperationObject; post?: OperationObject; put?: OperationObject; patch?: OperationObject; delete?: OperationObject; head?: OperationObject; options?: OperationObject; trace?: OperationObject; par…

NameTypeReqDescription
codestringyesJavaScript async arrow function to execute
NameTypeReqDescription
resultstringyesThe sandboxed code result as text: the returned value, JSON-stringified when not a string, possibly truncated.

No examples provided.

get_chatbot_analytics ~158

Get chatbot analytics for the inline analytics card: message counts and feedback split, training/knowledge state (from the chatbot dashboard endpoint), account-wide quota usage with a 12-month message-volume history (from the usage endpoint), and trailing-30-day engagement totals — widget opens, conversations started, unique visitors, escalations, leads (from the analytics endpoint; null when the account does not have analytics enabled). Uses GET /api/v2/chatbots/{chatbotId}/dashboard, GET /api/v2/usage, and GET /api/v2/chatbots/{chatbotId}/analytics.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
NameTypeReqDescription
chatbotIdstringyes
conversationsobjectyes
engagementyes
historyarrayyes
knowledgeobjectyes
quotaobjectyes
trainingobjectyes

No examples provided.

get_chatbot_appearance ~104

Read the chatbot widget appearance (colors, launcher position and shape, title, welcome message, placeholder, tooltip) plus its starter questions, for the inline appearance card. Uses GET /api/v2/chatbots/{chatbotId}/settings/appearance and GET /api/v2/chatbots/{chatbotId}/starters.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
NameTypeReqDescription
appearanceobjectyes
chatbotIdstringyes
startersarrayyes

No examples provided.

get_conversation ~107

Read one conversation with its transcript (visitor questions and chatbot/system answers, capped at 2000 characters per message). Renders as the transcript panel of the inline conversations inbox. Uses GET /api/v2/chatbots/{chatbotId}/conversations/{threadId}.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
threadIdstringyesConversation thread id, from list_conversations.
NameTypeReqDescription
chatbotIdstringyes
escalatedbooleanyes
importantbooleanyes
messagesarrayyes
modestring|nullyes
resolvedbooleanyes
threadIdstringyes
titlestring|nullyes

No examples provided.

get_onboarding_status ~130

Get the live status of an agent-first onboarding workspace: workspace and claim state, the setup checklist (knowledge crawl/training, persona, starters, …), the browser onboarding page URL, and the POST-only claim API endpoint (claimUrl is for agents/CLI clients — never a page to open in a browser). The onboarding-progress view polls this while pages crawl and train. Requires the temporary onboarding token issued by the onboarding start endpoint. Uses GET /api/v2/onboarding/workspaces/{workspaceId}.

NameTypeReqDescription
workspaceIdstringyesOnboarding workspace id (an RFC-4122 UUID).
NameTypeReqDescription
chatbotIdstring|nullyes
checklistarrayyes
claimStatusstring|nullyes
claimUrlstring|nullyesPOST-only API endpoint for agents/CLI clients starting a claim. NOT a browser page — never present it to a human as a link to open (a browser GET returns 405).
isExpiredbooleanyes
onboardingUrlstring|nullyesThe browser onboarding page — the one link humans open.
statusstring|nullyesWorkspace status: CREATED, BUILDING, CLAIMED, EXPIRED, …
workspaceIdstringyes

No examples provided.

list_conversations ~158

List a chatbot conversation inbox with filters (open/resolved status, escalated-only) and cursor pagination, projected to compact rows with a last-message snippet. Renders as the inline conversations inbox. Uses GET /api/v2/chatbots/{chatbotId}/conversations.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
cursorstringOpaque pagination cursor from the previous page.
escalatedbooleantrue → only conversations escalated to a human.
limitintegerMaximum conversations to return (default 50, max 100).
statusstringFilter by resolution status; defaults to all.
NameTypeReqDescription
chatbotIdstringyes
conversationsarrayyes
nextCursorstring|nullyes

No examples provided.

list_escalations ~159

List the open conversations that are escalated to a human and waiting — the queue behind the inline escalations view — with cursor pagination for queues longer than one page. Read-only: replying to escalated visitors happens in the SiteGPT dashboard inbox (API v2 has no agent-reply endpoint yet). Uses GET /api/v2/chatbots/{chatbotId}/conversations with escalated=true and status=open.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
cursorstringPass the previous page nextCursor to fetch the next page.
limitintegerMaximum escalations to return (default 50, max 100).
NameTypeReqDescription
chatbotIdstringyes
escalationsarrayyes
nextCursorstring|nullyes

No examples provided.

list_knowledge_sources ~109

List a chatbot connector data sources (Notion, Google Drive, Confluence, …) with their sync state, plus document counts by ingestion status. Renders as the inline knowledge view. Uses GET /api/v2/chatbots/{chatbotId}/knowledge/sources and GET /api/v2/chatbots/{chatbotId}/documents/stats.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
NameTypeReqDescription
chatbotIdstringyes
documentsobjectyes
sourcesarrayyes

No examples provided.

list_leads ~157

List the leads a chatbot collected (name, email, phone, received time, starred/archived flags) with search, status filter, and cursor pagination. Renders as the inline leads browser. Uses GET /api/v2/chatbots/{chatbotId}/leads.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
cursorstringOpaque pagination cursor from the previous page.
limitintegerMaximum leads to return (default 50, max 100).
querystringSearch across lead name, email, and phone.
statusstringFilter leads by state (default all).
NameTypeReqDescription
chatbotIdstringyes
leadsarrayyes
nextCursorstring|nullyes

No examples provided.

preview_chatbot ~225

Render a live, interactive preview of a SiteGPT chatbot directly in the conversation (MCP Apps extension). Call it after creating or inspecting a chatbot, passing the chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id — and optionally the chatbot title for the preview header. Returns { chatbotId, widgetUrl }; hosts that support MCP Apps render the actual chat widget from the ui://sitegpt/chatbot-preview resource, and any client can open widgetUrl in a browser instead. Performs no API calls and does not verify that the chatbot exists — use execute_read for lookups. Note: chatbots that restrict embedding via Allowed Domains (Settings > General) block the inline frame; the preview then switches to a built-in chat driven by the send_chat_message tool, and shows a fallback with the direct link when that fails too.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
titlestringOptional chatbot title shown in the preview header.
NameTypeReqDescription
chatbotIdstringyes
titlestring
widgetUrlstringyesPublic chat widget URL for this chatbot — the page the preview embeds.

No examples provided.

search ~577

Search the SiteGPT API v2 OpenAPI spec. Targets the SiteGPT API v2 (spec: https://sitegpt.ai/api/v2/openapi.json, docs: https://sitegpt.ai/docs/api-reference/v2/getting-started). codemode.spec() returns $refs resolved inline. This tool only reads the local spec catalog; it performs no API calls. Types: // OpenAPI 3.x spec with $refs resolved inline. // The spec object follows the standard OpenAPI 3.x structure. interface OperationObject { summary?: string; description?: string; operationId?: string; tags?: string[]; parameters?: Array<{ name: string; in: "query" | "header" | "path" | "cookie"; required?: boolean; schema?: unknown; description?: string; }>; requestBody?: { required?: boolean; description?: string; content?: Record<string, { schema?: unknown }>; }; responses?: Record<string, { description?: string; content?: Record<string, { schema?: unknown }>; }>; security?: Array<Record<string, string[]>>; deprecated?: boolean; } interface PathItem { summary?: string; description?: string; get?: OperationObject; post?: OperationObject; put?: OperationObject; patch?: OperationObject; delete?: OperationObject; head?: OperationObject; options?: OperationObject; trace?: OperationObject; parameters?: OperationObject["parameters"]; } interface OpenApiSpec { openapi: string; info: { title: string; version: string; description?: string }; paths: Record<string, PathItem>; servers?: Array<{ url: string; description?: string }>; components?: Record<string, unknown>; tags?: Array<{ name: string; description?: string }>; } declare const codemode: { spec(): Promise<OpenApiSpec>; }; Your code must be an async arrow function that returns the result. Examples: // List all paths async () => { const spec = await codemode.spec(); return Object.keys(spec.paths); } // Find endpoints by tag async () => { const spec = await codemode.spec(); const results = []; for (cons…

NameTypeReqDescription
codestringyesJavaScript async arrow function to search the spec
NameTypeReqDescription
resultstringyesThe sandboxed code result as text: the returned value, JSON-stringified when not a string, possibly truncated.

No examples provided.

send_chat_message ~206

Send a visitor message to a SiteGPT chatbot and get its answer — the data lane behind the inline chatbot preview's built-in chat. The first call (no threadId) creates a conversation and returns its threadId; pass that threadId on follow-ups to continue the same conversation. Messages are capped at 20000 characters (the endpoint's limit). On chatbots in human-support mode the message is delivered but answer is null — a human replies in the site widget. Uses POST /api/v2/chatbots/{chatbotId}/messages and POST /api/v2/chatbots/{chatbotId}/conversations/{threadId}/messages.

NameTypeReqDescription
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
messagestringyesThe visitor message to send.
threadIdstringOmit on the first message; pass the threadId a previous call returned to continue that conversation.
NameTypeReqDescription
answerstring|nullyesThe chatbot answer text, or null when no automatic answer was produced (human-support mode).
chatbotIdstringyes
messageTypestring|nullyes
threadIdstringyesConversation thread id — pass it back for follow-ups.

No examples provided.

update_chatbot_appearance ~261

Update the chatbot widget appearance: title, welcome message, placeholder, tooltip, brand/launcher/link colors (#rrggbb), and launcher position. Only the provided fields change; the tool returns the full updated appearance. This changes the LIVE widget customers see. Uses PATCH /api/v2/chatbots/{chatbotId}/settings/appearance.

NameTypeReqDescription
brandColorstringWidget header/background color as #rrggbb.
brandTextColorstringText color over the brand color as #rrggbb.
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
iconBackgroundColorstringLauncher bubble background color as #rrggbb.
iconPositionstringWhich side of the page the launcher bubble sits on.
linkColorstringHyperlink color inside chatbot replies as #rrggbb.
placeholderTextstringPlaceholder text inside the message input box.
titlestringWidget header title shown to visitors.
tooltipstringShort prompt shown next to the closed launcher bubble.
welcomeMessagestringFirst message the widget shows when a visitor opens it.
NameTypeReqDescription
appearanceobjectyes
chatbotIdstringyes

No examples provided.

upload_knowledge_file ~147

Upload one file (base64-encoded, max 1500000 bytes decoded — about 1.5 MB; the MCP transport caps request bodies, larger files go through the dashboard) as chatbot training knowledge. Ingestion is queued asynchronously. Uses POST /api/v2/chatbots/{chatbotId}/knowledge/files.

NameTypeReqDescription
base64stringyesBase64 file content (a data: URL prefix is tolerated).
chatbotIdstringyesSiteGPT chatbot id — an RFC-4122 UUID or a 15-20 digit numeric id.
namestringyesFile name.
typestringMIME type; defaults to application/octet-stream.
NameTypeReqDescription
chatbotIdstringyes
documentsCountnumberyes
fileNamestringyes
ingestJobRunIdsarrayyes

No examples provided.

Common questions

What is the SiteGPT MCP server?

SiteGPT is an MCP server listed in the public MCP registry as io.github.sitegpt/sitegpt. Manage SiteGPT chatbots and account resources through the SiteGPT API v2. This page covers its hosted endpoint (https://sitegpt.ai/mcp).

Is the SiteGPT MCP server safe to use?

SiteGPT scores 40 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SiteGPT MCP server expose?

SiteGPT exposes 17 tools: search, execute_read, execute_write, preview_chatbot, send_chat_message, and 12 more. Their descriptions and schemas cost roughly 4,065 tokens of context every time the server is loaded.

Does the SiteGPT MCP server require authentication?

Yes. SiteGPT asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the SiteGPT MCP server still maintained?

SiteGPT is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.