Skip to main content
Glama

register_new_account

Verify a 6-digit email OTP to create a PushNotif tenant account, register the website app, and issue a live API key with 1,000 free credits. Use after request_registration_otp when user provides OTP.

Instructions

Verify a 6-digit email OTP, create a new PushNotif tenant account with 1,000 free lifetime credits, register the initial website app, and issue a live API key. Use this tool immediately after request_registration_otp once the user providesotp_code; do not use it to add extra websites to an existing account (use create_app instead). Public endpoint requiring no prior API key; irreversibly creates a tenant record and auto-generates ECDSA P-256 VAPID keys. Returns JSON { ok, tenant: { id, name, email, api_key, credits }, app: { id, site_name, site_url, vapid_public_key } }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesUser or company workspace name (2 to 80 characters)
emailYesEmail address that received the OTP from request_registration_otp
otp_codeYesExact 6-digit numeric OTP code sent to the user's email
passwordYesAccount password (minimum 6 characters)
site_urlNoOptional full HTTPS origin URL of the first website (e.g., https://example.com)
site_nameNoOptional display name for the first website or app (defaults to workspace name)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv2.1.2
    • changedInput schema / properties / email / description
      Previous value: -"Alamat email pengguna (sama dengan saat request_registration_otp)"New value: +"Email address that received the OTP from request_registration_otp"
    • changedInput schema / properties / name / description
      Previous value: -"Nama pengguna atau workspace"New value: +"User or company workspace name (2 to 80 characters)"
    • changedInput schema / properties / otp_code / description
      Previous value: -"Kode OTP 6 angka yang diterima pengguna di inbox email"New value: +"Exact 6-digit numeric OTP code sent to the user's email"
    • changedInput schema / properties / password / description
      Previous value: -"Password akun baru (minimal 6 karakter)"New value: +"Account password (minimum 6 characters)"
    • changedInput schema / properties / site_name / description
      Previous value: -"Nama website atau aplikasi pertama"New value: +"Optional display name for the first website or app (defaults to workspace name)"
    • changedInput schema / properties / site_url / description
      Previous value: -"URL lengkap website pertama (diawali https://)"New value: +"Optional full HTTPS origin URL of the first website (e.g., https://example.com)"
  2. First observedv2.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only give the generic safety flags (readOnly=false, idempotent=false, destructive=false), while the description adds high-value context: it is a public endpoint needing no prior API key, it irreversibly creates a tenant record, it auto-generates ECDSA P-256 VAPID keys, and it grants 1,000 free lifetime credits. That is well beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main action is front-loaded in the first clause and the routing exclusions follow, so the important information comes first. It is a dense single paragraph and the trailing inline JSON shape is verbose, but every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by spelling out the return shape ({ ok, tenant, app } with nested fields). Combined with the stated prerequisites, irreversibility, and key generation, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (name, email, password, otp_code, site_url, site_name) is already documented in the schema, which sets the baseline at 3. The description reinforces the 6-digit OTP and its link to request_registration_otp but adds no syntax, format, or defaulting detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a precise multi-step outcome: verify OTP, create a tenant account, register the first website app, and issue a live API key. It explicitly distinguishes itself from create_app and request_registration_otp, so an agent can route correctly without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the exact trigger condition ('immediately after request_registration_otp once the user provides otp_code') and an explicit exclusion with the correct alternative ('do not use it to add extra websites to an existing account (use create_app instead)'). Both when-to-use and when-not-to-use are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.