Sherlock Domains

Sherlock Domains

fewsats

Search for available domain names, purchase them, and manage DNS records through the Sherlock Domains API. Handles ICANN registration requirements and authentication automatically.

Enables AI to search, purchase, and manage internet domains through Sherlock Domains API, handling authentication, ICANN requirements, and DNS configuration behind the scenes.

1333 views5Local (stdio)

What it does

  • Search for available domain names with pricing
  • Purchase domains with automated ICANN registration
  • Manage DNS records (create, update, delete)
  • Set contact information for domain registration
  • List owned domains
  • Configure DNS settings for domains

Best for

Developers building web applications who need domainsAI agents that need to automatically acquire web presenceAutomating domain portfolio managementSetting up DNS for new projects
Handles ICANN compliance automaticallyFull domain lifecycle managementDNS configuration included

About Sherlock Domains

Sherlock Domains is a community-built MCP server published by fewsats that provides AI assistants with tools and capabilities via the Model Context Protocol. Easily register internet domain names and manage DNS with Sherlock Domains. Simplify domain registration and hosting for It is categorized under ai ml. This server exposes 10 tools that AI clients can invoke during conversations and coding sessions.

How to install

You can install Sherlock Domains in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Sherlock Domains is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Tools (10)

search

Search for available domains matching the query. Returns search results with available/unavailable domains, their prices in USD cents, and a search ID needed for purchase requests. The query can be a full domain name with or without the TLD but not subdomains or text. Valid queries: - "example" - "example.com" - "my-domain" Invalid queries: - "www.example.com" # no subdomains - "this is a search" # no spaces - "sub.domain.com" # no subdomains

claim_account

Links an email address to an AI agent's account for web interface access and account recovery. Important notes: - Only accounts without an existing email can be linked - Each email can only be linked to one account - This method is rarely needed since emails are also set during domain registration

set_contact_information

Set the contact information that will be used for domain purchases and ICANN registration. Contact information must be set before attempting any domain purchases. All fields are required: first_name: First name last_name: Last name email: Email address address: Street address city: City state: Two-letter state code for US/Canada (e.g., 'CA', 'NY') or province name (e.g., 'Madrid') postal_code: Postal code country: Two-letter country code ('US', 'ES', 'FR')

get_contact_information

Retrieve the currently configured contact information that will be used for domain purchases and ICANN registration.

get_purchase_offers

Request available payment options for a domain. This method returns an L402 offer, which includes details such as offer_id, amount, currency, and more. The returned offer can be processed by any tool supporting L402 offers. The TLD .ai mandates a minimum registration and renewal period of two years. So inform the user that they need to purchase a 2 year package when they request a .ai domain. The L402 offer structure: { 'offers': [ { 'offer_id': 'example_offer_id', # String identifier for the offer 'amount': 100, # Numeric cost value in USD cents 'currency': 'usd', # Currency code 'description': 'Example offer', # Text description 'title': 'Example Package' # Title of the package } ], 'payment_context_token': 'example_token', # Payment context token 'payment_request_url': 'https://api.example.com/payment-request', # Payment URL 'version': '0.2.2' # API version } sid: Search ID from a previous search request domain: Domain name to purchase from the search results related to `sid`

sherlock-mcp MCP server

Shelock Domains MCP server to buy & manage domains

Components

Resources

The server implements a simple note storage system with:

  • Custom note:// URI scheme for accessing individual notes
  • Each note resource has a name, description and text/plain mimetype

Prompts

The server provides a single prompt:

  • summarize-notes: Creates summaries of all stored notes
    • Optional "style" argument to control detail level (brief/detailed)
    • Generates prompt combining all current notes with style preference

Tools

The server implements one tool:

  • add-note: Adds a new note to the server
    • Takes "name" and "content" as required string arguments
    • Updates server state and notifies clients of resource changes

Configuration

[TODO: Add configuration details specific to your implementation]

Quickstart

Install

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration ``` "mcpServers": { "sherlock-mcp": { "command": "uv", "args": [ "--directory", "/Users/pengren/go/github.com/Fewsats/sherlock-mcp", "run", "sherlock-mcp" ] } } ```
Published Servers Configuration ``` "mcpServers": { "sherlock-mcp": { "command": "uvx", "args": [ "sherlock-mcp" ] } } ```

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /Users/pengren/go/github.com/Fewsats/sherlock-mcp run sherlock-mcp

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Alternatives

Related Skills

Browse all skills
literature-review

Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.). This skill should be used when conducting systematic literature reviews, meta-analyses, research synthesis, or comprehensive literature searches across biomedical, scientific, and technical domains. Creates professionally formatted markdown documents and PDFs with verified citations in multiple citation styles (APA, Nature, Vancouver, etc.).

144
domain-analysis

Identifies subdomains and suggests bounded contexts in any codebase following DDD Strategic Design. Use when analyzing domain boundaries, identifying business subdomains, assessing domain cohesion, mapping bounded contexts, or when the user asks about DDD strategic design, domain analysis, or subdomain classification.

2
red-team-tools-and-methodology

This skill should be used when the user asks to "follow red team methodology", "perform bug bounty hunting", "automate reconnaissance", "hunt for XSS vulnerabilities", "enumerate subdomains", or needs security researcher techniques and tool configurations from top bug bounty hunters.

1
meta-pattern-recognition

Spot patterns appearing in 3+ domains to find universal principles

1
embedding-strategies

Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.

1
near-name-service

Manage NEAR Name Service (.near domains) - check availability, register, resolve, and manage names.

0