KIRUPA Tutorials & Web Development Reference
Server Details
Search and read 420+ web development, JavaScript, CSS, canvas, and DSA tutorials from KIRUPA.com.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 4 tools
Each tool has a distinct core action: search_tutorials (query-based discovery), get_tutorial (full content fetch), list_sections (structural browsing), and find_related_links (similarity-based discovery). There is mild overlap between search_tutorials and find_related_links since both surface tutorials, but the input models (query vs. topic/URL) and outputs (excerpts vs. related links) differ enough to distinguish them.
All four tools follow a clean verb_noun snake_case pattern (find_related_links, get_tutorial, list_sections, search_tutorials). No mixing of conventions or vague verbs.
Four tools is on the lean side but appropriate for a read-only content reference server, where search/browse/fetch/relate cover the main access patterns. Each tool earns its place without redundancy, though the surface is thin.
For a read-only tutorial reference, the surface covers discovery (search, related), navigation (sections), and retrieval (full tutorial with code blocks), which is the core lifecycle. Minor gaps exist, such as no way to list all tutorials globally or extract code blocks alone, but agents can work around these.
Available Tools
4 toolsget_tutorialGet Full kirupa.com Tutorial Markdown & CodeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code_only | No | When true, returns only the extracted fenced code snippets and metadata instead of the full tutorial text. | |
| identifier | Yes | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds return-content context ('clean Markdown text and extracted code blocks'), but says nothing about error behavior for unmatched identifiers, output size, or truncation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and resource first and qualifying detail after; no filler. The inline parenthetical example is slightly redundant with the schema's own examples, preventing a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of describing the return payload (full tutorial text plus extracted code blocks, or code-only when flagged). Parameters and safety annotations are covered, so only edge-case behavior (bad slug, oversized tutorials) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (identifier, code_only) are already fully documented, including the accepted identifier forms. The description largely restates the schema's identifier list and adds no new syntax or constraint detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Fetch) plus the concrete resource (complete Markdown text and extracted code blocks of a kirupa.com tutorial). This clearly separates it from search_tutorials, list_sections, and find_related_links, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — fetch full content once you already have an identifier — but there is no explicit when-to-use vs. alternatives guidance, e.g. that search_tutorials should be used first to discover a slug. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sectionsList kirupa.com Tutorial SectionsARead-onlyIdempotentInspect
List all topic sections on kirupa.com with tutorial counts and sample articles, or list the tutorials inside a specific section.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tutorials to list when a section is specified (default 25, max 100). | |
| section | No | Optional section slug (e.g. "data_structures_algorithms", "canvas", "javascript", "animations", "html5", "react") to list tutorials from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and non-open-world, so safety is covered. The description adds return-content context (tutorial counts, sample articles) which is useful given no output schema, but says nothing about pagination beyond limit, rate limits, or how large the section catalog is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly written sentence that front-loads the default mode and appends the conditional mode. No filler, nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Both invocation modes, the two parameters, and the shape of the primary return (counts and samples) are covered without an output schema. Minor gaps remain around pagination limits and what 'sample articles' contains, but nothing blocks a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — limit's default/max and section's slug examples are fully documented in the schema. The description adds no syntax, format, or example detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (topic sections / tutorials within a section) with the exact site named. The dual-mode behavior ('all sections with tutorial counts and sample articles' vs 'tutorials inside a specific section') lets an agent distinguish it from get_tutorial and search_tutorials without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Sets a clear condition for each mode: omit section to browse the catalog, supply section to drill in. It doesn't name alternatives or state exclusions (e.g., 'use search_tutorials when you know keywords'), so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tutorialsSearch kirupa.com Tutorials & ArticlesARead-onlyIdempotentInspect
Search 420+ 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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tutorials to return (1 to 15, default 5). | |
| query | Yes | Keywords, concept, or technical question to search for (e.g. "requestAnimationFrame delta time", "quicksort", "canvas starfield", "closures"). | |
| section | No | Optional section filter: data_structures_algorithms, javascript, html5, canvas, animations, react, codingexercises, ai, product_development, podcast, or hodgepodge. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is handled. The description goes beyond them by disclosing the retrieval mechanism (FTS5 + BM25) and the returned payload (canonical URLs, clean Markdown URLs, matching section headings, excerpts), which materially helps an agent interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is searched and over what corpus, followed by return-shape details. Slightly dense with the parenthetical FTS5/BM25 and the topic list, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return fields, and all three parameters are fully specified in the schema. It does not mention result ordering beyond BM25, truncation, or behavior when nothing matches, which are minor remaining gaps for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so limit, query, and section are already documented with ranges, defaults, and an enumerated section list. The description's topic enumeration loosely maps to the section filter but adds no new syntax or semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (full-text search over 420+ kirupa.com tutorials/articles) and enumerates the covered topic domains, which no sibling covers. An agent can immediately distinguish it from get_tutorial (fetch one), list_sections (enumerate sections), and find_related_links (link discovery).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'using full-text search' and the query examples, so keyword/concept lookup is clearly the intended trigger. However, the description never names the alternatives (get_tutorial, list_sections, find_related_links) or states when not to use this tool, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
find_related_links - First observed
get_tutorial - First observed
list_sections - First observed
search_tutorials
Related MCP Connectors
Search and read Karandeep Singh's DevOps and AWS blog: articles and cheatsheets.
Search the source code (HTML, JavaScript, CSS) of hundreds of millions of websites.
Search and read 550+ free AI course tracks and 21,000+ lessons, so answers can cite a real lesson.
Search and read ~95,000 interactive concept diagrams that explain how things work — visually.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables searching and fetching documentation pages from a wide range of programming languages, frameworks, game engines, and tools. Supports multiple sources and returns relevant documentation snippets.1-
- AlicenseAqualityDmaintenanceSearch and retrieve information from Apple's complete developer documentation, including API references, code examples, and Human Interface Guidelines, across all Apple platforms and versions.412 npm9MIT
- AlicenseAqualityBmaintenanceEnables AI agents to browse, search, and read a curated library of 198 UI/UX and animation design skills across 17 categories, distilled from 10 open-source projects, with a progressive 5-step workflow for guidance.5665 npmMIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables users to search and read Esri developer documentation, ArcGIS Pro help, and community forums directly through Claude. It provides tools to query official Esri sites and extract clean text content from documentation pages to answer technical GIS questions.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.