Skip to main content
Shipstar exposes its full pipeline as Model Context Protocol (MCP) tools so LLM agents — claude.ai, Claude Code, Claude Desktop, Cursor, Windsurf, custom agents, and anything else that speaks MCP — can generate marketing content from your commits, review and revise drafts, publish them, and send release emails, as well as read your published changelogs, blog posts, and knowledge base articles. Same services, same guarantees as the dashboard — the tools call the identical review/publish/delivery code paths — surfaced as typed tools the model can call directly.

Endpoint

The MCP server is mounted on the main Shipstar backend using the Streamable HTTP transport.

Authentication

Two ways in: OAuth 2.1 (recommended — what claude.ai uses). Add the endpoint as a custom connector and sign in; no token handling needed. Each authorization is scoped to one project, chosen on the consent screen. Full flow and protocol details: OAuth. Static API token (for scripts and CI). Every dashboard API token works as a bearer token on /mcp — the same tokens that protect the V1 REST API. Create one at Settings → API Tokens (/dashboard/console); the token is bound to the project it was created in.
Requests without a token, or with an invalid/expired token, return 401 Unauthorized with a WWW-Authenticate challenge that lets OAuth-capable clients bootstrap automatically.

Connecting from claude.ai

Settings → Connectors → Add custom connector → enter https://mcp.shipstar.ai/mcpConnect → sign in and pick a project. See OAuth for the step-by-step.

Connecting from Claude Code

The quickest path is the official plugin, which bundles the server connection plus guided agent skills/shipstar:announce-release, /shipstar:write-blog-post, /shipstar:email-your-users, and /shipstar:build-changelog-page:
Or add the server directly:
Either way, Claude Code runs the OAuth flow in your browser on first use. To pin a static token instead, append --header "Authorization: Bearer YOUR_API_TOKEN" to the claude mcp add form.

Connecting from Claude Desktop

Add the server to your claude_desktop_config.json, including a bearer token as a custom header:
Restart Claude Desktop and the Shipstar tools will be available in any chat.

Connecting from Cursor / Windsurf

Both editors accept the same MCP server configuration. Add an entry with the URL above and the tools will appear in the agent sidebar.

Available Tools

Generation (kick off content from commits)

Generation tools (except generate_blog_post_ideas) return a pending content_id and run in the background — poll get_generation_status for completion.

Lifecycle (review, revise, approve, publish)

Project & delivery

Read (fetch published content)

Use Cases

Release-aware support bots

Point a support agent at list_changelogs / get_changelog so it can answer “what’s new this week?” and cite the exact release that shipped a feature — without you having to copy release notes into a knowledge base.

Docs-grounded coding agents

Let a coding agent (Cursor, Claude Code, Windsurf) pull your latest blog walkthroughs and KB articles on demand. The agent grounds its answers in your published guidance instead of hallucinating APIs.

Marketing copy research

When drafting landing pages, ads, or email campaigns, have Claude fetch recent changelogs and blog posts to pull accurate product details, quotes, and screenshots from material you already shipped.

Investor / exec updates

Ask an agent to summarise the last N changelogs into a weekly or monthly update. The tool output is structured, so the model doesn’t have to scrape your website.

Internal knowledge lookups

Expose list_kb_article_sets / get_kb_article_set to an internal agent so employees can ask “how do I X?” in Slack and get answers drawn from your published KB.

Cross-tool content reuse

Any agent framework that speaks MCP (LangGraph, Agent SDK, Mastra, custom) can pull Shipstar content as a read-only data source without you writing a bespoke REST client.

How it works under the hood

The MCP tools call directly into the same app.services.content layer that powers the V1 REST endpoints. That means:
  • One source of truth. Any bug fix or behaviour change in the content service automatically flows to both transports.
  • Only published content is returned. Drafts, pending items, and wrong-type rows are filtered out at the service layer.
  • Graceful skipping of invalid data. List endpoints skip rows whose stored JSON is malformed rather than failing the whole call.
If you need finer control (pagination, RSS feeds, custom filtering) or you’re building a non-agent integration, use the V1 REST API directly.