Skip to main content

Remote MCP Server Template

This is a template for creating remote MCP servers that can be deployed to DigitalOcean App Platform. Remote MCP servers allow you to deploy MCP functionality to the cloud and use it from any MCP-compatible client (Claude Desktop, Cursor, Windsurf, etc.) without local installation.

This Specific Implementation: Domain Checker

This template demonstrates a domain availability checker that uses WHOIS lookups and DNS resolution. Built with the modern FastMCP framework for reliable domain availability checking.

Deploy this Remote MCP Server to DigitalOcean

Deploy to DO

Quick Start (1-Click Deploy)

  1. Deploy to DigitalOcean using the button above
  2. Get your deployed URL from DigitalOcean (e.g., https://your-app.ondigitalocean.app)
  3. Add to your MCP client using the URL + /mcp endpoint

Image

Features

  • ✅ Dual Verification: Uses both WHOIS and DNS resolution for accurate results
  • 🚀 Async Operations: Non-blocking operations with proper timeout handling
  • 📊 Batch Processing: Check multiple domains concurrently
  • 🔍 Detailed Analysis: Provides comprehensive availability information

Using Your Remote MCP Server

Option 1: Use Your Deployed Remote MCP Server (Recommended)

After deploying to DigitalOcean, add your server URL to your MCP client:

{
  "mcpServers": {
    "domain-checker": {
      "url": "https://YOUR-APP-NAME.ondigitalocean.app/mcp",
      "description": "Check domain availability"
    }
  }
}

Replace YOUR-APP-NAME with your actual DigitalOcean app name.

Image

Option 2: With FastMCP Development Tools

# Make sure your virtual environment is activated
fastmcp dev local-domain-checker.py

Image

Option 3: Configure Local MCP Server

This MCP server works with Claude Desktop, Cursor, Windsurf, and other MCP-compatible applications.

Configuration Locations

  • Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

Image

  • Cursor:
    • macOS: ~/Library/Application Support/Cursor/cursor_desktop_config.json
    • Windows: %APPDATA%\Cursor\cursor_desktop_config.json

Install MCP Server

  • Windsurf:
    • macOS: ~/Library/Application Support/Windsurf/windsurf_desktop_config.json
    • Windows: %APPDATA%\Windsurf\windsurf_desktop_config.json

Add the following configuration to the appropriate file, making sure to point to your virtual environment:

{
  "mcpServers": {
    "domain-checker": {
      "command": "/path/to/your/venv/bin/python",
      "args": ["/path/to/your/local-domain-checker.py"]
    }
  }
}

Important:

  • Replace paths with the actual paths to your virtual environment and domain checker directory
  • Use local-domain-checker.py for local development (it has simpler configuration without port/host settings)
  • domain-checker.py is configured for remote deployment with additional parameters

Installation (For Local Use)

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Setup

  1. Clone the repository

    git clone https://github.com/ajot/domain-checker-mcp-server.git
    cd domain-checker-mcp-server
    
  2. Create and activate a virtual environment (recommended)

    python -m venv venv
    # On macOS/Linux
    source venv/bin/activate
    # On Windows
    venv\Scripts\activate
    
  3. Install dependencies

    pip install -r requirements.txt
    

Deploy to DigitalOcean App Platform

This MCP server can be deployed as a remote MCP server on DigitalOcean App Platform.

Prerequisites

  • A DigitalOcean account
  • The doctl command-line tool (optional)
  • Git repository with your code

Deployment Steps

  1. Push your code to a Git repository Make sure all your changes are committed and pushed to a GitHub, GitLab, or Bitbucket repository.

  2. Create a new App on DigitalOcean App Platform

    • Go to the DigitalOcean App Platform dashboard
    • Click "Create App" and select your Git repository
    • Select the branch you want to deploy
    • Choose "Python" as the environment
  3. Configure the App

    • Set the source directory to /
    • Set the run command to: python domain-checker.py
    • Set the environment variable: PORT=8080
    • Set HTTP port to 8080
  4. Deploy the App

    • Click "Deploy to Production"
    • Wait for the build and deployment to complete
  5. Configure as Remote MCP Once deployed, you can use the app URL as a remote MCP server in your MCP-compatible applications:

    {
      "mcpServers": {
        "domain-checker": {
          "url": "https://your-app-name.ondigitalocean.app/mcp",
          "description": "Check domain name availability"
        }
      }
    }
    

Updating Your Deployment

To update your deployed app, simply push changes to your Git repository. DigitalOcean App Platform will automatically build and deploy the new version.

Usage Examples

Check Single Domain

"Check if myawesome-startup.com is available"

Check Multiple Domains

"Check availability for these domains: mycompany.com, mycompany.net, mycompany.org"

Understanding Results

Availability Status

  • ✅ LIKELY AVAILABLE: Domain appears to be unregistered and available
  • ❌ NOT AVAILABLE: Domain is registered and not available
  • ❓ UNCLEAR: Mixed signals - manual verification recommended

Sample Output

Domain: example-startup.com
Status: ✅ LIKELY AVAILABLE

WHOIS Check: Available
DNS Resolution: Not resolving

Details:
{
  "whois": {
    "available": true,
    "reason": "WHOIS parser error: No match for domain"
  },
  "dns": {
    "resolvable": false,
    "reason": "Domain does not resolve (NXDOMAIN)"
  }
}

Troubleshooting

Common Issues

1. Import Errors

  • Make sure your virtual environment is activated
  • Verify all dependencies are installed: pip install -r requirements.txt

2. Timeout Issues

  • Some WHOIS servers have rate limits
  • Network connectivity issues can cause timeouts

3. DigitalOcean Deployment Issues

  • Check that the port is set to 8080 in both the code and the App Platform configuration
  • Verify that all dependencies are in requirements.txt
  • Check the deployment logs for any error messages

Disclaimer: This tool provides estimates of domain availability. Always verify availability through official domain registrars before making any purchase decisions.

Metadata

Release files for iflow-mcp_do-community_do-remote-mcp-server-template 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_do-community_do-remote-mcp-server-template 0.1.0
File Size Uploaded
iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_do-community_do-remote-mcp-server-template 0.1.0
File Interpreter ABI Platform
iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.0 kB

Release files / iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0.tar.gz

Download URL iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1a6119d9044069920422bda9fdd03f210601b4e8d396d1eba3e85dc6a9316bf9
BLAKE2b-256 checksum
How to use checksums
247ab319204d4a4fd541e056f5b1f994a0337954945d95fee3f5131efe5e82a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0-py3-none-any.whl

Download URL iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0-py3-none-any.whl
Size 19.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd2ffc912fc6b88c8f24ad31ba4c391084971d543c5c31b836d7389c855afa08
BLAKE2b-256 checksum
How to use checksums
07b5e68bb6c416ee2b300c970f3273619db36bfb9f9195a3e4f273e6721a6681
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page