Drawing Guides MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Drawing Guides MCP Serversearch for beginner-friendly flower drawing tutorials"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Drawing Guides MCP Server
A Model Context Protocol (MCP) server that provides access to drawing tutorials and guides from easydrawingguides.com, making it easy to find and retrieve step-by-step drawing instructions for artists of all skill levels.
Overview
This MCP server acts as a bridge between AI assistants and popular drawing tutorial websites, specifically designed to:
Comprehensive Search: Search across Easy Drawing Guides for drawing tutorials
Detailed Tutorials: Retrieve complete drawing guides with step-by-step instructions
Content Extraction: Parse and structure drawing instructions for easy consumption
Category Navigation: Browse available drawing categories and topics
Family-Friendly: Access kid-friendly and beginner-oriented drawing content
Related MCP server: ASCIIFlow MCP Server
Features
π Search Tool
Search across drawing tutorials from Easy Drawing Guides
Returns structured metadata and ranked list of relevant guides
Validates all returned URLs to ensure they are accessible
Includes instructions for LLMs on how to use exact URLs with the
get_guidetoolConfigurable result limits
π Guide Retrieval Tool
Retrieve complete drawing tutorial content from URLs as Markdown
Extract content from the main article section (removes ads)
Preserve original formatting and structure in Markdown format
Clean, readable output with metadata
π Categories Tool
List available drawing categories from Easy Drawing Guides
Discover popular drawing topics and themes
Get suggestions for search terms and ideas
Installation & Setup
Prerequisites
Python 3.12 or higher
uvpackage manager
Quick Start
Run directly with uvx (once published):
uvx mcp-drawing-guidesOr run from local directory:
uvx --from . mcp-drawing-guidesOr install locally:
Clone or download this project
Install dependencies:
cd mcp-drawing-guides uv syncRun the server:
uv run python main.py
Integration with AI Assistants
This MCP server is designed to work with AI assistants that support the Model Context Protocol. Configure your AI assistant to connect to this server via stdio.
Example configuration for Claude Desktop:
{
"mcpServers": {
"drawing-guides": {
"command": "uvx",
"args": ["--from", "/path/to/mcp-drawing-guides", "mcp-drawing-guides"]
}
}
}Or if using a local installation:
{
"mcpServers": {
"drawing-guides": {
"command": "uv",
"args": ["run", "python", "/path/to/mcp-drawing-guides/main.py"]
}
}
}Available Tools
search
Search for drawing tutorials across supported sites.
Parameters:
query(required): Search terms (e.g., "cat", "anime character", "flower")limit(optional): Max results to return (1-20, default: 10)source(optional): Which site to search - "easy" (default: "easy")
Returns:
Search metadata (query, results count, sources searched)
List of matching drawing guides with titles and validated URLs
Instructions for using the
get_guidetool with exact URLs from the results
Example:
{
"name": "search",
"arguments": {
"query": "cute cat",
"limit": 5,
"source": "easy"
}
}get_guide
Retrieve detailed content of a specific drawing guide.
Parameters:
url(required): URL of the drawing guide from easydrawingguides.com
Returns:
Guide metadata (title, source, URL, content length)
Complete tutorial content formatted as Markdown
Example:
{
"name": "get_guide",
"arguments": {
"url": "https://easydrawingguides.com/draw-cat/"
}
}list_categories
List available drawing categories and popular topics.
Parameters:
None required
Returns:
Categories from Easy Drawing Guides
Popular search terms and suggestions
Example:
{
"name": "list_categories",
"arguments": {}
}Supported Sites
Easy Drawing Guides (easydrawingguides.com)
Focus: Step-by-step drawing tutorials for all skill levels
Content: Animals, people, plants, cartoons, objects, anime, video games
Features: Detailed instructions, printable worksheets, video tutorials
Audience: Kids, beginners, and hobbyists
How It Works
Content Extraction Process
Web Scraping: Uses requests and BeautifulSoup to fetch and parse web content
Content Targeting: Extracts content specifically from
<div class="inside-article">Ad Removal: Removes
<div class="mv-ad-box">elements to clean up contentMarkdown Conversion: Converts HTML content to clean, readable Markdown format
Metadata Generation: Creates structured metadata for each guide
Search Algorithm
Site Search: Queries Easy Drawing Guides for relevant tutorials
Relevance Ranking: Sorts results by keyword relevance in titles
URL Validation: Validates each URL to ensure it's accessible before including in results
Content Filtering: Filters out irrelevant or duplicate results
Source Attribution: Clearly identifies the source of each result
Structured Output Format
All tools return structured responses with separate blocks for:
Metadata: Source, URL, content statistics, search parameters
Content: Main tutorial content and descriptions
Instructions: Step-by-step drawing instructions when available
References: Image URLs and alt text for visual reference
Use Cases
For Art Students & Beginners
Find step-by-step tutorials for specific subjects
Learn fundamental drawing techniques
Access beginner-friendly instructions with clear steps
For Parents & Teachers
Discover family-friendly drawing activities
Find age-appropriate art projects for children
Access educational content for art classes
For Digital Artists & Hobbyists
Get inspiration for new drawing subjects
Find reference materials and instruction guides
Learn new drawing styles and techniques
For Content Creators
Source tutorial content for art education
Find step-by-step processes to reference
Access structured drawing instruction data
Quick Start Guide
Clone or download this repository
Install dependencies:
cd mcp-drawing-guides uv syncTest the server:
uv run python main.pyPress Ctrl+C to stop the server.
Configure your AI assistant to use this MCP server
Examples
Basic Search
Ask your AI assistant: "Search for drawing tutorials about dogs"
The server will:
Search Easy Drawing Guides for "dogs"
Return structured metadata (query, result count, sources)
Provide a list of relevant tutorials with validated URLs
Include direct access to full guides
Retrieve Specific Guide
Ask your AI assistant: "Get the detailed instructions for this drawing guide: [URL]"
The server will:
Fetch the complete tutorial content from the URL
Extract content from the main article section (removes ads)
Convert HTML content to clean Markdown format
Return structured metadata and formatted content
Browse Categories
Ask your AI assistant: "What drawing categories are available?"
The server will:
Return organized lists of categories from Easy Drawing Guides
Provide popular search terms and suggestions
Help you discover new drawing topics and themes
Development
Project Structure
mcp-drawing-guides/
βββ main.py # Main MCP server implementation
βββ pyproject.toml # Project dependencies and metadata
βββ README.md # This documentation
βββ .venv/ # Virtual environment (created by uv)Key Dependencies
mcp: Model Context Protocol frameworkrequests: HTTP library for web scrapingbeautifulsoup4: HTML parsing and content extractionlxml: Fast XML and HTML parsermarkdownify: HTML to Markdown conversion
Customization
The server can be easily customized by modifying main.py:
Add New Sites: Extend the search functions to support additional tutorial sites
Improve Parsing: Enhance content extraction for better step identification
Content Filtering: Add custom filters for content quality or appropriateness
Caching: Implement caching to improve performance and reduce server load
Testing the Server
Test the server directly:
cd mcp-drawing-guides
uvx --from . mcp-drawing-guidesOr with local installation:
cd mcp-drawing-guides
uv run python main.pyThe server communicates via JSON-RPC over stdin/stdout, so you'll need an MCP client or AI assistant to interact with it properly.
Troubleshooting
Common Issues
Import Errors: Make sure all dependencies are installed with
uv syncNetwork Issues: Check internet connectivity for accessing tutorial sites
Parsing Errors: Some pages may have different structures; the server handles this gracefully
Rate Limiting: Be respectful of the source sites' server resources
Debugging
Enable debug logging by modifying the logging level in main.py:
logging.basicConfig(level=logging.DEBUG)Ethical Considerations
Respect: This server respects the robots.txt and terms of service of source sites
Attribution: All content is properly attributed to its original source
Non-Commercial: Intended for educational and personal use
Fair Use: Extracts only necessary content for tutorial purposes
Contributing
This is a simple, single-file implementation designed for clarity and ease of modification. Feel free to:
Add support for additional drawing tutorial sites
Improve content extraction algorithms
Add caching for better performance
Extend with additional drawing-related features
License
This project uses the same license as its dependencies. The drawing tutorial content accessed through this server remains the property of the original sites and creators.
This MCP server makes drawing tutorials more accessible by providing structured access to step-by-step drawing guides from trusted educational sources.
Available Tools
3 toolsget_guideC
Get detailed content of a specific drawing guide from a URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the drawing guide to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves content, implying a read operation, but doesn't cover aspects like authentication needs, rate limits, error handling, or what 'detailed content' entails. This leaves significant gaps for a tool with no annotation coverage.
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?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly.
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?
Given no annotations, no output schema, and a single parameter with good schema coverage, the description is incomplete. It doesn't explain what 'detailed content' includes, potential return formats, or behavioral traits, which are crucial for an agent to use the tool effectively in context.
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?
The input schema has 100% description coverage, with the 'url' parameter clearly documented. The description adds minimal value beyond the schema by specifying it's for a 'drawing guide', but doesn't provide additional context like URL format constraints or examples, so it meets the baseline for high schema coverage.
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?
The description clearly states the action ('Get detailed content') and resource ('specific drawing guide'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'list_categories' or 'search', which might also retrieve drawing guides in different ways, so it doesn't reach the highest score.
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?
The description provides no guidance on when to use this tool versus alternatives like 'list_categories' or 'search'. It mentions retrieving from a URL, but doesn't specify prerequisites, exclusions, or contextual usage scenarios, leaving the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesB
List available drawing categories from Easy Drawing Guides
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('List') but doesn't describe traits like whether it's read-only, if there are rate limits, what the return format is, or any authentication needs. For a tool with zero annotation coverage, this is a significant gap in transparency.
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?
The description is a single, efficient sentence that directly states the tool's purpose without any waste. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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?
Given the tool's simplicity (0 parameters, no output schema), the description is adequate as a minimum viable explanation. However, with no annotations and no output schema, it lacks details on behavior and return values, leaving gaps that could hinder an agent's correct invocation.
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?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for this scenario is 4, as the description appropriately doesn't add unnecessary param info, but it could slightly enhance context (e.g., noting no filters are available).
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?
The description clearly states the verb ('List') and resource ('available drawing categories from Easy Drawing Guides'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'search' or 'get_guide', which might also relate to categories or guides, so it doesn't reach the highest score.
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?
No guidance is provided on when to use this tool versus alternatives like 'search' or 'get_guide'. The description implies it's for listing categories, but without explicit context or exclusions, the agent might struggle to choose between this and sibling tools in practice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchC
Search for drawing tutorials and guides from easydrawingguides.com
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for drawing tutorials (e.g., 'cat', 'anime character', 'flower') | |
| limit | No | Maximum number of search results to return (default: 10) | |
| source | No | Which site to search (only easy is supported) | easy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the source ('easydrawingguides.com') and implies a web search, but lacks details on permissions, rate limits, response format, pagination, or error handling. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.
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?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It uses clear language and avoids redundancy, making it easy to parse quickly.
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?
Given the tool's complexity (search functionality with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error cases, or behavioral constraints, leaving the agent with insufficient context for reliable use beyond basic parameter passing.
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?
The description adds minimal parameter semantics beyond the input schema, which has 100% coverage. It implies the 'query' parameter is for drawing-related terms but doesn't elaborate on syntax or examples beyond what's in the schema. With high schema coverage, the baseline is 3, as the schema already documents parameters well.
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?
The description clearly states the tool's purpose: 'Search for drawing tutorials and guides from easydrawingguides.com'. It specifies the verb ('Search'), resource ('drawing tutorials and guides'), and source domain. However, it doesn't explicitly differentiate from sibling tools like 'get_guide' or 'list_categories', which might offer alternative ways to access content.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_guide' (likely for retrieving specific guides) or 'list_categories' (likely for browsing categories), nor does it specify prerequisites, exclusions, or contextual cues for choosing search over other methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: get_guide retrieves specific content, list_categories enumerates categories, and search finds tutorials. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern (get_guide, list_categories, search), with no deviations in style or convention. This predictability enhances usability and clarity.
With only 3 tools, the set feels thin for a drawing guides server, potentially lacking operations like creating or updating guides. While the tools cover basic retrieval and listing, the scope seems limited compared to typical domain coverage needs.
The tool surface is severely incomplete for a drawing guides domain, as it only supports read-only operations (get, list, search) with no ability to create, update, or delete guides. This will likely cause agent failures when full lifecycle management is required.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Search 161,000+ free hand-drawn icons and fetch ready-to-embed SVG or PNG from any MCP client.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables creation, management, and export of Excalidraw drawings through natural language. Supports CRUD operations on drawings and export to SVG, PNG, and JSON formats with file-based storage.82,783The Unlicense
- FlicenseAqualityCmaintenanceExposes ASCIIFlow drawing primitives as tools to enable AI assistants to generate ASCII wireframes and diagrams from natural language descriptions. It provides commands for creating canvases and drawing boxes, lines, arrows, and text using a character-grid coordinate system.81
- FlicenseNot gradedqualityCmaintenanceEnables users to search, retrieve, and browse tutorials from Runoob (θιΈζη¨), including listing categories and hot tutorials.
- FlicenseNot gradedqualityCmaintenanceGenerates hand-drawn Excalidraw diagrams from natural language prompts or structured descriptions, with tools for creating, listing, and opening diagrams directly in the browser.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bhubbb/mcp-drawing-guides'
If you have feedback or need assistance with the MCP directory API, please join our Discord server