Integrations
MCP Server Access
Support Station includes a remote MCP server for assistants and automation tools that need to manage support content on behalf of a signed-in team member.
What You Can Do
The MCP server focuses on support knowledge and conversation work:
- List, search, create, update, publish, unpublish, and delete public knowledge base articles
- List, search, create, update, and delete internal knowledge sources
- Add text, URL, and document-based internal knowledge
- Update URL internal knowledge crawl schedules
- List, search, create, update, assign, and reply to support tickets
- List ticket message threads and create private internal notes
- Build structured customer or external organization activity profiles
- List, search, and fetch KB or widget AI conversations
- Upload images for knowledge base articles and ticket attachments, from public URLs or local files
Authentication
MCP clients connect through OAuth. When a client starts authorization, you sign in with your Support Station account and approve access on the Support Station consent screen. The client receives a bearer token that only works for your account and organization.
You can sign in with the same methods you use for Support Station, including OAuth providers and email/password login when enabled for your account.
The consent screen shows the name of the client that asks for access. Claude Code sends the MCP server name from your project configuration, such as Claude Code (support-station-acme). If you connect Support Station in more than one project, give the server a different name in each project. Then you can see which project asks for access. For example, in a project's .mcp.json:
{
"mcpServers": {
"support-station-acme": {
"type": "http",
"url": "https://api.supportstation.io/mcp"
}
}
}
After you rename a server, reconnect it so the client registers again with the new name.
If you use mcp-remote, it stores OAuth credentials locally in ~/.mcp-auth. A client can reconnect without opening a browser when it already has a cached token for the Support Station MCP server. Clear that cache to force a fresh login and consent prompt.
Server Details
Use the hosted Support Station MCP endpoint:
https://api.supportstation.io/mcp
MCP clients should discover OAuth metadata from:
https://api.supportstation.io/.well-known/oauth-authorization-server
The server also exposes protected resource metadata at:
https://api.supportstation.io/.well-known/oauth-protected-resource
Knowledge Base Tools
The MCP server exposes tools for:
- Showing the current signed-in user and organization slug
- Listing knowledge base articles by page, status, category, or search text
- Searching article titles and content
- Fetching one article by ID
- Creating draft or published articles
- Updating article content, slugs, categories, SEO fields, and status
- Publishing and unpublishing articles with dedicated lifecycle tools
- Deleting articles
- Listing, fetching, creating, updating, and deleting knowledge base categories
For knowledge base articles, send body as a sanitized HTML fragment, not Markdown. Use tags such as <h2>, <p>, <ul>, <li>, and <code>. Do not send a full HTML document, scripts, event handlers, or unsafe attributes.
Article bodies also support media. Embed images with <img src alt> (optionally with a data-caption attribute or wrapped in <figure>), using URLs returned by the media upload tools. Embed videos with YouTube or Loom embed HTML.
Use publish_kb_article to publish an article by ID. Use unpublish_kb_article to return an article to draft status and remove it from the public knowledge base.
For knowledge base categories, use list_kb_categories, get_kb_category, create_kb_category, update_kb_category, and delete_kb_category. Category slugs must use lowercase letters, numbers, and hyphens. Categories that still contain articles or subcategories cannot be deleted.
Ticket Tools
The MCP server exposes tools for:
- Listing tickets by page, status, priority, assignee, team, tag, customer, search text, or sort order
- Searching tickets by subject, ticket number, customer name or email, and ticket message content
- Fetching one ticket with customer, assignment, tags, messages, activities, and active CC recipients
- Creating tickets for existing customers
- Listing ticket message threads
- Replying to customers
- Creating private internal notes
- Updating ticket status or priority
- Assigning tickets to team members or teams
Use reply_to_ticket for customer-visible replies. It uses the normal Support Station reply path, including email delivery, email threading, ticket status updates, and webhooks. Check emailDelivery.status in its response. SENT means the provider accepted the email. FAILED means the text was saved but sending failed or could not be confirmed. Staff can retry that saved reply in the ticket dashboard.
Use create_ticket_internal_note for private team-only notes. Internal notes are not customer-visible.
For ticket replies, ticket creation messages, and internal notes, send content as a sanitized HTML fragment, not Markdown. Use tags such as <p>, <ul>, <li>, <strong>, <em>, and <code>. Do not send a full HTML document, scripts, event handlers, or unsafe attributes.
Customer Profile Tools
Use get_customer_profile to build a structured activity profile for one customer or one external organization. Provide one or more of:
customerIdemailexternalUserIdexternalOrganizationId
The response includes matched customer records, ticket counts by status and priority, ticket message counts by type, recent tickets and messages, widget chat messages, AI conversation exchanges, and a recent timeline. The tool does not call an AI model; it returns structured organization-scoped data for the MCP client to inspect or summarize.
AI Conversation Tools
The MCP server exposes tools for:
- Listing KB and widget AI conversations by page, source, escalation status, keyword, or date range
- Searching AI conversations by customer question or AI answer text
- Fetching one AI conversation with all Q&A exchanges, article IDs, escalation metadata, model, duration, and credits charged
Use source values KB and WIDGET when filtering or fetching AI conversations.
Internal Knowledge Tools
The MCP server exposes tools for:
- Listing sources by type or processing status
- Searching source names, URLs, raw content, and processed chunks
- Fetching one source with preview chunks
- Creating text sources
- Creating URL sources and queueing crawls
- Creating document sources from existing file uploads
- Updating text source content
- Updating URL crawl schedules
- Deleting sources
For text internal knowledge sources, plain text or Markdown-like text is fine because the content is private source material for retrieval, not a public rendered knowledge base article.
Media Upload Tools
Use upload_media_from_url to fetch an image from a public URL and rehost it on Support Station storage. The tool returns a fileUploadId, the hosted publicUrl, and a ready-to-embed embedHtml snippet.
Use create_media_upload and finalize_media_upload for local files. create_media_upload returns a short-lived presigned uploadUrl. Send the raw file bytes to it with an HTTP PUT and a matching Content-Type header, then call finalize_media_upload with the returned key to register the file.
Allowed types are png, jpeg, gif, webp, and svg, up to 10MB per file. Uploaded files are hosted on the Support Station public assets domain and are scoped to your organization.
The returned fileUploadId works as attachmentIds on reply_to_ticket and create_ticket_internal_note. The returned embedHtml can be inserted into knowledge base article bodies.
Security Notes
MCP access is scoped to the organization connected to the signed-in user. If a user does not belong to an organization, the MCP request is rejected.
Review connected clients regularly and revoke access you no longer need.
Propose documentation changes for review
Connect with support_station.knowledge.propose to submit edits without changing live articles. This scope is included in the default authorization request. Existing clients may need to reconnect with the new scope.
- Use
search_kb_articlesandget_kb_articleto read the current docs. The get tool returns arevisionvalue. - Research the feature and write the complete article content in your own agent. Support Station does not call an LLM to write or review the proposal.
- Call
submit_kb_changeswith one immutable set of changes. Useoperation: create,update, ordelete. Updates and deletions require the current article ID andexpectedRevision. Creates and updates take anarticleobject withtitle,slug, andbodyHtml. Optional fields includeexcerpt,categoryId,metaTitle, andmetaDescription; omitted update fields keep their current value, andnullclears them. - Give the returned
reviewUrlto the user. A signed-in owner or admin in the same organization can open the Documentation changes page at/changes. It shows only proposals that await review. Use the filters to see published, rejected, expired, or all proposals. The reviewer can see additions and removals highlighted in the article, jump between edits, inspect changed settings and link destinations, and approve or reject the complete set. A URL alone does not grant access. - Use
get_kb_change_statuswith{ "id": "<changeSetId>" }to check the result.
Example submission:
{
"idempotencyKey": "release-42-export-docs",
"summary": "Add instructions for CSV export.",
"sourceReferences": ["https://github.com/acme/app/pull/42"],
"changes": [{
"operation": "create",
"article": {
"title": "Export results",
"slug": "export-results",
"bodyHtml": "<h2>Export as CSV</h2><p>Open Results and select Export.</p>"
}
}]
}
The response contains changeSetId, status, reviewUrl, expiresAt, conflicts, and counts for created, updated, and deleted articles. Status values are PENDING, APPROVED, REJECTED, and EXPIRED. Reuse an idempotency key only when retrying the same submission. A correction requires a new proposal and a new key.
Pending proposals expire after 14 days. Approval publishes all changes in one transaction. If a source article changed, publication stops and the agent must submit a new proposal. The review page links to the newer change or to the edited article. When you approve a proposal, Support Station rejects other pending proposals that were based on the old version of the same articles. Search indexing runs after publication and can take more time. Approved proposals retain the original content; an owner or admin can use Propose rollback to create a new review from that content.
There is no MCP approval tool. Direct article and category writes require the explicit support_station.knowledge.direct_write scope and owner or admin membership. The older support_station.knowledge.write scope does not grant direct public documentation edits. The consent page identifies requests for direct access. Internal knowledge and ticket tools are outside this public documentation review workflow.
Was this article helpful?
