Skip to main content
Glama
gagarin-cloud

gagarin MCP server

Official

Put a service on the internet

add_domain
Idempotent

Adds a domain to a service to make it publicly reachable. If no domain is given, a generated address is assigned; returns the DNS record needed for certificate issuance.

Instructions

With no domain, hands out gagarin's own generated address and the certificate is already held. With one, claims that name — and the answer says what DNS record the owner has to add before it can be issued. Both are idempotent; restating one repairs its ingress. A service is private until this call and a deploy can neither give an address nor take one away.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainNoa hostname you control, e.g. shop.example.com. Absent asks for the generated one.
projectYesproject name or id
serviceYesservice name, unique within the project

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description reveals idempotent ingress repair, certificate and DNS issuance prerequisites, and the privacy/state change of the service. These are material behaviors not otherwise visible in annotations or schema.

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

Conciseness5/5

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

Four short sentences, each adding a distinct fact: the no-domain case, the custom-domain case, idempotent repair, and public/private state behavior. The key distinction is front-loaded with no filler.

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?

For a two-mode tool with no output schema, the description covers invocation modes, idempotency, DNS follow-up, and state implications. Nothing essential is missing for an agent to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, but the description enriches the optional domain parameter: absence means a generated address with an already-held certificate, while presence triggers a custom name claim and DNS requirement. It adds meaning beyond the schema's straightforward hostname description.

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 states a precise action: put a service on the internet either via a generated address or a claimed custom domain. It also conveys the before/after state, which distinguishes it from siblings like remove_domain and deploy.

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

Usage Guidelines4/5

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

It gives clear when-to-use context: omit the domain for a generated address, provide a controlled hostname for a custom one, and note that a deploy cannot add or remove an address. It does not explicitly name excluded alternatives, but the conditional guidance covers the main decision.

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