Skip to main content

Remote MCP Server Template - Domain Checker using FastMCP

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1a6119d9044069920422bda9fdd03f210601b4e8d396d1eba3e85dc6a9316bf9
MD5 680ba97d84c48e68835a36db6acdf183
BLAKE2b-256 247ab319204d4a4fd541e056f5b1f994a0337954945d95fee3f5131efe5e82a1

See more details on using hashes here.

File details

Details for the file iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for iflow_mcp_do_community_do_remote_mcp_server_template-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd2ffc912fc6b88c8f24ad31ba4c391084971d543c5c31b836d7389c855afa08
MD5 45e44733bc77d6de5178eb0995db7eb3
BLAKE2b-256 07b5e68bb6c416ee2b300c970f3273619db36bfb9f9195a3e4f273e6721a6681

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page