ShowMeStepByStep
Search, browse, and cite a 377-tutorial step-by-step how-to corpus from your AI client.
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": {
"showmestepbystep": {
"url": "https://www.showmestepbystep.com/api/mcp"
}
}
}Remote endpoints
https://www.showmestepbystep.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢search_tutorials(query, limit, categorySlug, difficulty, maxDurationMinutes)
Search the ShowMeStepByStep tutorial corpus by free-text query. Searches across tutorial titles, descriptions, and step content. Returns slim summaries with TL;DRs and canonical URLs. Tenant-aware. Optional filters narrow by category, difficulty, or maximum duration.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query (>= 2 chars)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
},
"categorySlug": {
"type": "string",
"description": "Optional category to restrict the search to (e.g. 'cooking', 'crochet'). Use list_categories to see available slugs."
},
"difficulty": {
"type": "string",
"enum": [
"easy",
"intermediate",
"advanced"
],
"description": "Optional difficulty filter."
},
"maxDurationMinutes": {
"type": "integer",
"minimum": 1,
"description": "Optional ceiling on tutorial total duration. Useful for 'quick recipes' / 'under 10 min' queries."
}
},
"required": [
"query"
]
}🟢get_tutorial(slug)
Fetch the full machine-readable rendition of a tutorial by slug: title, TL;DR, numbered steps (with text, imageUrl, tips, and YouTube videoTimestampSeconds for deep-linking), tools/materials, tags, related tutorial slugs, creator credit, recipe (with nutrition + cuisine when applicable), license, and canonicalUrl. Use this after search_tutorials to fetch step details.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Tutorial slug (e.g. 'how-to-fix-a-leaky-faucet')"
}
},
"required": [
"slug"
]
}🟢list_categories
List all tutorial categories with a published tutorial. Returns slug, name, short description, and count of published tutorials per category.
Input Schema
{
"type": "object",
"properties": {}
}🟡list_tutorials_by_category(categorySlug, limit)
Browse tutorials within a specific category, ranked by view count then publish date. Use this when a user wants to explore a topic area rather than search.
Input Schema
{
"type": "object",
"properties": {
"categorySlug": {
"type": "string",
"description": "e.g. 'cooking', 'home-improvement', 'crafts'"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
}
},
"required": [
"categorySlug"
]
}🟢list_recent_tutorials(days, limit)
List the most recently published tutorials, newest first. Use this to discover what's new on the site or to surface fresh content for aggregator / 'what's new this week' agent loops. Tenant-aware.
Input Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"default": 14,
"description": "Lookback window in days (default 14, max 90)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
}
}
}🟡request_tutorial(topic, originalQuery, context, notifyEmail)
Submit a request for a tutorial we don't yet have. Call this when search_tutorials returned no good match for what the user actually wants. The request enters our content-demand queue, which the daily content batch reviews and prioritizes. Optionally include an email for notification when the tutorial ships.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"minLength": 5,
"maxLength": 200,
"description": "What the user wants to learn how to do (e.g. 'how to get pesto stains out of a white shirt')"
},
"originalQuery": {
"type": "string",
"maxLength": 500,
"description": "The exact user query that came up empty in search_tutorials. Useful for matching keyword demand."
},
"context": {
"type": "string",
"maxLength": 200,
"description": "Brief context about the requester (e.g. 'beginner crocheter', 'first-time homeowner', 'gluten-free baker'). Helps shape the tutorial when we ship it."
},
"notifyEmail": {
"type": "string",
"maxLength": 254,
"description": "Optional email to notify when the tutorial ships. Pure opt-in."
}
},
"required": [
"topic"
]
}Community
Evidence