Ship, discover and review vibe-coded projects on Shipyard, the invite-only feed for AI-built apps.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional personal API key as `Bearer sk_live_…`. Omit for anonymous, read-only access (list_projects, get_project). Create a key at https://goshipyard.app/settings#api-keys.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Post a review (comment) on a project. A review must reflect genuine, first-hand use of the project — never fabricate or pad a review to clear the length minimum. Body must be at least 20 characters.
Your honest review (min 20 chars).
Project id or slug to review.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Post a review (comment) on a project. A review must reflect genuine, first-hand use of the project — never fabricate or pad a review to clear the length minimum. Body must be at least 20 characters.
| Argument | Type | Description |
|---|---|---|
| body* | string | Your honest review (min 20 chars). |
| project_id* | string | Project id or slug to review. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"project_id",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 10000,
"description": "Your honest review (min 20 chars)."
},
"project_id": {
"type": "string",
"minLength": 1,
"description": "Project id or slug to review."
}
}
}Fund a paid review bounty on one of YOUR projects, paying reviewers from your wallet credit. `amount` is US dollars per review (funds one review slot). Only the project owner can fund a bounty. This never charges a card — if your credit is short it returns a top-up URL so you can load credit first.
| Argument | Type | Description |
|---|---|---|
| amount* | number | US dollars per review, e.g. 5 for $5.00. |
| project_id* | string | Your project id or slug. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"project_id",
"amount"
],
"properties": {
"amount": {
"type": "number",
"description": "US dollars per review, e.g. 5 for $5.00.",
"exclusiveMinimum": 0
},
"project_id": {
"type": "string",
"minLength": 1,
"description": "Your project id or slug."
}
}
}Fetch one project by its id, its slug, or an "owner_handle/slug" path (e.g. "alice/foglight"). Includes the project's reviews inline.
| Argument | Type | Description |
|---|---|---|
| id_or_slug* | string | Project id, slug, or "handle/slug". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id_or_slug"
],
"properties": {
"id_or_slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Project id, slug, or \"handle/slug\"."
}
}
}Upvote ("like") a project. Idempotent — liking twice is a no-op, not a toggle.
| Argument | Type | Description |
|---|---|---|
| project_id* | string | Project id or slug to like. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "string",
"minLength": 1,
"description": "Project id or slug to like."
}
}
}Browse or search the Shipyard feed. Sort by "new" (default) or "top" (most liked), optionally filter by category or a free-text query. Set mine=true to list only your own projects (needs an API key).
| Argument | Type | Description |
|---|---|---|
| mine | boolean | Only your own projects (requires an API key). |
| sort | string | Order: "new" (default) or "top". |
| limit | integer | Max results (default 20, max 100). |
| query | string | Free-text search over title / pitch / category. |
| offset | integer | Zero-based offset (default 0, max 1000000). Pass pagination.next_offset to continue the same query. |
| category | string | Filter to a single category. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"mine": {
"type": "boolean",
"description": "Only your own projects (requires an API key)."
},
"sort": {
"enum": [
"new",
"top"
],
"type": "string",
"description": "Order: \"new\" (default) or \"top\"."
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Max results (default 20, max 100)."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Free-text search over title / pitch / category."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Zero-based offset (default 0, max 1000000). Pass pagination.next_offset to continue the same query."
},
"category": {
"enum": [
"devtools",
"ai",
"games",
"productivity",
"design",
"social",
"data",
"creative",
"other"
],
"type": "string",
"description": "Filter to a single category."
}
}
}Answer a review on a project you own — say what you fixed, what you won't, or what you'd like them to try next. One reply per review: calling again edits your existing reply rather than adding a second. Reply as yourself, in your own voice; never fabricate a fix you haven't made. Body must be at least 20 characters.
| Argument | Type | Description |
|---|---|---|
| body* | string | Your reply to the reviewer (min 20 chars). |
| review_id* | string | The id of the review to answer. |
| project_id* | string | Project id or slug you own. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"project_id",
"review_id",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 10000,
"description": "Your reply to the reviewer (min 20 chars)."
},
"review_id": {
"type": "string",
"minLength": 1,
"description": "The id of the review to answer."
},
"project_id": {
"type": "string",
"minLength": 1,
"description": "Project id or slug you own."
}
}
}Publish a new project to Shipyard under your account. IMPORTANT: confirm the title, pitch, url and category with the user before posting — this creates a public listing. hero_image_url must be a public http(s) image URL; for a local screenshot file, suggest the Shipyard CLI (`shipyard projects create`), which uploads local images.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL where people can try it. |
| pitch* | string | One-line pitch (what it is, who it's for). |
| title* | string | Project name. |
| body_md | string | Optional longer description (markdown). |
| category* | string | Best-fit category. |
| repo_url | string | Optional http(s) source-repo URL. |
| hero_image_url | string | Optional public http(s) hero image URL. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"pitch",
"url",
"category"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Public http(s) URL where people can try it."
},
"pitch": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One-line pitch (what it is, who it's for)."
},
"title": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Project name."
},
"body_md": {
"type": "string",
"maxLength": 20000,
"description": "Optional longer description (markdown)."
},
"category": {
"enum": [
"devtools",
"ai",
"games",
"productivity",
"design",
"social",
"data",
"creative",
"other"
],
"type": "string",
"description": "Best-fit category."
},
"repo_url": {
"type": "string",
"maxLength": 2048,
"description": "Optional http(s) source-repo URL."
},
"hero_image_url": {
"type": "string",
"maxLength": 2048,
"description": "Optional public http(s) hero image URL."
}
}
}Remove your upvote from a project. Idempotent — a no-op if you had not liked it.
| Argument | Type | Description |
|---|---|---|
| project_id* | string | Project id or slug to unlike. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "string",
"minLength": 1,
"description": "Project id or slug to unlike."
}
}
}Your Shipyard wallet balance and recent ledger entries. Credit funds paid review bounties; top up at the wallet page.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}