Domain Search MCP vs Mobile MCP
A side-by-side look at the Domain Search MCP and Mobile MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Domain Search MCP for search & data extraction work as a local process; choose Mobile MCP for search & data extraction as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Domain Search MCP when
- You need dedicated capabilities in the Search & Data Extraction domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
name_project, search_domain, bulk_search.
Choose Mobile MCP when
- You need dedicated capabilities in the Search & Data Extraction domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
mobile_list_available_devices, mobile_login_to_cloud_provider, mobile_list_remote_devices.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Search & Data Extraction | Search & Data Extraction |
| Quality signal | 68/100 · Great | 69/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | No auth required |
| Pricing | Free | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 28 | 9,807 |
| Directory activity | 5 views 0 installs 0 upvotes | 7 views 0 installs 0 upvotes |
| Tools | 12 | 33 |
| Full listing | View Domain Search MCP | View Mobile MCP |
Tools & capabilities
Domain Search MCP tools 12
name_projectTwo-phase naming engine. Call without candidates to receive generation instructions for YOUR model (you generate the names). Call again with candidates[] to get anti-slop scoring, ranking, and live availability checks (domains, socials, npm). Modes: brief (describe it), auto (I analyze the current workspace), from_name (find domains/variants for a name), from_domain (fit a found domain to a project).search_domainSearch for domain availability and pricing across multiple TLDs. Returns: - Availability status for each domain - Pricing (first year and renewal) when Pricing API is configured - Whether WHOIS privacy is included - Human-readable insights and next steps Examples: - search_domain("vibecoding") → checks vibecoding.com, .io, .dev - search_domain("myapp", ["com", "io"]) → checks specific TLDsbulk_searchCheck availability for multiple domain names at once. Efficiently searches up to 100 domains in parallel with rate limiting. Use a single TLD for best performance. Returns: - Availability status for each domain - Pricing where available - Summary statistics Example: - bulk_search(["vibecoding", "myapp", "coolstartup"], "io")compare_registrarsCompare domain pricing across multiple registrars. Checks the same domain at different registrars to find: - Best first year price - Best renewal price - Overall recommendation Uses the Pricing API when configured; otherwise falls back to BYOK registrars. Returns pricing comparison and a recommendation. Example: - compare_registrars("vibecoding", "com") → compares Porkbun (and any configured BYOK registrars)suggest_domainsGenerate and check availability of domain name variations. Creates variations like: - Hyphenated: vibe-coding - With numbers: vibecoding1, vibecoding2 - Prefixes: getvibecoding, tryvibecoding - Suffixes: vibecodingapp, vibecodinghq Returns only available suggestions, ranked by quality. Example: - suggest_domains("vibecoding") → finds available variationssuggest_domains_smartAI-powered domain name suggestion engine. Generate creative, brandable domain names from keywords or business descriptions. Combines multiple intelligent sources for maximum coverage and quality. Features: - ZERO-CONFIG: Works out of the box with our fine-tuned Qwen 7B-DPO model - Domain-specialized fine-tuned model for higher quality suggestions - Understands natural language queries ("coffee shop in seattle") - Auto-detects industry for contextual suggestions - Generates portmanteau/blended names (instagram = instant + telegram) - Applies modern naming patterns (ly, ify, io, hub, etc.) - Filters premium domains by default - Availability verified via Porkbun/RDAP - Graceful fallback: Fine-tuned Qwen → Semantic engine Examples: - suggest_domains_smart("ai customer service") → AI-themed suggestions - suggest_domains_smart("organic coffee", industry="food") → Food-focused names - suggest_domains_smart("vibecoding", style="short") → Minimal length namestld_infoGet information about a Top Level Domain (TLD). Returns: - Description and typical use case - Price range - Any special restrictions - Popularity and recommendations Example: - tld_info("io") → info about .io domainscheck_socialsCheck if a username is available on social media and developer platforms. Supports 10 platforms with varying confidence levels: - HIGH: GitHub, npm, PyPI, Reddit, Twitter/X (reliable public APIs) - MEDIUM: YouTube, ProductHunt (status code based) - LOW: Instagram, LinkedIn, TikTok (block automated checks - verify manually) Returns availability status with confidence indicator. Example: - check_socials("vibecoding") → checks GitHub, Twitter, Reddit, npm - check_socials("myapp", ["github", "npm", "pypi"]) → developer platforms onlyanalyze_projectAnalyze a local project or GitHub repository to extract context for domain suggestions. This tool scans project manifest files (package.json, pyproject.toml, Cargo.toml, go.mod) and README files to understand your project, then generates relevant domain name suggestions. **Use Cases:** 1. Find a domain for your existing codebase 2. Get domain ideas that match your project's identity 3. Analyze any GitHub repo for branding inspiration **Supported Projects:** - Node.js (package.json) - Python (pyproject.toml, setup.py) - Rust (Cargo.toml) - Go (go.mod) - Any project with README.md **Examples:** - analyze_project("/path/to/my-app") → Analyzes local project - analyze_project("https://github.com/vercel/next.js") → Analyzes GitHub repo - analyze_project("/my-project", suggest_domains=true, style="short") → Short brandable nameshunt_domainsFind valuable domains for investment opportunities. Scans Sedo auctions, generates pattern-based candidates, and calculates investment scores based on length, TLD value, keyword matches, and pronounceability. **Investment Score Factors:** - Length: Shorter = higher score (3-4 chars = +25 points) - TLD Value: .com = +25, .io/.ai = +15, .co = +12 - Keyword Match: +5 per keyword found in domain - Pronounceability: Good vowel ratio = +10 - Aftermarket Price: Lower prices get bonus points **Pattern Types:** - `short`: 3-5 character pronounceable patterns (CVC, CVCV) - `dictionary`: Common words that make good domains - `brandable`: Keyword + modern suffixes (-ly, -ify, -io) - `acronym`: Abbreviations from multiple keywords - `numeric`: Keyword + numbers (7, 24, 365) **Examples:** - hunt_domains(keywords=["ai", "chat"]) → Find AI/chat themed domains - hunt_domains(max_length=5, tlds=["com"]) → Ultra-short .com domains - hunt_domains(max_aftermarket_price=500) → Sedo auctions under $500 - hunt_domains(patterns=["short"], score_threshold=60) → High-scoring short domainsexpiring_domainsFind domains that are about to expire and may become available soon. Monitors the federated negative cache for domains approaching their expiration date. Useful for domain investors and those watching specific domains. Requires NEGATIVE_CACHE_URL to be configured. Examples: - expiring_domains(days=30) → Domains expiring in the next 30 days - expiring_domains(tlds=["com"], days=7) → .com domains expiring within a week - expiring_domains(keywords="ai") → AI-related domains expiring soonai_healthCheck health status of AI inference services. Returns status of: - VPS Qwen (self-hosted llama.cpp) - Together.ai (cloud fallback) - Semantic Engine (offline, always available) - Circuit breaker states - Adaptive concurrency limits Use when: - AI suggestions are slow or failing - Diagnosing which AI source is being used - Monitoring inference infrastructure
Mobile MCP tools 33
mobile_list_available_devicesList all available devices. This includes both physical mobile devices and mobile simulators and emulators. It returns both Android and iOS devices. These are local devices already connected to this machine, ready to use immediately at no cost - for devices from the shared remote cloud fleet, use mobile_list_remote_devices instead.mobile_login_to_cloud_providerStart authenticating this machine with the remote device cloud provider. This is required once before mobile_list_remote_devices or mobile_allocate_remote_device will work; if either of those fails with an authentication error, call this tool and then retry. This starts a browser-based device-code login and returns quickly with a URL and a one-time code - it does NOT wait for the login to complete. Show the URL and code to the user verbatim and ask them to open the URL and enter the code in their own browser. The login keeps running in the background after this tool returns; once the user confirms they've completed it, retry the remote devices tool that originally failed. Only call this after the user has explicitly asked to connect to, log into, or use remote/cloud devices - never call it speculatively, since it interrupts the user to act in their browser.mobile_list_remote_devicesList the catalog of device models (make, platform, OS version) available to reserve from the remote cloud device fleet. This is different from mobile_list_available_devices, which lists real devices and simulators/emulators already connected to this local machine and ready to use immediately at no cost. Remote devices live in a shared cloud fleet: they are not usable until reserved with mobile_allocate_remote_device, and reserving one may be a limited/billed resource. Requires mobile_login_to_cloud_provider to have been called first; if this fails with an authentication error, call that tool then retry.mobile_allocate_remote_deviceReserve a physical device from the remote cloud fleet for exclusive use, returning a device identifier usable with the other mobile_* tools. Unlike local devices, a remote device is a shared and billed resource borrowed for the session - only call this after the user has explicitly asked to use a remote/cloud device, never speculatively or as a fallback when a local device isn't found. Requires mobile_login_to_cloud_provider to have been called first; if this fails with an authentication error, call that tool then retry. Use mobile_list_remote_devices first to see which names and versions actually exist in the fleet before filtering by them. Release the device with mobile_release_remote_device once the whole task is finished - releasing wipes the device's state, so do not release and reallocate between steps of the same task just to be tidy.mobile_release_remote_deviceRelease a device previously reserved with mobile_allocate_remote_device back to the remote cloud fleet so it becomes available to others. Releasing is destructive to the device's state: apps installed, files pushed, and any other changes made during this session are lost, and a later mobile_allocate_remote_device call may take time and could return a different physical unit. Only release once the whole task is finished - if there is more work to do on the same device shortly, keep holding it rather than releasing and reallocating.mobile_list_appsList all the installed apps on the devicemobile_get_foreground_appGet the app currently in the foreground on the device. Use this to verify which app or screen you are on before interacting with it.mobile_launch_appLaunch an app on mobile device. Use this to open a specific app. You can find the package name of the app by calling list_apps_on_device.mobile_terminate_appStop and terminate an app on mobile devicemobile_install_appInstall an app on mobile devicemobile_uninstall_appUninstall an app from mobile devicemobile_get_screen_sizeGet the screen size of the mobile device in pixels- +21 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Domain Search MCP
{
"mcpServers": {
"dorukardahan-domain-search-mcp": {
"command": "npx",
"args": [
"-y",
"domain-search-mcp@latest"
]
}
}
}
Mobile MCP
{
"mcpServers": {
"mobile-next-mobile-mcp": {
"command": "npx",
"args": [
"-y",
"@mobilenext/mobile-mcp@latest"
]
}
}
}
Frequently asked questions
Domain Search MCP is categorized under Search & Data Extraction and uses a local stdio subprocess. Mobile MCP belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Domain Search MCP for search & data extraction work and Mobile MCP for search & data extraction.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Domain Search MCP is listed as free. Auth: no auth required. Mobile MCP is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add dorukardahan-domain-search-mcp and mobile-next-mobile-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Domain Search MCP has a quality signal of 68/100 (Great) with 5 views, 0 installs and 28 GitHub stars. Mobile MCP has 69/100 (Great) with 7 views, 0 installs and 9,807 GitHub stars.