This repository provides a production-ready remote MCP server for running full-stack SEO audits via any compatible client (like Claude Desktop, Cursor, or Windsurf). Powered by the FastMCP framework, it delivers structured insights across on-page SEO, technical health, and social metadata β all without requiring local setup.
Use this as a starting point to deploy your own MCP server on Hostinger or any other cloud/VPS platform. The codebase is modular, easy to extend, and includes clear examples for custom request handling, making it a solid foundation for your own MCP tools.
- β Comprehensive SEO Analysis: Title tags, meta descriptions, headers structure
- πΌοΈ Image Optimization: Alt tags checking and accessibility analysis
- β‘ Technical SEO: Page speed, HTTPS, schema markup detection
- π Content Analysis: Word count, text-to-HTML ratio, content quality
- π± Social Media Tags: Open Graph and Twitter Cards optimization
- π― SEO Scoring: Weighted scoring system with actionable recommendations
- π Multiple Analysis Types: Full analysis, quick checks, and meta tags focus
- π Async Operations: Non-blocking operations with proper timeout handling
Use Hostinger's 1-click deploy to get your own instance:
- Click the "Deploy to Hostinger" button above
- Hostinger automatically handles the Docker setup and deployment
- Get your deployed URL (e.g.,
https://your-app.hstgr.cloud) - Add to your MCP client:
{
"mcpServers": {
"seo-checker": {
"url": "https://your-app.hstgr.cloud/mcp",
"description": "Professional SEO analysis and optimization recommendations"
}
}
}# Make sure your virtual environment is activated
fastmcp dev local-seo-checker.pyThis MCP server works with Claude Desktop, Cursor, Windsurf, and other MCP-compatible applications.
-
Claude Desktop (Note: Remote MCP requires newer versions):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Cursor:
- Settings > Tools & Integrations > MCP Tools
- Or edit:
~/Library/Application Support/Cursor/cursor_desktop_config.json(macOS) - Windows:
%APPDATA%\Cursor\cursor_desktop_config.json
-
Windsurf:
- macOS:
~/Library/Application Support/Windsurf/windsurf_desktop_config.json - Windows:
%APPDATA%\Windsurf\windsurf_desktop_config.json
- macOS:
For local development, add the following configuration to the appropriate file:
{
"mcpServers": {
"seo-checker": {
"command": "/path/to/your/venv/bin/python",
"args": ["/path/to/your/local-seo-checker.py"]
}
}
}Important:
- Replace paths with the actual paths to your virtual environment and SEO checker directory
- Use
local-seo-checker.pyfor local development (simpler configuration) remote-seo-checker.pyis configured for remote deployment with additional parameters
- Python 3.8 or higher
- pip package manager
- Docker (for containerized deployment)
-
Clone the repository
git clone https://github.com/hostinger/selfhosted-mcp-server-template.git cd selfhosted-mcp-server-template -
Create and activate a virtual environment (recommended)
python -m venv venv # On macOS/Linux source venv/bin/activate # On Windows venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
This MCP server can be deployed as a remote MCP server on various hosting platforms.
Hostinger provides seamless 1-click deployment for this MCP server template:
- Click "Deploy to Hostinger" button at the top
- Connect your GitHub account if not already connected
- Select this repository from your repositories
- Hostinger automatically:
- Sets up the Docker environment
- Installs all dependencies
- Configures the correct port (8080)
- Provides you with a live URL
- Your MCP server is ready! Use the provided URL +
/mcp
No manual configuration needed! Hostinger handles all the Docker Compose setup automatically.
For other hosting platforms that support Docker:
- A hosting account (Hostinger, VPS, etc.)
- Docker support on your hosting platform
- Git repository with your code
-
Connect to your server
ssh root@your-server-ip
-
Clone and deploy
# Install Docker if not present curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh # Clone your repository git clone https://github.com/hostinger/selfhosted-mcp-server-template.git cd selfhosted-mcp-server-template # Deploy with Docker Compose docker-compose up -d --build
-
Configure firewall (if needed)
ufw allow 8080/tcp
-
Test your deployment
curl http://your-server-ip:8080
Once deployed, configure your MCP client:
{
"mcpServers": {
"seo-checker": {
"url": "http://your-server-domain:8080/mcp",
"description": "Professional SEO analysis and optimization recommendations"
}
}
}Comprehensive SEO analysis of a webpage
Usage: "Analyze the SEO of example.com"
Features:
- Title tag analysis (length, content, issues)
- Meta description optimization
- Header structure (H1-H6) analysis
- Content quality assessment
- Image alt text optimization
- Technical SEO factors
- Social media tags (Open Graph, Twitter Cards)
- Overall SEO scoring with recommendations
Quick SEO health check
Usage: "Do a quick SEO check on github.com"
Features:
- Rapid assessment of key SEO factors
- Quick status indicators
- Summary of critical issues
- Basic performance metrics
Focused analysis of meta tags and social media optimization
Usage: "Check the meta tags for linkedin.com"
Features:
- Detailed meta tags analysis
- Open Graph tags verification
- Twitter Cards optimization
- Canonical URL analysis
- Robots meta tag inspection
"Analyze the SEO of my-website.com"
"Do a quick SEO check on competitor.com"
"Check the meta tags and social media optimization for blog-post-url.com"
"Compare the SEO of google.com, bing.com, and duckduckgo.com"
- π 90-100 (EXCELLENT): Outstanding SEO optimization
- π’ 80-89 (GOOD): Well-optimized with minor improvements needed
- π‘ 70-79 (FAIR): Decent SEO with several optimization opportunities
- π 60-69 (NEEDS WORK): Significant SEO issues requiring attention
- π΄ 0-59 (POOR): Major SEO problems that need immediate action
π’ SEO Analysis for example.com
π― OVERALL SEO SCORE: 85/100 (GOOD)
π TITLE TAG
β’ Content: "Example Domain - Official Website"
β’ Length: 35 characters
β’ Status: β
Good
π META DESCRIPTION
β’ Content: "This domain is for use in illustrative examples in documents..."
β’ Length: 145 characters
β’ Status: β
Good
ποΈ HEADER STRUCTURE
β’ H1 Tags: 1 β
β’ H2 Tags: 3
β’ H3 Tags: 2
π CONTENT ANALYSIS
β’ Word Count: 450 words
β’ Text-to-HTML Ratio: 25.3%
β’ Status: β
Good
πΌοΈ IMAGE OPTIMIZATION
β’ Total Images: 5
β’ With Alt Text: 4 (80%)
β’ Missing Alt Text: 1
β‘ TECHNICAL SEO
β’ HTTPS: β
Yes
β’ Load Time: 1250ms
β’ Page Size: 45.2 KB
β’ Schema Markup: β
Yes
π‘ RECOMMENDATIONS (3)
β’ Add alt text to 1 images
β’ Consider adding more internal links
β’ Optimize images for faster loading
# Check if server is running
curl http://your-server:8080
# View Docker logs
docker-compose logs -f seo-mcp-server
# Test locally
python remote-seo-checker.py
# Check port availability
netstat -tlnp | grep 8080# Run in development mode
python local-seo-checker.py
# Test with MCP Inspector
npx @modelcontextprotocol/inspector- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
The SEO checker is designed to be easily extensible. You can add new analysis methods by:
- Adding methods to the
SEOCheckerclass - Integrating them into the main
analyze_page_seomethod - Adding corresponding MCP tools
- Updating the scoring algorithm
- π Documentation: Check this README and code comments
- π Issues: Report bugs via GitHub Issues
Disclaimer: This tool provides SEO analysis based on current best practices and guidelines. SEO is complex and constantly evolving - always verify recommendations with current SEO guidelines and consider your specific use case.