You're managing multiple AI agents (Claude, Cursor, Devin), but there's no workspace where humans and agents collaborate together:
- No verification — Agent says "done" but you have no proof
- No collaboration layer — Humans review in GitHub, agents work in chat logs
- No feedback loop — You approve work, but the agent never sees it
Shipyard is the collaboration workspace for mixed human-agent teams. Agents create tasks with proof. Humans review in real-time. Feedback flows both ways.
- Human-agent collaboration — The first workspace designed for mixed teams. Humans and AI agents work together with structured feedback loops.
- Built for mixed teams — Not a human tool with AI bolted on, or an AI tool ignoring humans. Designed for how agents and humans actually work together.
- Receipts, not promises — Screenshots, videos, and test results. Not just chat logs claiming work was done.
- Zero infrastructure — Works completely locally. GitHub optional for remote artifact sharing. No paid services, no servers to maintain.
- Real-time P2P — Multiple agents and reviewers sync via WebRTC. Works offline, no central server required.
Shipyard is just an MCP server. One command or a simple JSON config—works with all major AI coding tools.
Prerequisite: Node.js 22+ (download)
Full experience with hooks, skills, and auto-task creation:
# Step 1: Add the marketplace
/plugin marketplace add https://github.com/SchoolAI/shipyard.git
# Step 2: Install the plugin
/plugin install shipyard@schoolai-shipyardAdd to ~/.cursor/mcp.json:
{
"mcpServers": {
"shipyard": {
"command": "npx",
"args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
}
}
}Add via CLI:
codex mcp add shipyard -- npx -y -p @schoolai/shipyard-mcp@latest mcp-server-shipyardOr add to ~/.codex/config.toml:
[mcp_servers.shipyard]
command = "npx"
args = ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]code --add-mcp '{"name":"shipyard","command":"npx","args":["-y","-p","@schoolai/shipyard-mcp@latest","mcp-server-shipyard"]}'See all platforms (Claude Desktop, Windsurf, JetBrains, Zed, etc.)
Add to your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"shipyard": {
"command": "npx",
"args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"shipyard": {
"command": "npx",
"args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
}
}
}- Settings > Tools > AI Assistant > Model Context Protocol (MCP)
- Click "Add"
- Paste JSON config above
Add to ~/.config/zed/settings.json:
{
"context_servers": {
"shipyard": {
"command": {
"path": "npx",
"args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
}
}
}
}Create .continue/mcpServers/shipyard.yaml:
mcpServers:
- name: Shipyard
command: npx
args: ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]Full installation guide with troubleshooting →
| Platform | Experience |
|---|---|
| Claude Code | Full integration — hooks, skills, MCP tools, auto-task creation |
| Codex, VS Code, Cursor, Windsurf | MCP tools — manual workflow, full functionality |
| Other MCP clients | Basic — depends on platform capabilities |
See detailed compatibility matrix →
Using Shipyard skills on other platforms
Shipyard includes a skill (skills/shipyard/SKILL.md) that teaches Claude Code how to use the MCP tools effectively. Other platforms can use this same instruction content through their native mechanisms:
- VS Code / Copilot: Copy to
.github/skills/shipyard/(Agent Skills preview) - Cursor: Create
.cursor/rules/shipyard.mdcwith skill content - Windsurf: Create
.windsurf/workflows/shipyard-task.md - JetBrains: Add to
.junie/guidelines.md
See skills/shipyard/README.md for platform-specific instructions.
┌─────────────────┐ MCP ┌─────────────────┐
│ AI Agent │─────────────►│ MCP Server │
│ (Claude, etc.) │ │ (localhost) │
└─────────────────┘ └────────┬────────┘
│ WebSocket
▼
┌─────────────────┐ WebRTC ┌─────────────────┐
│ Remote Reviewer │◄───────────►│ Author Browser │
│ Browser │ (P2P) │ │
└─────────────────┘ └─────────────────┘
- Agent creates task via MCP tool → Browser opens automatically
- Reviewers join via shared URL → Real-time P2P sync
- Add comments, approve, or request changes → Agent sees feedback
- Agent uploads artifacts (screenshots, videos) → Stored in GitHub
- Task auto-completes when all deliverables have receipts (screenshots, videos, test results)
- BlockNote editor — Notion-like editing with inline comments and threads
- Kanban board — Drag-drop tasks between Draft, Review, In Progress, Done
- GitHub artifacts — Screenshots, videos, test results stored in your repo
- Offline-first — IndexedDB persistence, works without network
- Multi-agent — Multiple Claude Code/Cursor instances can work on same task
| Data | Where It Lives | Control |
|---|---|---|
| Task content | Browser (IndexedDB) + P2P sync | You own it |
| Artifacts (local) | ~/.shipyard/artifacts/ served via localhost |
You own it |
| Artifacts (shared) | Optional: GitHub (your repo, orphan branch) | You own it |
| MCP server | Runs locally | Never leaves your machine |
| URLs | Encoded snapshots | Shareable, regenerable |
No telemetry. No cloud storage. GitHub optional.
Works completely locally. Add GitHub only if you need remote reviewers to access artifacts.
| Doc | Description |
|---|---|
| Installation | Platform-specific setup guides |
| Setup | Development setup, troubleshooting |
| Architecture | Data model, sync topology, tech choices |
| Brief | 30-second project context |
Shipyard is a monorepo with multiple components:
| Component | Description |
|---|---|
| MCP Server | 12 tools for task creation, artifacts, feedback |
| Web App | React + BlockNote editor with Kanban board |
| Schema | Shared Yjs CRDT types and URL encoding |
| WebRTC Signaling | P2P discovery (Cloudflare Worker) |
| Hooks | Claude Code integration |
Published package: @schoolai/shipyard-mcp - Includes MCP server + hook
- GitHub Discussions — Questions, ideas, show & tell
- GitHub Issues — Bug reports, feature requests
We value ideas over implementations. Please start with discussion:
- Bug reports — Open an issue
- Feature ideas — Start a discussion
- Questions — Ask in discussions
Open an issue describing what you want to change and get maintainer approval first. This helps us:
- Ensure changes align with project direction
- Avoid duplicate efforts
- Provide design guidance upfront
PRs without a linked, approved issue may be closed.
AI-assisted contributions are welcome. We use AI ourselves. What matters is that you understand what you're submitting and can answer questions about it.
- Brief — 30-second project context
- Engineering Standards — Code quality expectations
- Architecture — How it all fits together
FSL-1.1-ALv2 (Functional Source License)
- Free for all non-competing use
- Converts to Apache 2.0 automatically in 2 years


