SHIP
by letsship.ai · ai.letsship/ship
Assign Linear, Jira or GitHub issues to an AI coding agent team that plans, builds, reviews, tests.
- Category
- Productivity
- Connection
- Remote (HTTP)
- Tools
- 60 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http ship https://mcp.letsship.ai/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://mcp.letsship.ai/mcpThis server expects extra headers, usually an API key from its maker.
Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"ship": {
"url": "https://mcp.letsship.ai/mcp"
}
}
}Tools it offers
60 tools, as the server itself reported during our check on Oct 31, 2026.
healthzReturns the upstream API status, environment, and version.whoamiReturns the caller's identity, org, role, role-derived RBAC capabilities, and token scopes. Use this to check whether the current token may perform an action (e.g. config:write) before attempting it.get_setup_progressRead what the workspace has set up with SHIP so far, as the console's setup checklist shows it: up to 13 milestones in three groups, taken in order (get started, make it yours, make it autonomous). `activeGroup` names thget_billingRead the workspace's credit balance by source and expiry, whether a new mission would start now, the per-mission credit ceiling, the project allowance and recent usage. Check it before dispatching work.list_billing_ledgerList where the workspace's credits went, newest first: one entry per mission (its start, each further 3 agent-hours, and messages charged before messages became free), per grant, per adjustment and per expiry. Pass nextClist_credit_offersList what SHIP sells: the credit packs (credits, the price in US dollars before tax, which checkout adds for the buyer's location, and the price per credit), the monthly plans under `team.plans` (Starter and Scale: eachstart_credit_checkoutOpens a payment page and returns its URL. Nothing is charged until the buyer pays on that page. It sells one credit pack, a monthly plan (offer team, with teamPlan starter or scale, a subscription that renews until canceupdate_team_subscriptionChange the workspace's monthly plan subscription: plan switches between starter and scale from the next renewal on (nothing is charged or refunded for the current month; passing the current plan drops a waiting switch),request_more_creditsAsk for more credits for the workspace, saying what they are for. Any member may ask. The answer says who has the request: SHIP for a sponsored or Enterprise workspace, its owners and admins otherwise. A message sent whiget_noticesRead what needs attention in the workspace, critical first: a tracker connection its vendor no longer accepts (missions cannot start or report back until someone reconnects it), or credits running out. Each notice has adismiss_noticeClose a notice for the person this token acts for, as the console's close button does. Only a notice with dismissible: true can be closed (a low balance). It stays closed while its id lasts: a low balance that a top-up ereport_setup_blockerRecord why the person this token acts for will not finish setting up SHIP, in their words: for example no repository yet, no wish to set up model keys or credits, or no time now. Call it only after the person said why. Amark_setup_stepMark a step of the setup checklist completed or skipped for the person this token acts for, as the console's Mark as complete and Skip controls do; open removes the mark. Give step for one milestone, or group to mark evelist_projectsList the projects accessible to the calling principal. Returns id, slug, name, status, createdAt for each. An empty list means the workspace is not set up yet: no mission can run until the person connects GitHub and a moget_projectFetch a single project by its UUID. Returns 404 if the project is not in the caller's org.update_projectChange the settings of one project; a field you leave out keeps its value. status paused or archived stops new missions in the project, and active starts them again. autoMerge sets whether SHIP merges a ready pull requesstart_missionHand a mission off to the AI agent team. Omit startAt for the default full run (planner first); pass startAt='builder' with a plan to skip straight to coding; pass startAt='reviewer' or startAt='qa' with an existing prNucreate_missionCreate the tracker issue AND start the run in one call, for work that has no issue yet. Pass entryStartAt='builder' with an entryPlan to hand over a plan you already wrote; pass entryStartAt='reviewer'/'qa' with entryPrNset_agents_overridePatch one role's harness/model/effort/prompt for a single mission, layered over ship.yml per-field (a role or field this call omits keeps resolving from ship.yml — SHIP-337). Use promptContent or promptPath(+promptRef) tget_agents_overrideRead the per-issue agents/baseBranch override record for one mission, or null when unset.send_mission_instructionTell a mission what to change. Use kind='follow_up' (the default) to ask for a change: the instruction reaches the agents AND dispatches the builder against the mission's open pull request, overriding cached review and Qclear_agents_overrideDelete the per-issue agents/baseBranch override — the mission resolves from ship.yml again.list_missionsList missions in the caller's accessible projects, newest activity first, with total for paging. Each has issueId, title, activity (what it does now), pipelineProgress, review/check/test state, PR, cost and paused. Archiget_missionFetch one mission. view='summary' (the default, small enough to poll) returns its summary (activity, stage, review/check/test state, PR, paused and pauseSource, cost), its agent runs (sandboxId, role, status, harness, mopause_missionHold a mission before its next stage. The stage that runs now finishes; no agent is stopped. Use resume_mission to continue. Requires the missions:write scope and a role that can control missions.resume_missionContinue a paused mission. When a checkpoint holds it (get_mission shows pauseSource 'checkpoint:<role>'), this approves that stage's result and starts the next stage. To ask for changes to the result instead, use send_mstop_missionHard-stop a mission: every agent run of it stops and its work in progress is lost. The pull request stays open, and start_mission starts the mission again. To stop one agent run only, use stop_agent_run. Requires the misapprove_mission_ceilingA mission that reached its credit limit pauses until a member lets it continue. This raises the mission's limit by one step and runs the stage that stopped again, so it spends credits: ask the person first. Returns the nanswer_qa_checkpointA mission waits at the QA checkpoint (get_mission shows pauseSource 'qa-unverifiable') when QA could not check some acceptance criteria, so no code change can move it. A person checks those criteria another way, then ansmerge_missionMerge the mission's open pull request on GitHub with the repository's own merge method; the mission then becomes done, and the merge cannot be undone from here. When the branch is out of date with its base, answers 202 wdecline_missionClose the mission's open pull request on GitHub without merging it; the mission becomes declined, and no call here reopens it. Requires the missions:write scope.set_mission_auto_mergeSet whether SHIP merges this mission's pull request by itself once the checks, the review and the test pass. The setting is for this mission only and replaces the project's auto-merge for it; get_project shows the projecarchive_missionHide a finished mission from list_missions and the board. Nothing else changes: unarchive_mission shows it again. Requires the missions:write scope and the config:write capability (an owner or admin).unarchive_missionShow an archived mission in list_missions and on the board again. Requires the missions:write scope and the config:write capability.set_mission_dispositionRecord a person's reason for how a mission ended, which the delivery statistics use: product (real work, judged on its merits), probe (a test on purpose), superseded (another mission replaced it: give supersededBy) or talist_scheduled_tasksList recurring agent missions (scheduled tasks) across the caller's accessible projects — schedule, enabled state, and next/last fire time for each. Pass projectId for the tasks of one project.list_scheduled_task_templatesRead-only gallery of curated scheduled task templates — a prepared prompt plus a suggested cadence. A template is content, not a code path: pass its key as templateKey on create_scheduled_task for attribution, or copy itget_scheduled_taskFetch one scheduled task by id: its project, name, prompt, triggers (schedule), labels, template key, skip-if-previous-open setting, enabled state, and next/last run times. An id outside the caller's accessible projectscreate_scheduled_taskCreate a recurring agent mission. Firing it — on schedule, or immediately via run_scheduled_task — creates an ordinary tracker issue assigned to the agent, which drives a normal pipeline run: a scheduled task is a storedupdate_scheduled_taskPatch a scheduled task's name, prompt, schedule, skip-guard, or enabled state — only the fields passed are changed. To change the schedule, set interval/time/timezone together (plus weekday or dayOfMonth as the interval
Questions
What is the SHIP MCP server?
Assign Linear, Jira or GitHub issues to an AI coding agent team that plans, builds, reviews, tests. It is made by letsship.ai and listed in the official MCP Registry as ai.letsship/ship. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add SHIP to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://mcp.letsship.ai/mcp. In Claude Code, run: claude mcp add --transport http ship https://mcp.letsship.ai/mcp
How do I add SHIP to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://mcp.letsship.ai/mcp.
How do I add SHIP to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "ship": { "url": "https://mcp.letsship.ai/mcp" } } }
Does SHIP work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can SHIP do?
It gives your AI 60 tools, including healthz, whoami, get_setup_progress, get_billing, list_billing_ledger. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/ai-letsship-ship)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/ai-letsship-ship"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/ai-letsship-ship.svg?theme=dark"><img src="https://chen.media/mcp/badge/ai-letsship-ship.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Productivity
See allMCP docs serverVerified maker
@mapboxAI access to Mapbox docs, API references, style specs, and guides. No token required.
LinearVerified maker
linear.appFind and manage issues, projects, and documents in your Linear workspace.
NotionVerified maker
notion.comOfficial Notion MCP server
GreenlandAI
greenlandai.aiThe physical world as queryable data: companies, deposits, infrastructure, projects and commodities.
Liliphant
mcp.liliphant.comLiliphant turns every meeting into connected knowledge, decisions, and actionable insights.
Damper
usedamper.comFeedback, roadmap, agent task execution with review, changelog, status pages and error logs.