About AiVikings.ai
AiVikings.ai is a hosted MCP server for domain operations, aimed at AI agents and chat clients. It covers availability checks through registration, DNS, contacts, renewals, and transfers, with changes recorded in an audit log.
Key features
- 01Check domain availability and pricing
- 02Register, renew, and transfer domains
- 03Manage DNS records and nameservers
- 04Manage domain contacts
- 05Review domain status and audit logs
Use cases
- 01Check names and prices before registration
- 02Register or renew a domain through an agent
- 03Change DNS records for a domain
- 04Review domain expiry and change history
MCP support
The hosted Streamable HTTP MCP server exposes AiVikings.ai registrar tools to MCP clients. It authenticates requests with OAuth or a bearer API key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.aivikings.ai/mcpclaude mcp add --transport http ai-aivikings-registrar https://mcp.aivikings.ai/mcp{"mcpServers":{"ai-aivikings-registrar":{"type":"http","url":"https://mcp.aivikings.ai/mcp"}}}Open in Cursor{"servers":{"ai-aivikings-registrar":{"type":"http","url":"https://mcp.aivikings.ai/mcp"}}}Open in VS Code{"mcpServers":{"ai-aivikings-registrar":{"type":"http","url":"https://mcp.aivikings.ai/mcp"}}}{"mcpServers":{"ai-aivikings-registrar":{"serverUrl":"https://mcp.aivikings.ai/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
34| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | |
| action | any | No | |
| cursor | any | No | |
| domain | any | No | |
| to_timestamp | any | No | |
| from_timestamp | any | No |
Details
From the project READMEAiVikings.ai MCP Server (official)
The official Model Context Protocol server for AiVikings.ai, the domain registrar built for AI agents. It lets ChatGPT, Claude, Cursor and any agent that supports MCP check availability, register and renew domains, and manage DNS, contacts and transfers.
No install needed. AiVikings.ai runs this server at:
https://mcp.aivikings.ai/mcp
Setup guides, the full tool reference and pricing: aivikings.ai/docs/mcp
Connect
You need an AiVikings.ai account. Create one at app.aivikings.ai.
The server uses OAuth. On first use your client opens an AiVikings.ai page where you approve the connection. Today that page asks you to paste the API token from your dashboard.
Claude Code
claude mcp add --transport http aivikings https://mcp.aivikings.ai/mcp
Claude (web and desktop)
Add a custom connector with the URL https://mcp.aivikings.ai/mcp. Step by step: Claude setup.
ChatGPT
Add a connector with the URL https://mcp.aivikings.ai/mcp and OAuth authentication. Step by step: ChatGPT setup.
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"aivikings": {
"url": "https://mcp.aivikings.ai/mcp"
}
}
}
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"aivikings": {
"type": "http",
"url": "https://mcp.aivikings.ai/mcp"
}
}
}
Cline and other agents
Agents that install MCP servers for you can follow llms-install.md.
Unattended agents (LangChain, CrewAI, scripts)
Agents without a browser can't complete OAuth. Send your AiVikings.ai API key as a bearer token instead:
{
"mcpServers": {
"aivikings": {
"type": "streamableHttp",
"url": "https://mcp.aivikings.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_AIVIKINGS_API_KEY"
}
}
}
}
Optional X-Agent-Id and X-Agent-Name headers label your agent's actions in the domain audit log.
Try it
Once connected, ask your assistant:
- "Is cartandcup.com available, and what would it cost to register and renew?"
- "Brainstorm 20 names for a weather analytics project and check which .com and .io domains are free."
- "Register nightowlanalytics.com for one year using my default contact."
- "Point the root of nightowlanalytics.com to 203.0.113.10 and add a www CNAME."
- "Show my domains with their status and expiry dates."
Tools
| Group | Tools |
|---|---|
| Search and pricing | check_domain_availability, check_single_domain_availability, get_domain_pricing |
| Registration (spends prepaid balance) | register_domain, renew_domain, domain_transfer |
| Domain management | get_domain_status, list_domains, update_nameservers, lock_domain, unlock_domain, get_transfer_auth_code, regenerate_transfer_auth_code, get_domain_audit_log |
| DNS | list_dns_records, add_dns_record, configure_dns_record, update_dns_record, delete_dns_record |
| Contacts | create_contact, get_contact, list_contacts, list_domain_registration_contacts, assign_domain_registration_contact_roles, remove_domain_registration_contact_roles, update_registrant_contact, list_contact_countries, list_contact_states |
| Account | get_current_user, get_prepaid_balance, get_customer |
Full descriptions and parameters: tool reference.
Built for agents
- Prepaid balance. Registrations, renewals and transfers are paid from your prepaid USD or EUR balance. No card is charged by a tool call.
- Premium domains need a yes. A premium-priced domain is only registered when the agent passes
allow_premium=trueafter the user accepted the quoted price. - Safety annotations. Every tool is marked read-only or write, and destructive tools (such as
delete_dns_record) are flagged, so clients can ask before running them. - Audit log. Every change to a domain is recorded and can be read back with
get_domain_audit_log. - Pure registrar. No hosting or email upsells in the purchase flow.
Privacy and security
This server is a thin adapter. Each request carries your own OAuth token or API key, which is verified by the AiVikings.ai backend and forwarded with each tool call. The adapter stores no credentials and has no privileged fallback token. Internal backend error details are never passed back to the client.
- Privacy policy: aivikings.ai/legal/privacy
- Report a vulnerability: see SECURITY.md
Support
- Questions and ideas: GitHub Discussions
- Bugs: GitHub Issues
- Email: [email protected]
Self-hosting the adapter
Most users should connect to the hosted server above. This section is for running the adapter yourself in front of an AiVikings.ai backend.
The adapter is a public Streamable HTTP MCP layer over the AiVikings.ai registrar REST API. The tools keep their parameter schemas, descriptions and safety annotations, and call the backend over HTTP. The backend owns business logic, authentication, customer isolation, scopes, provider access and audit persistence.
This repository contains no registrar backend, database models, provider adapters, frontend assets, internal runbooks or production environment files. It installs and builds without access to either private repository.
Run locally
Requires Python 3.12+ and a running AiVikings.ai backend exposing /v1/mcp.
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[dev]"
cp .env.example .env
# Configure AIVIKINGS_API_BASE_URL to reach the backend.
aivikings-mcp
The endpoint is http://127.0.0.1:8081/mcp. Clients send their own AiVikings.ai bearer API key or OAuth access token. The adapter verifies it through the backend and forwards it with each tool call. There is no privileged fallback token. Token revocation and customer/scope checks stay authoritative in the backend. Anonymous initialize, tools/list and ping discovery remain available.
GET /healthz is a local process health check, not an upstream readiness check. /.well-known/oauth-protected-resource advertises the public backend as the OAuth authorization server. AIVIKINGS_API_BASE_URL is an internal HTTP address; AIVIKINGS_PUBLIC_API_BASE_URL and AIVIKINGS_MCP_URL must be externally reachable for real OAuth clients. OAuth issuance and signing secrets remain in the backend.
Docker
docker compose up --build
The standalone Compose default reaches the backend's published port 8080 using host.docker.internal. Set the upstream/public URLs for your deployment. If you copy .env.example first, replace its localhost upstream with an address reachable from inside the container. No private source checkout is mounted.
Tests
pytest
Tests use a simulated HTTP backend and exercise discovery, bearer challenges, per-request identity, tool schemas and error sanitization without a database. Backend rejection is returned as an HTTP-status tool error; private upstream response bodies are not exposed to MCP clients. Review backend logs for details.
The optional Claude demonstration client is installed with python -m pip install -e ".[demo]"; configure its client-side ANTHROPIC_API_KEY and AIVIKINGS_MCP_API_KEY before aivikings-demo-agent. Its sample transcript in examples/ is historical and illustrative.
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.