# Aithon

> Business telecom services marketplace: search services, check availability, request quotes.

- name: tech.aithon/aithon
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 70/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/tech.aithon%2Faithon
- tools: https://api.protogrid.dev/v1/servers/tech.aithon%2Faithon/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "aithon": {
      "type": "http",
      "url": "https://aithon.tech/mcp",
      "headers": {
        "Authorization": "Bearer ${AITHON_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${AITHON_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% +updated-10d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 70/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 75 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: quote.get (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); quote.cancel (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); catalog.search (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,053 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 50 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- fail `stability.rug_pull`: 5 tools kept their name but changed most of their description in 30 days; review before trusting them
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 12, about 2,053 tokens to load them all
- tool set hash: 6da6d7cb40bcda7d65cdb314670f6b65
- tools last changed: 2026-11-10T09:09:00.136Z
- badge: [![protogrid quality](https://protogrid.dev/badge/tech.aithon/aithon.svg)](https://protogrid.dev/servers/tech.aithon/aithon)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-10 `check_availability` added
  - Keyless US address availability estimate. Likely or unknown only; estimate, not confirmed. Providers, technology class, source and as-of only. No pricing, quotas or supplier contact. Address is sent to Census for geocoding.
- 2026-11-05 `quote.cancel` changed (description, inputSchema) **meaning changed**
  - before: Cancel one of your open quotes.
  - after: Cancel one of your own open quotes by quote_id. Needs an API key with a quote mandate from your owner. Another agent's quote returns quote_not_found. Returns the quote_id and its new status.
- 2026-11-05 `quote.request` changed (description, inputSchema) **meaning changed**
  - before: Request a quote for a scoped service. Reuse client_reference to get the same quote back.
  - after: Request a price quote for one catalog service (service_id from catalog.search). Needs an API key with a quote mandate from your owner; the mandate's spending ceiling and daily quote limits apply. Repeating a client_reference returns the same quote instead of a new one. Supply configuration per catalog.order_schema.get. Returns quote_id, status, respond_by and list price; read the result later with quote.get. Does not place an order.
- 2026-11-05 `catalog.order_schema.get` changed (description) **meaning changed**
  - before: Get machine-orderable schema for a scoped service
  - after: Get the order schema for one catalog service by service_id: whether agents can order it and the configuration a quote.request payload must satisfy. Read-only; no API key needed. Call it before quote.request so the request validates.
- 2026-11-05 `catalog.get` changed (description) **meaning changed**
  - before: Get scoped service details
  - after: Get full details for one catalog service by service_id (from catalog.search): name, description, category, provider, pricing and its order schema. Price detail depends on your access tier. Read-only; no API key needed.
- 2026-11-05 `catalog.search` changed (description) **meaning changed**
  - before: Search scoped catalog
  - after: Search this endpoint's catalog of business connectivity, voice and managed-IT services. Matches query text against service names and descriptions, with an optional exact category filter. Returns up to limit services (default 25, max 100) with id, name, category, provider and pricing; price detail depends on your access tier. Read-only; no API key needed. Pass a returned id to catalog.get, catalog.order_schema.get or quote.request.

Full history: https://api.protogrid.dev/v1/servers/tech.aithon%2Faithon/changes

## Remotes

- https://aithon.tech/mcp (streamable-http, auth none, reachable true, uptime30d 0.974359)

## Packages

_none_

## Tools (12)

- `availability.check`: Check which suppliers can likely serve a US business address, with honest status (likely | unknown | confirmed | not_available), the evidence source, and the price you are allowed to see. FCC BDC mass-market speeds are lower bounds, not business maximums or address-specific guarantees. FCC data only ever yields likely or unknown; pass confirm: true to ask suppliers for a binding answer.
- `cart.draft.create`: Create a cart draft for a scoped, agent-orderable service. Requires caller-managed session_id.
- `catalog.get`: Get full details for one catalog service by service_id (from catalog.search): name, description, category, provider, pricing and its order schema. Price detail depends on your access tier. Read-only; no API key needed.
- `catalog.order_schema.get`: Get the order schema for one catalog service by service_id: whether agents can order it and the configuration a quote.request payload must satisfy. Read-only; no API key needed. Call it before quote.request so the request validates.
- `catalog.search`: Search this endpoint's catalog of business connectivity, voice and managed-IT services. Matches query text against service names and descriptions, with an optional exact category filter. Returns up to limit services (default 25, max 100) with id, name, category, provider and pricing; price detail depends on your access tier. Read-only; no API key needed. Pass a returned id to catalog.get, catalog.order_schema.get or quote.request.
- `check_availability`: Keyless US address availability estimate. Likely or unknown only; estimate, not confirmed. Providers, technology class, source and as-of only. No pricing, quotas or supplier contact. Address is sent to Census for geocoding.
- `mandate.get`: List the mandates your owner has issued to you: which actions (browse, availability_check, quote, draft_order), which categories, the monthly commitment ceiling, and when each expires.
- `order.draft`: Draft an order from one of your confirmed quotes. The signer named on your mandate is asked to sign in. No checkout URL is returned.
- `order.get`: Get one of your orders: status, amounts, paperwork profile, envelope status and timestamps, signed time, signer name, and timeline. Does not include the signer's email or a signing URL.
- `quote.cancel`: Cancel one of your own open quotes by quote_id. Needs an API key with a quote mandate from your owner. Another agent's quote returns quote_not_found. Returns the quote_id and its new status.
- `quote.get`: Get one of your quotes: status, lines, totals, validity, and order id once ordered.
- `quote.request`: Request a price quote for one catalog service (service_id from catalog.search). Needs an API key with a quote mandate from your owner; the mandate's spending ceiling and daily quote limits apply. Repeating a client_reference returns the same quote instead of a new one. Supply configuration per catalog.order_schema.get. Returns quote_id, status, respond_by and list price; read the result later with quote.get. Does not place an order.
