ShipSwift
40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"shipswift": {
"url": "https://api.shipswift.app/mcp"
}
}
}Remote endpoints
https://api.shipswift.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢listSkills(category)
List production-ready SwiftUI skills. Each skill is a complete, copy-paste-ready implementation — not a tutorial. Covers native iOS features (SwiftUI, Swift Charts, SpriteKit, Vision, AVFoundation, StoreKit 2, NavigationStack) and backend infrastructure (AWS CDK, Hono, Node.js, Cognito, DynamoDB). Categories: animations, charts, UI components, and full-stack modules including auth, camera, subscriptions, chat, and settings.
Input Schema
{
"type": "object",
"properties": {
"category": {
"default": "all",
"description": "Filter skills by category. Defaults to 'all'.",
"type": "string",
"enum": [
"animation",
"chart",
"component",
"module",
"all"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢getSkill(id)
Get a skill by ID. Returns complete, copy-paste-ready Swift source code with architecture explanation and implementation steps. Module skills may also include backend code (Hono/Node.js + AWS CDK).
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Skill ID, e.g. 'animation-shimmer' or 'auth-cognito'"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢searchSkills(query)
Search skills by keyword across titles, descriptions, tags, and full source code. Use for any iOS, SwiftUI, or backend topic — e.g. subscription, authentication, camera, animation, chart, onboarding, paywall, infrastructure.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search keyword, e.g. 'shimmer', 'authentication', 'chart'"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢listRecipes(category)
Old name of listSkills, kept for existing setups.
Input Schema
{
"type": "object",
"properties": {
"category": {
"default": "all",
"description": "Filter skills by category. Defaults to 'all'.",
"type": "string",
"enum": [
"animation",
"chart",
"component",
"module",
"all"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢getRecipe(id)
Old name of getSkill, kept for existing setups.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Skill ID, e.g. 'animation-shimmer' or 'auth-cognito'"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢searchRecipes(query)
Old name of searchSkills, kept for existing setups.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search keyword, e.g. 'shimmer', 'authentication', 'chart'"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence