jezweb/synergy-wholesale-mcp
3.2
If you are the rightful owner of synergy-wholesale-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Synergy Wholesale MCP Server provides AI-driven access to the Synergy Wholesale API for domain and DNS management.
Tools
22
Resources
0
Prompts
0
Synergy Wholesale MCP Server
An MCP (Model Context Protocol) server that provides access to the Synergy Wholesale API for domain and DNS management through AI agents.
Features
- 🌐 Domain Management: Check availability, register, transfer, renew domains
- 🔧 DNS Management: Create zones, manage DNS records (A, CNAME, MX, TXT, etc.)
- 💰 Account Tools: Check balance, get pricing, verify transfer eligibility
- 🔐 Secure: Credentials passed via environment variables, not stored on server
- ☁️ Cloud Ready: Deploy on FastMCP Cloud for remote access
Available Tools
Domain Management
check_domain
- Check if a domain is availablebulk_check_domain
- Check up to 30 domains at oncedomain_info
- Get detailed domain informationlist_domains
- List all domains in accountregister_domain
- Register a new domaintransfer_domain
- Transfer a domain to your accountrenew_domain
- Renew a domainupdate_nameservers
- Update domain nameserversupdate_domain_password
- Update EPP/auth codelock_domain
/unlock_domain
- Manage registrar lockenable_auto_renewal
/disable_auto_renewal
- Manage auto-renewal
DNS Management
add_dns_zone
- Create a DNS zonelist_dns_zone
- List all records in a zoneadd_dns_record
- Add DNS records (A, AAAA, CNAME, MX, TXT, etc.)delete_dns_record
- Delete a DNS recordupdate_dns_record
- Update existing DNS records
Account Utilities
balance_query
- Check account balanceget_domain_pricing
- Get pricing for all TLDsis_domain_transferrable
- Check if domain can be transferredget_domain_eligibility_fields
- Get TLD-specific requirements
Prerequisites
- Python 3.10+
- Synergy Wholesale reseller account
- API credentials (reseller ID and API key)
- IP address whitelisted with Synergy Wholesale
Installation
Local Development
- Clone the repository:
git clone https://github.com/yourusername/synergy-wholesale-mcp.git
cd synergy-wholesale-mcp
- Install dependencies:
pip install -r requirements.txt
- Configure credentials:
cp .env.example .env
# Edit .env with your Synergy Wholesale credentials
- Run the server:
python server.py
FastMCP Cloud Deployment
- Push to GitHub:
git init
git add .
git commit -m "Initial commit"
gh repo create synergy-wholesale-mcp --public
git push -u origin main
-
Deploy on fastmcp.cloud:
- Sign in with GitHub
- Click "Create Project"
- Select your repository
- Configure environment variables:
SYNERGY_RESELLER_ID
: Your reseller IDSYNERGY_API_KEY
: Your API key
- Deploy
-
Your server will be available at:
https://your-project.fastmcp.app/mcp
Configuration in Claude Desktop
For FastMCP Cloud Deployment
Edit your Claude Desktop configuration:
{
"mcpServers": {
"synergy-wholesale": {
"url": "https://your-project.fastmcp.app/mcp",
"transport": "http",
"env": {
"SYNERGY_RESELLER_ID": "your_reseller_id",
"SYNERGY_API_KEY": "your_api_key"
}
}
}
}
For Local Development
{
"mcpServers": {
"synergy-wholesale": {
"command": "python",
"args": ["path/to/server.py"],
"env": {
"SYNERGY_RESELLER_ID": "your_reseller_id",
"SYNERGY_API_KEY": "your_api_key"
}
}
}
}
Usage Examples
Check Domain Availability
Use the check_domain tool to see if example.com is available for registration
Register a Domain
Register the domain example.com for 2 years with these nameservers: ns1.example.com, ns2.example.com
Add DNS Record
Add an A record for www.example.com pointing to 192.0.2.1
Check Account Balance
Check my Synergy Wholesale account balance
Environment Variables
Variable | Required | Description | Default |
---|---|---|---|
SYNERGY_RESELLER_ID | Yes | Your Synergy Wholesale reseller ID | - |
SYNERGY_API_KEY | Yes | Your Synergy Wholesale API key | - |
LOG_LEVEL | No | Logging level (DEBUG, INFO, WARNING, ERROR) | INFO |
API_TIMEOUT | No | SOAP API timeout in seconds | 30 |
Security Notes
- Never commit credentials: Always use environment variables for sensitive data
- IP Whitelisting: Ensure your server's IP is whitelisted with Synergy Wholesale
- Use HTTPS: When deploying, always use HTTPS endpoints
- Rotate keys regularly: Update your API keys periodically
Testing
Test the server locally:
import asyncio
from fastmcp import Client
async def test():
async with Client('server.py') as client:
# Set environment variables first
import os
os.environ['SYNERGY_RESELLER_ID'] = 'your_id'
os.environ['SYNERGY_API_KEY'] = 'your_key'
# List available tools
tools = await client.list_tools()
print(f"Available tools: {[t.name for t in tools]}")
# Check a domain
result = await client.call_tool("check_domain", {
"domain_name": "example.com"
})
print(f"Domain check result: {result}")
asyncio.run(test())
Troubleshooting
Missing Credentials Error
- Ensure
SYNERGY_RESELLER_ID
andSYNERGY_API_KEY
are set - Check that values don't have quotes or spaces
SOAP Connection Error
- Verify your IP is whitelisted with Synergy Wholesale
- Check network connectivity to api.synergywholesale.com
- Ensure firewall allows outbound HTTPS traffic
Authentication Failed
- Verify credentials are correct and active
- Check case sensitivity (parameter names are case-sensitive)
- Ensure reseller account is in good standing
API Documentation
For complete Synergy Wholesale API documentation, refer to:
- API Documentation (PDF)
- API Version: v3.11
Support
- MCP Server Issues: Open an issue in this repository
- Synergy Wholesale API: Contact Synergy Wholesale support
- FastMCP Platform: Visit fastmcp.cloud
License
MIT License - See LICENSE file for details
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Acknowledgments
- Built with FastMCP
- Powered by Synergy Wholesale API
- SOAP client using Zeep