Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Find, register, and manage domains from any AI chat or agent
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.aivikings.ai/mcpRun this in your terminal
claude mcp add --transport http registrar https://mcp.aivikings.ai/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"registrar": {
"url": "https://mcp.aivikings.ai/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"registrar": {
"type": "http",
"url": "https://mcp.aivikings.ai/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.aivikings.ai/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
get_domain_audit_logRead append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first; pass next_cursor with the same filters for another page. Times must include a timezone. Requested, state_changed, and
get_current_userReturn the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer.
check_domain_availability Looks like an instruction to the AICheck whether domain names can be registered through AIvikings. Takes a list of one or more names (up to 200). Each result has a status: available (confirmed free by the registry), probably_available (not registered as far as we can see, but NOT confirmed: lists of more than 50 n
get_domain_pricingGet a fresh price quote for one domain. Returns customer-facing registration, renewal, and transfer prices, plus is_premium so the user can be told when premium pricing applies. Omit currency to use the returned currency; USD and EUR can be requested explicitly. Prices are not co
get_prepaid_balanceReturn the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enabled, a zero balance in the requested currency does not block registration if the other wallet has enough credit; register_
list_contact_countriesList exact ConnectReseller country names and IDs for creating or updating contacts.
list_contact_statesList exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests.
create_contactCreate a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned handle can be passed to register_domain and reused for multiple domains. When handle is omitted, it is generated from the co
get_contactGet one reusable contact by its handle.
list_contactsList reusable contacts belonging to the authenticated customer.
list_domain_registration_contactsList the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its missing required fields, its default domain-contact roles, and the handle to pass to register_domain. Always call this befo
assign_domain_registration_contact_rolesAssign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_billing to true; false leaves that role unchanged. Assigning a role replaces any previous default for that role. Use this
remove_domain_registration_contact_rolesRemove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing to true; false leaves that role unchanged. This does not delete the contact. Removing a role without assigning it to an
register_domainRegister a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registration_contacts first and pass contact_handle to use one complete reusable contact for registrant, admin, technical, and bil
get_domain_statusFetch the latest domain status, expiry and nameservers from the registrar and refresh the saved AIvikings record. Use this for an on-demand update, including pending transfers.
list_domainsList domains recorded in the local registrar datastore.
renew_domainRenew a domain through AIvikings.
update_registrant_contactUpdate the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copying its fields into a new contact record. Name, organization, or email changes require acknowledge_transfer_lock=true be
update_nameserversReplace a domain's nameservers through AIvikings.
configure_dns_recordConfigure an A record for a domain through AIvikings. Use record_name=@ or omit it for the root/apex record. To create a subdomain, pass a relative name such as www for www.example.com or staging.api for staging.api.example.com. For compatibility, a complete hostname such as www.
list_dns_recordsList the managed DNS records for a domain owned by the authenticated customer. Use the returned DNS zone record ID when updating or deleting a record.
add_dns_recordAdd a managed DNS record to a domain owned by the authenticated customer. Supported types are A, AAAA, CNAME, MX, TXT, NS, and SRV. Relative names are expanded below the domain, including nested names such as staging.api; use @ for the zone apex. SRV records require port and weig
update_dns_recordReplace an existing managed DNS record. Call list_dns_records first and pass its DNS zone record ID. All record fields must describe the desired replacement.
delete_dns_recordPermanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider.
domain_transferTransfer a domain in through AIvikings.
get_transfer_auth_codeReturn the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand.
regenerate_transfer_auth_codeRegenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code.
lock_domainEnable the registrar transfer lock for a domain owned by the authenticated customer.
unlock_domainDisable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out.
get_customerGet the customer record linked to the current bearer token. A supplied customer ID must match that token.
middleware_get_capabilitiesMiddleware admin only: read enabled provider accounts, capabilities and transaction input schemas. Use this before middleware_submit_transaction. Requires the static MCP/REST admin bearer token. Provider operations and credentials remain in the existing middleware service.
middleware_submit_transactionMiddleware admin only: submit a middleware transaction using action/input from middleware_get_capabilities. For account actions the selected enabled middleware account is used. For domain actions supply the middleware domain_id. Choose account_id from middleware_get_capabilities
middleware_get_transactionMiddleware admin only: read a middleware transaction's status and result by transaction_id. succeeded confirms completion; pending_provider, outcome_unknown and manual_review must not trigger a duplicate order. Authcodes require middleware_get_transaction_secret.
middleware_list_transactionsMiddleware admin only: list persisted middleware transactions for the selected middleware account, optionally filtered by domain. Pass nextCursor as cursor for the next page.
middleware_get_domainMiddleware admin only: read the middleware's domain projection by domain_id. For a live provider refresh submit action=refresh first and wait for completion.
middleware_get_contactMiddleware admin only: read a local middleware contact by contact_id.
middleware_get_transaction_secretMiddleware admin only: read a protected transaction secret through the middleware API. Requires the upstream secret-read scope and is audited.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified against the domain aivikings.ai (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 500 ms (HTTP 200)
No sign-in needed
1 tool descriptions contain text that looks like instructions to the AI. Read them below before installing
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.3) reached the registry 16 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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](https://aivikings.ai/docs/mcp/)
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 mcp add --transport http aivikings https://mcp.aivikings.ai/mcp
Add a custom connector with the URL https://mcp.aivikings.ai/mcp. Step by step: Claude setup.
Add a connector with the URL https://mcp.aivikings.ai/mcp and OAuth authentication. Step by step: ChatGPT setup.
Add to ~/.cursor/mcp.json:
{
"mcpServers": { "aivikings": { "url": "https://mcp.aivikings.ai/mcp" } } }
Add to .vscode/mcp.json:
{
"servers": { "aivikings": { "type": "http", "url": "https://mcp.aivikings.ai/mcp" } } }
Agents that install MCP servers for you can follow llms-install.md.
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.
Once connected, ask your assistant:
| 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.
allow_premium=true after the user accepted the quoted price.delete_dns_record) are flagged, so clients can ask before running them.get_domain_audit_log.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.
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.
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
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 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.
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.
MIT