Porkbun Domain Availability MCP Server
Provides tools for checking domain name availability and retrieving pricing information through the Porkbun API, supporting both single and bulk domain lookups.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Porkbun Domain Availability MCP Servercheck if 'mynewapp.com' is available and what it costs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Porkbun Domain Availability MCP Server
A Model Context Protocol (MCP) server that provides tools to check domain availability using the Porkbun API v3.
Features
Single Domain Check: Check the availability of a single domain name
Bulk Domain Check: Check availability of multiple domains (up to 10 at once)
Rate Limiting: Respects Porkbun's rate limits with built-in delays
Error Handling: Comprehensive error handling with detailed messages
Related MCP server: Domain Checker MCP Server
Tools
1. check_domain_availability
Checks the availability of a single domain name and returns detailed pricing information.
Parameters:
domain(string): The domain name to check for availability
Returns:
Domain availability status
Pricing information
Premium domain status
First-year promotions
Renewal and transfer pricing
Rate limit information
2. bulk_check_domains_availability
⚠️ WARNING: Checks the availability of multiple domain names at once. Due to Porkbun API rate limits (1 check per 10 seconds), this tool has a very long runtime. For example: 5 domains = ~50 seconds, 10 domains = ~100 seconds (1.7 minutes). The bulk tool provides better user experience and consolidated results compared to making multiple single domain check calls.
Parameters:
domains(array): Array of domain names to check (maximum 10)
Returns:
Bulk results with availability status for each domain
Pricing information for available domains
Individual error messages for failed checks
Prerequisites
Node.js (v18 or later recommended)
Porkbun API credentials (generate here)
Setup
1. Install Dependencies
npm install2. Configure API Credentials
Set your Porkbun API credentials using environment variables or a .env file:
Option A: Environment Variables
export PORKBUN_API_KEY="your_api_key"
export PORKBUN_SECRET_API_KEY="your_secret_key"Option B: Create a .env file
Create a .env file in the project root directory:
PORKBUN_API_KEY=your_api_key
PORKBUN_SECRET_API_KEY=your_secret_keyOption C: Custom .env Location
Pass a custom path when running the server:
node build/index.js --dotenv-path /path/to/your/.envBuilding
Compile the TypeScript code:
npm run buildThis creates the executable JavaScript file in the build/ directory.
Running the Server
Standard Start
npm startCustom .env Path
node build/index.js --dotenv-path /path/to/your/.envDevelopment Mode
npm run devThe server communicates using the MCP stdio transport (standard input/output).
Usage with Claude Desktop
To use this server with Claude Desktop, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"porkbun-domain-availability": {
"command": "node",
"args": [
"/absolute/path/to/mcp-porkbun-domain-availability/build/index.js",
"--dotenv-path",
"/absolute/path/to/mcp-porkbun-domain-availability/.env"
]
}
}
}Replace the placeholder paths with the actual absolute paths on your system. Save the configuration file and restart Claude Desktop.
API Information
This server uses the Porkbun API v3. For more information about the API:
Rate Limiting
The Porkbun API has rate limits for domain checks. This server:
Implements automatic delays between requests (10 second)
Limits bulk checks to 10 domains maximum
Provides rate limit information in responses
Error Handling
The server provides detailed error messages for:
Missing or invalid API credentials
Network connectivity issues
API rate limit violations
Invalid domain names
Server errors
License
MIT License - see project repository for details.
Available Tools
2 toolsbulk_check_domains_availabilityBulk Check Domains AvailabilityA
Checks the availability of up to 10 domains names at once. WARNING: Due to Porkbun API rate limits (1 check per 10 seconds), this tool has a very long runtime. For example: 5 domains = ~50 seconds, 10 domains = ~100 seconds (1.7 minutes). The bulk tool provides better user experience and consolidated results compared to making multiple single domain check calls.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | Array of domain names to check for availability |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively discloses critical behavioral traits: the rate limit constraint ('Porkbun API rate limits (1 check per 10 seconds)'), runtime estimates ('5 domains = ~50 seconds, 10 domains = ~100 seconds'), and the non-destructive nature (implied by 'checks availability'). This goes beyond basic functionality to inform about performance and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core functionality, followed by warnings and comparative benefits. Each sentence earns its place: the first states the purpose, the second explains runtime constraints with examples, and the third justifies usage versus alternatives. It is efficiently structured without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (bulk operation with rate limits), no annotations, and the presence of an output schema (which handles return values), the description is complete. It covers purpose, usage guidelines, behavioral transparency (rate limits, runtime), and parameter constraints, providing all necessary context for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'domains' documented as 'Array of domain names to check for availability.' The description adds marginal value by specifying the maximum array size ('up to 10 domains names at once'), but does not provide additional syntax or format details beyond what the schema already covers. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('checks') and resource ('availability of up to 10 domains names at once'), distinguishing it from the sibling tool 'check_domain_availability' by specifying bulk capability. It explicitly mentions the maximum batch size (10 domains), making the purpose specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives: it states that 'the bulk tool provides better user experience and consolidated results compared to making multiple single domain check calls,' directly referencing the sibling tool. It also warns about runtime implications, helping users decide based on performance trade-offs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domain_availabilityCheck Domain AvailabilityA
Checks the availability of a domain name and returns pricing information. Please note that domain checks are rate limited to 1 check per 10 seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain name to check for availability |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it returns pricing information (beyond just availability) and specifies a rate limit (1 check per 10 seconds). It does not mention error handling or authentication needs, but covers essential operational aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: the first states the purpose and output, and the second adds critical behavioral context (rate limiting). Every sentence earns its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, no annotations but with output schema), the description is complete enough. It explains what the tool does, what it returns, and operational constraints, and the output schema will handle return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents the single 'domain' parameter fully. The description does not add any meaning beyond what the schema provides (e.g., format examples or validation rules), meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('checks the availability') and resource ('domain name'), and distinguishes it from the sibling tool 'bulk_check_domains_availability' by implying this is for single-domain checks versus bulk operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (checking domain availability and pricing), but does not explicitly state when not to use it or name the sibling alternative. The rate limit note indirectly suggests usage constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
bulk_check_domains_availability - First observed
check_domain_availability
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one handles bulk checks for up to 10 domains with consolidated results, while the other checks a single domain with pricing details. There is no overlap or ambiguity between them, as each serves a specific use case within the domain availability domain.
Both tools follow a consistent verb_noun pattern with snake_case naming: 'bulk_check_domains_availability' and 'check_domain_availability'. The naming is predictable and readable, clearly indicating the action (check) and the target (domain availability), with 'bulk' appropriately modifying the first tool.
With only 2 tools, the server feels thin for a domain availability service, as it lacks operations like domain registration, management, or search. However, given the specific focus on availability checks and API rate limits, the count is borderline but reasonable for a minimal, focused implementation.
The tool surface is significantly incomplete for a domain availability server, as it only provides check operations without any ability to register, update, or manage domains. This creates dead ends for agents trying to perform full domain lifecycle tasks, limiting the server to read-only functionality.
Maintenance
Related MCP Connectors
Check domain name availability via RDAP. Single, bulk, and smart suggestions. No API key needed.
Domain availability search, WHOIS lookup, TLD pricing and registry rules from name.ai. Read-only.
Search domain availability and pricing, and check if a domain can transfer in, from chat.
Search domains for sale on Nameshift, check pricing, and buy one via a hosted checkout link.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables checking domain name availability using WHOIS lookups and DNS resolution. Supports both single and batch domain checking with detailed availability analysis.-
- FlicenseNot gradedqualityDmaintenanceEnables domain availability checking through dual verification using WHOIS lookups and DNS resolution. Supports both single and batch processing to provide detailed analysis on whether domains are likely available or already registered.4-
- FlicenseNot gradedqualityDmaintenanceEnables checking domain availability using WHOIS and DNS resolution, with support for single and batch queries.28-
- AlicenseAqualityDmaintenanceEnables checking domain name availability for single or multiple domains using WHOIS and DNS verification.121MIT