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
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_guide
tool - Configurable 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
uv
package manager
Quick Start
Run directly with uvx (once published):
uvx mcp-drawing-guides
Or run from local directory:
uvx --from . mcp-drawing-guides
Or install locally:
Clone or download this project
Install dependencies:
cd mcp-drawing-guides uv sync
Run 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_guide
tool 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 content - Markdown 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 sync
Test the server:
uv run python main.py
Press 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-guides
Or with local installation:
cd mcp-drawing-guides
uv run python main.py
The 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 sync
- Network 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.