{"id":276,"date":"2025-07-30T06:48:06","date_gmt":"2025-07-30T06:48:06","guid":{"rendered":"https:\/\/blog.hostinger.io\/support\/2025\/07\/30\/11882652-how-to-deploy-remote-mcp-servers-in-python-step-by-step-guide-for-custom-self-hosted-mcp-servers\/"},"modified":"2025-08-27T06:36:28","modified_gmt":"2025-08-27T06:36:28","slug":"11882652-how-to-deploy-remote-mcp-servers-in-python-step-by-step-guide-for-custom-self-hosted-mcp-servers","status":"publish","type":"post","link":"https:\/\/www.hostinger.com\/support\/11882652-how-to-deploy-remote-mcp-servers-in-python-step-by-step-guide-for-custom-self-hosted-mcp-servers\/","title":{"rendered":"How to Deploy Remote MCP Servers in Python (Step-by-Step Guide for Custom Self-Hosted MCP Servers)"},"content":{"rendered":"<p class=\"no-margin\">Want to build your own <b>custom AI backend tool<\/b> that integrates seamlessly with Claude, Cursor, or Windsurf?<\/p><p class=\"no-margin\">This guide walks you through deploying a <b>Remote MCP server using Python and FastMCP<\/b>, hosted effortlessly on a <b>Hostinger VPS<\/b> &mdash; the fastest way to launch your own tools like SEO analyzers, SSL checkers, or data pipelines.<\/p><hr><h2 id=\"h_8cfa6d02f3\">&#128269; What is a Remote MCP Server?<\/h2><p class=\"no-margin\">A <b>Remote MCP server<\/b> is a lightweight backend that responds to structured prompts from AI interfaces like Claude, Cursor, or Windsurf using the Model Context Protocol (MCP).<\/p><p class=\"no-margin\">By using <a href=\"https:\/\/github.com\/modelcontextprotocol\/fastmcp\" target=\"_blank\" class=\"intercom-content-link\" rel=\"noopener\">FastMCP<\/a>, you can create and deploy Python-based tools with:<\/p><ul>\n<li>\n<p class=\"no-margin\">&#129504; AI-assisted inputs<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#129534; Structured JSON outputs<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128640; Simple, portable hosting<\/p>\n<\/li>\n<\/ul><hr><h2 id=\"h_03f3b4e9a1\">&#9989; Why Use FastMCP with Hostinger?<\/h2><ul>\n<li>\n<p class=\"no-margin\">&#9881;&#65039; <b>No frontend or UI required<\/b><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128013; <b>Write tools in pure Python<\/b><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128051; <b>Deploy via Docker in minutes<\/b><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128268; <b>Works instantly with Claude, Cursor, and Windsurf<\/b><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128995; <b>1-click deploy on Hostinger VPS<\/b><\/p>\n<\/li>\n<\/ul><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">To help you get started, we created sample <a href=\"https:\/\/github.com\/hostinger\/selfhosted-mcp-server-template\" target=\"_blank\" class=\"intercom-content-link\" rel=\"noopener\">SEO Checker MCP template<\/a> &ndash; this MCP template can be used as a starting point for building your own remote tools, whether it&rsquo;s an SEO analyzer, SSL checker, uptime monitor, or any custom Python-powered backend for AI clients.<\/p><hr><h2 id=\"h_f2da6fc855\">Step 1: Install Ubuntu 24 with MCP Server template<\/h2><p class=\"no-margin\">Navigate to your Hostinger VPS OS section and install MCP Server template.<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">Hostinger will:<\/p><ul>\n<li>\n<p class=\"no-margin\">Pull the <a href=\"https:\/\/github.com\/hostinger\/selfhosted-mcp-server-template\" target=\"_blank\" class=\"intercom-content-link\" rel=\"noopener\">repo<\/a> and build the image<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Open port <code>8080<\/code><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Give you a live URL like:<\/p>\n<\/li>\n<\/ul><pre><code>http:\/\/your-seo-app.hstgr.cloud\/mcp<\/code><\/pre><hr><h2 id=\"h_6ab1ed8923\">Step 2: Add the Server to Cursor (or other MCP client)<\/h2><h2 id=\"h_f5d1db747d\">&#127919; For Cursor<\/h2><ol>\n<li>\n<p class=\"no-margin\">Go to <b>Settings &gt; Tools &amp; Integrations &gt; MCP Tools<\/b><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Click <b>Add New Tool<\/b><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Fill with your VPS hostname and Restart Cursor:<\/p>\n<pre><code>{<br>  \"mcpServers\": {<br>    \"seo-checker\": {<br>      \"url\": \"http:\/\/your-seo-app.hstgr.cloud:8080\/mcp\",<br>      \"description\": \"Professional SEO analysis and optimization recommendations\"<br>    }<br>  }<br>}<\/code><\/pre>\n<\/li>\n<\/ol><hr><h2 id=\"h_bcc53614c2\">Step 3: Test Your MCP Server Inside Cursor<\/h2><p class=\"no-margin\">Once you&rsquo;ve added your server to Cursor, it&rsquo;s time to test it by prompting the tool.<\/p><p class=\"no-margin\">Try one of these sample prompts in any Cursor chat:<\/p><ul>\n<li>\n<p class=\"no-margin\"><code>\"Analyze the SEO of example.com\"<\/code><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\"><code>\"Do a quick SEO check on github.com\"<\/code><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\"><code>\"Check the meta tags for blog.mywebsite.com\"<\/code><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\"><code>\"Compare SEO of google.com, bing.com, and duckduckgo.com\"<\/code><\/p>\n<\/li>\n<\/ul><p class=\"no-margin\">If everything is working, you&rsquo;ll see a detailed, structured response from your remote server &mdash; powered by your own Python code.<\/p><p class=\"no-margin\">\n<\/p><div class=\"intercom-container\"><img decoding=\"async\" src=\"\/support\/wp-content\/uploads\/sites\/55\/2025\/07\/2e9c90fb-962a-4371-a1f6-b991f03ad765.jpg\"><\/div><hr><p class=\"no-margin\">\n<\/p><h2 id=\"h_5840b03309\">&#128736;&#65039; Customize the Tool &ndash; Build Your Own<\/h2><p class=\"no-margin\">Inside the repo, open <code>remote-seo-checker.py<\/code>:<\/p><pre><code>from fastmcp import Tool, run<br><br>@Tool<br>def custom_hello_world(name: str) -&gt; str:<br>    return f\"Hello, {name}. This is your custom MCP tool!\"<br><br>run()<\/code><\/pre><p class=\"no-margin\">To build your own:<\/p><ul>\n<li>\n<p class=\"no-margin\">Add new functions<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Decorate them with <code>@Tool<\/code><\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Restart the container<\/p>\n<\/li>\n<\/ul><p class=\"no-margin\">&#129504; FastMCP will auto-generate the API schema &mdash; no manual routing required.<\/p><hr><h2 id=\"h_6f941f76d8\">&#128161; Alternative: Create New Tools with AI<\/h2><p class=\"no-margin\">You can create your own MCP even faster using AI:<\/p><p class=\"no-margin\"><b>Upload <code>remote-seo-checker.py<\/code> to ChatGPT or Claude and ask:<\/b><br>&#8203;<i>&ldquo;Create a new MCP tool using this format &mdash; for example, an SSL certificate checker.&rdquo;<\/i><\/p><p class=\"no-margin\">You&rsquo;ll get working code you can plug in and deploy immediately.<\/p><p class=\"no-margin\">Build tools like:<\/p><ul>\n<li>\n<p class=\"no-margin\">&#128272; SSL Checkers<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128200; Uptime Monitors<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128202; Analytics Dashboards<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128206; PDF Metadata Extractors<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#127760; Sitemap Auditors<\/p>\n<\/li>\n<\/ul><p class=\"no-margin\">If you can write a ChatGPT prompt, <b>you can launch a production-ready AI backend<\/b>.<\/p><hr><h2 id=\"h_1e729d312c\">&#128260; Optional: Run Locally for Development<\/h2><ol>\n<li>\n<p class=\"no-margin\">Clone the repo<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">Set up virtualenv:<\/p>\n<pre><code>python -m venv venv source venv\/bin\/activate<\/code><\/pre>\n<\/li>\n<li>\n<p class=\"no-margin\">Install dependencies:<\/p>\n<pre><code>pip install -r requirements.txt<\/code><\/pre>\n<\/li>\n<li>\n<p class=\"no-margin\">Start the server:<\/p>\n<pre><code>python remote-seo-checker.py<\/code><\/pre>\n<\/li>\n<\/ol><p class=\"no-margin\">Access at <code>http:\/\/localhost:8080\/mcp<\/code><\/p><hr><h2 id=\"h_1c06cdba8a\">&#129504; Final Thoughts<\/h2><p class=\"no-margin\">With FastMCP + Hostinger VPS, you can deploy custom MCP tools in minutes:<\/p><ul>\n<li>\n<p class=\"no-margin\">&#128013; Just write Python<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128051; Deploy with Docker<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128279; Integrate with AI clients instantly<\/p>\n<\/li>\n<li>\n<p class=\"no-margin\">&#128736;&#65039; Fully extensible &mdash; from SEO to SSL to analytics<\/p>\n<\/li>\n<\/ul><p class=\"no-margin\">\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deploy Remote MCP Servers in VPS<\/p>\n","protected":false},"author":581,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"include_on_kodee":true,"footnotes":""},"categories":[206],"tags":[],"class_list":["post-276","post","type-post","status-publish","format-standard","hentry","category-vps-os-and-templates"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/support\/11882652-how-to-deploy-remote-mcp-servers-in-python-step-by-step-guide-for-custom-self-hosted-mcp-servers\/","default":1}],"include_on_kodee":true,"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":1,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":1651,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/276\/revisions\/1651"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}