Search and read hundreds of web development, JavaScript, CSS, canvas, and DSA tutorials from KIRUPA.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Given a topic, concept, or an existing kirupa.com tutorial URL/slug, find related kirupa.com tutorials with ready-to-use Markdown links and summaries.
A topic phrase (e.g. "graph traversal algorithms") or an existing kirupa.com tutorial URL/slug to find neighbors for.
Maximum number of related links to return (1 to 15, default 6).
Given a topic, concept, or an existing kirupa.com tutorial URL/slug, find related kirupa.com tutorials with ready-to-use Markdown links and summaries.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of related links to return (1 to 15, default 6). |
| topic_or_url* | string | A topic phrase (e.g. "graph traversal algorithms") or an existing kirupa.com tutorial URL/slug to find neighbors for. |
{
"type": "object",
"required": [
"topic_or_url"
],
"properties": {
"limit": {
"type": "integer",
"default": 6,
"maximum": 15,
"minimum": 1,
"description": "Maximum number of related links to return (1 to 15, default 6)."
},
"topic_or_url": {
"type": "string",
"description": "A topic phrase (e.g. \"graph traversal algorithms\") or an existing kirupa.com tutorial URL/slug to find neighbors for."
}
}
}Fetch the complete, clean Markdown text and extracted code blocks of a kirupa.com tutorial by its URL, section/slug identifier (e.g. "javascript/closures_in_javascript"), slug, or title.
| Argument | Type | Description |
|---|---|---|
| code_only | boolean | When true, returns only the extracted fenced code snippets and metadata instead of the full tutorial text. |
| identifier* | string | Tutorial URL (e.g. "https://www.kirupa.com/html5/animating_with_requestAnimationFrame.htm"), section/slug ("html5/animating_with_requestAnimationFrame"), slug ("animating_with_requestAnimationFrame"), or title. |
{
"type": "object",
"required": [
"identifier"
],
"properties": {
"code_only": {
"type": "boolean",
"default": false,
"description": "When true, returns only the extracted fenced code snippets and metadata instead of the full tutorial text."
},
"identifier": {
"type": "string",
"description": "Tutorial URL (e.g. \"https://www.kirupa.com/html5/animating_with_requestAnimationFrame.htm\"), section/slug (\"html5/animating_with_requestAnimationFrame\"), slug (\"animating_with_requestAnimationFrame\"), or title."
}
}
}List all topic sections on kirupa.com with tutorial counts and sample articles, or list the tutorials inside a specific section.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of tutorials to list when a section is specified (default 25, max 100). |
| section | string | Optional section slug (e.g. "data_structures_algorithms", "canvas", "javascript", "animations", "html5", "react") to list tutorials from. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of tutorials to list when a section is specified (default 25, max 100)."
},
"section": {
"type": "string",
"description": "Optional section slug (e.g. \"data_structures_algorithms\", \"canvas\", \"javascript\", \"animations\", \"html5\", \"react\") to list tutorials from."
}
}
}Search hundreds of tutorials and articles on kirupa.com covering JavaScript, TypeScript, CSS, HTML5 Canvas, animations, React, and data structures & algorithms using full-text search (FTS5 + BM25). Returns matching tutorials with canonical URLs, clean Markdown URLs, matching section headings, and excerpts.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of tutorials to return (1 to 15, default 5). |
| query* | string | Keywords, concept, or technical question to search for (e.g. "requestAnimationFrame delta time", "quicksort", "canvas starfield", "closures"). |
| section | string | Optional section filter: data_structures_algorithms, javascript, html5, canvas, animations, react, codingexercises, ai, product_development, podcast, or hodgepodge. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 15,
"minimum": 1,
"description": "Maximum number of tutorials to return (1 to 15, default 5)."
},
"query": {
"type": "string",
"description": "Keywords, concept, or technical question to search for (e.g. \"requestAnimationFrame delta time\", \"quicksort\", \"canvas starfield\", \"closures\")."
},
"section": {
"type": "string",
"description": "Optional section filter: data_structures_algorithms, javascript, html5, canvas, animations, react, codingexercises, ai, product_development, podcast, or hodgepodge."
}
}
}