{"id":30010245,"url":"https://github.com/hostinger/selfhosted-mcp-server-template","last_synced_at":"2026-05-18T06:37:55.957Z","repository":{"id":307109367,"uuid":"1028248752","full_name":"hostinger/selfhosted-mcp-server-template","owner":"hostinger","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-26T06:15:40.000Z","size":68,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-26T08:26:46.694Z","etag":null,"topics":["chatgpt","claude","cursor","hostinger","mcp","remote-mcp","self-hosted","ssl","vps","website-health"],"latest_commit_sha":null,"homepage":"https://www.hostinger.com/vps-hosting","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hostinger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-29T08:46:40.000Z","updated_at":"2025-08-26T06:15:43.000Z","dependencies_parsed_at":"2025-08-26T08:18:11.133Z","dependency_job_id":"d82e01cd-2b3f-4869-9b75-14fdc7ddca1f","html_url":"https://github.com/hostinger/selfhosted-mcp-server-template","commit_stats":null,"previous_names":["hostinger/selfhosted-mcp-server-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hostinger/selfhosted-mcp-server-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hostinger%2Fselfhosted-mcp-server-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hostinger%2Fselfhosted-mcp-server-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hostinger%2Fselfhosted-mcp-server-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hostinger%2Fselfhosted-mcp-server-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hostinger","download_url":"https://codeload.github.com/hostinger/selfhosted-mcp-server-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hostinger%2Fselfhosted-mcp-server-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33167822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","claude","cursor","hostinger","mcp","remote-mcp","self-hosted","ssl","vps","website-health"],"created_at":"2025-08-05T11:43:23.064Z","updated_at":"2026-05-18T06:37:55.951Z","avatar_url":"https://github.com/hostinger.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remote MCP Server – Professional SEO Checker\n\nThis 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.\n\nUse 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.\n\n## Deploy this Remote MCP Server to Hostinger\n[![Deploy on Hostinger](https://assets.hostinger.com/vps/deploy.svg)](https://www.hostinger.com/vps/docker-hosting?compose_url=https://raw.githubusercontent.com/hostinger/selfhosted-mcp-server-template/refs/heads/main/docker-compose.yml)\n\n\n## Features\n\n- ✅ **Comprehensive SEO Analysis**: Title tags, meta descriptions, headers structure\n- 🖼️ **Image Optimization**: Alt tags checking and accessibility analysis  \n- ⚡ **Technical SEO**: Page speed, HTTPS, schema markup detection\n- 📊 **Content Analysis**: Word count, text-to-HTML ratio, content quality\n- 📱 **Social Media Tags**: Open Graph and Twitter Cards optimization\n- 🎯 **SEO Scoring**: Weighted scoring system with actionable recommendations\n- 🔍 **Multiple Analysis Types**: Full analysis, quick checks, and meta tags focus\n- 🚀 **Async Operations**: Non-blocking operations with proper timeout handling\n\n## Using Your Remote MCP Server\n\n### Option 1: Deploy Your Own Instance (1-Click)\n\nUse Hostinger's 1-click deploy to get your own instance:\n\n1. **Click the \"Deploy to Hostinger\" button** above\n2. **Hostinger automatically handles** the Docker setup and deployment\n3. **Get your deployed URL** (e.g., `https://your-app.hstgr.cloud`)\n4. **Add to your MCP client**:\n\n```json\n{\n  \"mcpServers\": {\n    \"seo-checker\": {\n      \"url\": \"https://your-app.hstgr.cloud/mcp\",\n      \"description\": \"Professional SEO analysis and optimization recommendations\"\n    }\n  }\n}\n```\n\n### Option 2: With FastMCP Development Tools\n\n```bash\n# Make sure your virtual environment is activated\nfastmcp dev local-seo-checker.py\n```\n\n### Option 3: Configure Local MCP Server\n\nThis MCP server works with Claude Desktop, Cursor, Windsurf, and other MCP-compatible applications.\n\n#### Configuration Locations\n\n- **Claude Desktop** (Note: Remote MCP requires newer versions):\n  - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n  - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n- **Cursor**:\n  - Settings \u003e Tools \u0026 Integrations \u003e MCP Tools\n  - Or edit: `~/Library/Application Support/Cursor/cursor_desktop_config.json` (macOS)\n  - Windows: `%APPDATA%\\Cursor\\cursor_desktop_config.json`\n\n- **Windsurf**:\n  - macOS: `~/Library/Application Support/Windsurf/windsurf_desktop_config.json`\n  - Windows: `%APPDATA%\\Windsurf\\windsurf_desktop_config.json`\n\nFor local development, add the following configuration to the appropriate file:\n\n```json\n{\n  \"mcpServers\": {\n    \"seo-checker\": {\n      \"command\": \"/path/to/your/venv/bin/python\",\n      \"args\": [\"/path/to/your/local-seo-checker.py\"]\n    }\n  }\n}\n```\n\n**Important**: \n- Replace paths with the actual paths to your virtual environment and SEO checker directory\n- Use `local-seo-checker.py` for local development (simpler configuration)\n- `remote-seo-checker.py` is configured for remote deployment with additional parameters\n\n## Installation (For Local Use)\n\n### Prerequisites\n\n- Python 3.8 or higher\n- pip package manager\n- Docker (for containerized deployment)\n\n### Setup\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/hostinger/selfhosted-mcp-server-template.git\n   cd selfhosted-mcp-server-template\n   ```\n\n2. **Create and activate a virtual environment (recommended)**\n   ```bash\n   python -m venv venv\n   # On macOS/Linux\n   source venv/bin/activate\n   # On Windows\n   venv\\Scripts\\activate\n   ```\n\n3. **Install dependencies**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Deploy to Hostinger (1-Click) or Other Platforms\n\nThis MCP server can be deployed as a remote MCP server on various hosting platforms.\n\n### Hostinger (Recommended - 1-Click Deploy)\n\nHostinger provides seamless 1-click deployment for this MCP server template:\n\n1. **Click \"Deploy to Hostinger\"** button at the top\n2. **Connect your GitHub account** if not already connected\n3. **Select this repository** from your repositories\n4. **Hostinger automatically**:\n   - Sets up the Docker environment\n   - Installs all dependencies\n   - Configures the correct port (8080)\n   - Provides you with a live URL\n5. **Your MCP server is ready!** Use the provided URL + `/mcp`\n\n**No manual configuration needed!** Hostinger handles all the Docker Compose setup automatically.\n\n### Other Hosting Platforms (Manual Docker Deployment)\n\nFor other hosting platforms that support Docker:\n\n### Prerequisites\n\n- A hosting account (Hostinger, VPS, etc.)\n- Docker support on your hosting platform\n- Git repository with your code\n\n#### Manual Docker Deployment (Other Platforms)\n\n1. **Connect to your server**\n   ```bash\n   ssh root@your-server-ip\n   ```\n\n2. **Clone and deploy**\n   ```bash\n   # Install Docker if not present\n   curl -fsSL https://get.docker.com -o get-docker.sh \u0026\u0026 sh get-docker.sh\n   \n   # Clone your repository\n   git clone https://github.com/hostinger/selfhosted-mcp-server-template.git\n   cd selfhosted-mcp-server-template\n   \n   # Deploy with Docker Compose\n   docker-compose up -d --build\n   ```\n\n3. **Configure firewall** (if needed)\n   ```bash\n   ufw allow 8080/tcp\n   ```\n\n4. **Test your deployment**\n   ```bash\n   curl http://your-server-ip:8080\n   ```\n\n### Using Your Deployed Server\n\nOnce deployed, configure your MCP client:\n\n```json\n{\n  \"mcpServers\": {\n    \"seo-checker\": {\n      \"url\": \"http://your-server-domain:8080/mcp\",\n      \"description\": \"Professional SEO analysis and optimization recommendations\"\n    }\n  }\n}\n```\n\n## Available Tools\n\n### 1. `analyze_seo`\n**Comprehensive SEO analysis of a webpage**\n\nUsage: \"Analyze the SEO of example.com\"\n\nFeatures:\n- Title tag analysis (length, content, issues)\n- Meta description optimization\n- Header structure (H1-H6) analysis\n- Content quality assessment\n- Image alt text optimization\n- Technical SEO factors\n- Social media tags (Open Graph, Twitter Cards)\n- Overall SEO scoring with recommendations\n\n### 2. `seo_quick_check`\n**Quick SEO health check**\n\nUsage: \"Do a quick SEO check on github.com\"\n\nFeatures:\n- Rapid assessment of key SEO factors\n- Quick status indicators\n- Summary of critical issues\n- Basic performance metrics\n\n### 3. `seo_meta_tags_check`\n**Focused analysis of meta tags and social media optimization**\n\nUsage: \"Check the meta tags for linkedin.com\"\n\nFeatures:\n- Detailed meta tags analysis\n- Open Graph tags verification\n- Twitter Cards optimization\n- Canonical URL analysis\n- Robots meta tag inspection\n\n## Usage Examples\n\n\u003cimg width=\"494\" height=\"569\" alt=\"test-run\" src=\"https://github.com/user-attachments/assets/311337d8-b444-44c1-8eca-b052a04ecb8b\" /\u003e\n\n### Comprehensive Analysis\n\"Analyze the SEO of my-website.com\"\n\n### Quick Health Check\n\"Do a quick SEO check on competitor.com\"\n\n### Meta Tags Focus\n\"Check the meta tags and social media optimization for blog-post-url.com\"\n\n### Batch Analysis\n\"Compare the SEO of google.com, bing.com, and duckduckgo.com\"\n\n## Understanding Results\n\n### SEO Score Grades\n\n- **🏆 90-100 (EXCELLENT)**: Outstanding SEO optimization\n- **🟢 80-89 (GOOD)**: Well-optimized with minor improvements needed\n- **🟡 70-79 (FAIR)**: Decent SEO with several optimization opportunities\n- **🟠 60-69 (NEEDS WORK)**: Significant SEO issues requiring attention\n- **🔴 0-59 (POOR)**: Major SEO problems that need immediate action\n\n### Sample Output\n\n```\n🟢 SEO Analysis for example.com\n\n🎯 OVERALL SEO SCORE: 85/100 (GOOD)\n\n📄 TITLE TAG\n• Content: \"Example Domain - Official Website\"\n• Length: 35 characters\n• Status: ✅ Good\n\n📝 META DESCRIPTION\n• Content: \"This domain is for use in illustrative examples in documents...\"\n• Length: 145 characters\n• Status: ✅ Good\n\n🏗️ HEADER STRUCTURE\n• H1 Tags: 1 ✅\n• H2 Tags: 3\n• H3 Tags: 2\n\n📊 CONTENT ANALYSIS\n• Word Count: 450 words\n• Text-to-HTML Ratio: 25.3%\n• Status: ✅ Good\n\n🖼️ IMAGE OPTIMIZATION\n• Total Images: 5\n• With Alt Text: 4 (80%)\n• Missing Alt Text: 1\n\n⚡ TECHNICAL SEO\n• HTTPS: ✅ Yes\n• Load Time: 1250ms\n• Page Size: 45.2 KB\n• Schema Markup: ✅ Yes\n\n💡 RECOMMENDATIONS (3)\n• Add alt text to 1 images\n• Consider adding more internal links\n• Optimize images for faster loading\n```\n\n## Troubleshooting\n\n### Debug Commands\n\n```bash\n# Check if server is running\ncurl http://your-server:8080\n\n# View Docker logs\ndocker-compose logs -f seo-mcp-server\n\n# Test locally\npython remote-seo-checker.py\n\n# Check port availability\nnetstat -tlnp | grep 8080\n```\n\n## Development\n\n### Local Development\n\n```bash\n# Run in development mode\npython local-seo-checker.py\n\n# Test with MCP Inspector\nnpx @modelcontextprotocol/inspector\n```\n\n### Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test thoroughly\n5. Submit a pull request\n\n### Adding New Analysis Features\n\nThe SEO checker is designed to be easily extensible. You can add new analysis methods by:\n\n1. Adding methods to the `SEOChecker` class\n2. Integrating them into the main `analyze_page_seo` method\n3. Adding corresponding MCP tools\n4. Updating the scoring algorithm\n\n## Support\n\n- 📖 **Documentation**: Check this README and code comments\n- 🐛 **Issues**: Report bugs via GitHub Issues\n\n---\n\n**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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhostinger%2Fselfhosted-mcp-server-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhostinger%2Fselfhosted-mcp-server-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhostinger%2Fselfhosted-mcp-server-template/lists"}