# SAGOT (remote · sagots.com)

AI voice agents that place and answer phone calls, with transcripts and outcomes.

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- remote · `sagots.com`: 74/100 (this document), [markdown](https://verifymcp.io/servers/com-sagots-sagot/sagots.md), [page](https://verifymcp.io/servers/com-sagots-sagot/sagots)

## Channel facts

- Endpoint: `https://sagots.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-23.

- **Endpoint Security**: 92/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 57/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 8726 tokens (~64/item across 136 items; 136 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 68/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 5% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 17 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "waitlist_delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 136 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the SAGOT MCP server?

SAGOT is a hosted endpoint at https://sagots.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-sagots-sagot 'https://sagots.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-sagots-sagot": {
      "url": "https://sagots.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-sagots-sagot": {
      "type": "http",
      "url": "https://sagots.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-sagots-sagot]
url = "https://sagots.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-sagots-sagot": {
      "type": "remote",
      "url": "https://sagots.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-sagots-sagot --url 'https://sagots.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-sagots-sagot:
    url: "https://sagots.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-sagots-sagot": {
      "Transport": "http",
      "Url": "https://sagots.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-sagots-sagot -t streamable-http -u 'https://sagots.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-sagots-sagot": {
      "type": "http",
      "url": "https://sagots.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-23 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 73, +1)

- [security] Tool “lines_update” rewrote its description, which is the text the model reads
- [security] Tool “usage_get” rewrote its description, which is the text the model reads
- [cosmetic] “lines_update” added an optional parameter “carrierRate”

### 2026-10-19 (score 72, +1)

- [security] Tool “calls_create” rewrote its description, which is the text the model reads
- [security] Tool “lines_create” rewrote its description, which is the text the model reads
- [security] Tool “lines_update” rewrote its description, which is the text the model reads
- [functional] New tool “billing_get”
- [functional] New tool “billing_topUp”
- [functional] New tool “lines_confirmNumber”
- [functional] New tool “lines_verifyNumber”
- [functional] New tool “platform_settings_get”
- [functional] New tool “platform_settings_update”

### 2026-10-18 (score 71, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-17 (score 71)

First indexed and scored.

## MCP tools (136)

### `access_info` (~33 tokens)

Read public registration availability (closed alpha is the default) and whether the caller's session or credential is valid (signedIn).

### `waitlist_join` (~68 tokens)

Request alpha participation with contact consent. Does not create an account or send email.

Input parameters:

- `company` (string)
- `consent` (boolean, required)
- `email` (string, required)
- `name` (string, required)
- `useCase` (string)
- `website` (string)

### `waitlist_list` (~47 tokens)

Platform operators only: review the alpha queue, oldest first, with status and pagination.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `status` (string)

### `waitlist_update` (~36 tokens)

Platform operators only: mark an applicant waiting, contacted or closed.

Input parameters:

- `id` (string, required)
- `status` (string, required)

### `waitlist_delete` (~37 tokens)

Platform operators only: permanently remove an applicant's waitlist information. Does not delete their account or invitations.

Input parameters:

- `id` (string, required)

### `invitations_create` (~60 tokens)

Platform operators only: issue an email-bound, single-use private invitation. Returns the token once; share privately. Does not send email. Replaces prior unused invitations for that email.

Input parameters:

- `email` (string, required)
- `expiresInDays` (integer)

### `invitations_list` (~35 tokens)

Platform operators only: list invitation states without tokens, newest first.

Input parameters:

- `limit` (integer)
- `offset` (integer)

### `invitations_revoke` (~30 tokens)

Platform operators only: revoke an unused invitation. Existing accounts are unaffected.

Input parameters:

- `id` (string, required)

### `account_register` (~99 tokens)

SAGOT account.register. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `acceptTerms` (boolean, required): Must be true: you accept the current Terms of Service (/terms), Data Processing Addendum (/data-processing) and Privacy Notice (/privacy).
- `email` (string, required)
- `invitationToken` (string)
- `memberInvitationToken` (string)
- `name` (string, required)
- `password` (string, required)

### `account_login` (~63 tokens)

SAGOT account.login. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `code` (string): Two-step sign-in: the 6-digit authenticator code or a recovery code.
- `email` (string, required)
- `password` (string, required)

### `account_me` (~26 tokens)

SAGOT account.me. Uses the same authorization and validation as website, API and CLI.

### `account_logout` (~26 tokens)

SAGOT account.logout. Uses the same authorization and validation as website, API and CLI.

### `account_acceptTerms` (~61 tokens)

Signed-in session only: accept the current Terms of Service, Data Processing Addendum and Privacy Notice (version from account.me termsVersion). Records the version and time on your account.

Input parameters:

- `version` (string, required): The termsVersion you accept (see account.me).

### `account_mfaSetup` (~65 tokens)

Signed-in session only: start turning on two-step sign-in. Confirms your password and returns a new authenticator secret and otpauth:// URI (scan as a QR code). Nothing changes until account.mfaEnable confirms a code.

Input parameters:

- `password` (string, required)

### `account_mfaEnable` (~65 tokens)

Signed-in session only: confirm a 6-digit code from the authenticator app to turn two-step sign-in on. Returns 10 one-time recovery codes once; store them safely. Sign-in then needs a code (account.login code).

Input parameters:

- `code` (string, required)

### `account_mfaDisable` (~57 tokens)

Signed-in session only: turn two-step sign-in off with your password and a current code or recovery code. SAGOT staff cannot use the platform console without it.

Input parameters:

- `code` (string, required)
- `password` (string, required)

### `account_mfaRecoveryCodes` (~41 tokens)

Signed-in session only: replace all recovery codes after confirming a current code. Returns the 10 new codes once.

Input parameters:

- `code` (string, required)

### `account_delete` (~88 tokens)

Signed-in session only: delete your own SAGOT account after confirming your password. Refused while you own a workspace (transfer ownership or delete it first) or hold a SAGOT staff role. Removes you from every workspace, revokes your sessions and API keys and anonymises your account; your email can register again.

Input parameters:

- `password` (string, required): Your current password, to confirm it is you.

### `assistants_preview` (~65 tokens)

Check an OAuth authorization request from an AI assistant (Claude, ChatGPT, Gemini or any MCP client) before consent: returns the assistant's name, the address it returns to, the scopes requested in plain words, or the problem with the request.

Input parameters:

- `request` (object, required)

### `assistants_authorize` (~99 tokens)

Signed-in session only: allow (with a workspaceId) or deny an AI assistant's request to use SAGOT. Allowing gives that assistant the listed scopes in one workspace — never admin, never more than your role — and returns redirectTo, the address to send the browser back to.

Input parameters:

- `allow` (boolean, required)
- `request` (object, required)
- `workspaceId` (string): Workspace the assistant may use; required to allow.

### `assistants_list` (~33 tokens)

Signed-in session only: AI assistants connected to your account through OAuth, with workspace, scopes, when connected and last used.

### `assistants_revoke` (~42 tokens)

Signed-in session only: disconnect an AI assistant. Its access and refresh tokens stop working immediately; it must ask again to reconnect.

Input parameters:

- `id` (string, required)

### `assistants_clients_create` (~80 tokens)

Signed-in session only: create an OAuth client ID and secret for an assistant that asks for them, such as Gemini Enterprise (redirect https://vertexaisearch.cloud.google.com/oauth-redirect). The secret is returned once. People who sign in through it still choose their own workspace.

Input parameters:

- `name` (string, required)
- `redirectUris` (array, required)

### `assistants_clients_list` (~27 tokens)

Signed-in session only: OAuth client IDs you created for assistants, with their redirect addresses.

### `assistants_clients_revoke` (~42 tokens)

Signed-in session only: revoke an OAuth client ID you created; assistants using it can no longer sign in or refresh tokens.

Input parameters:

- `id` (string, required)

### `workspaces_create` (~89 tokens)

SAGOT workspaces.create. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `kind` (string): personal: calling hours 9–20 every day and a published agent that calls businesses for you (phase 41-02).
- `name` (string, required)
- `timezone` (string): IANA time zone for calling hours, e.g. America/New_York.

### `workspaces_list` (~28 tokens)

SAGOT workspaces.list. Uses the same authorization and validation as website, API and CLI.

### `workspaces_update` (~43 tokens)

SAGOT workspaces.update. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `name` (string, required)
- `workspaceId` (string, required)

### `workspaces_region` (~176 tokens)

Owner only, signed-in session: choose where AI providers process this workspace's call audio and text — "eu" (European Union) or "us" (United States). No call starts until a region is chosen. Choosing it means accepting this statement: "I am the owner of this workspace. I have chosen this processing region myself and confirm it meets the data protection laws, contracts and customer commitments that apply to this workspace and the people it calls. SAGOT processes call audio and text in the region I choose and is not responsible for the consequences of choosing a region that does not meet those obligations." Applies to calls queued after the change.

Input parameters:

- `acceptResponsibility` (boolean, required): Must be true: the owner accepts processingRegionStatement (see the description).
- `region` (string, required)
- `workspaceId` (string, required)

### `workspaces_delete` (~118 tokens)

Owner only, signed-in session: permanently delete this workspace and everything in it — agents, contacts, calls, recordings, transcripts, lines, API keys and members' access. confirmName must equal the workspace name. Refused while calls are active or a Twilio line exists (delete it first so SAGOT removes what it created in your Twilio account). Cannot be undone; backups expire within about 31 days.

Input parameters:

- `confirmName` (string, required): The workspace's exact current name, to confirm.
- `workspaceId` (string, required)

### `members_list` (~50 tokens)

List the people in this workspace with their roles (viewer, editor, operator, admin, owner). Admins also see invitations and their status; tokens are never shown.

Input parameters:

- `workspaceId` (string, required)

### `members_invite` (~131 tokens)

Admins: invite an email to this workspace with a role, optionally limited to agentIds (viewer/editor/operator only). SAGOT emails the invitation when email is configured; the one-time link path (/join#member=…) is also returned once as a fallback. The invitee signs in or creates an account with that email. Only the owner can invite admins. Re-inviting an email replaces its earlier pending invitation.

Input parameters:

- `agentIds`
- `email` (string, required)
- `expiresInDays` (integer)
- `role` (string, required)
- `workspaceId` (string, required)

### `members_update` (~91 tokens)

Admins: change a member's role and, with agentIds, limit a viewer/editor/operator to selected agents (null = all agents). Takes effect on their next request, including their API keys. The owner's role cannot change; only the owner grants or removes admin.

Input parameters:

- `accountId` (string, required)
- `agentIds`
- `role` (string, required)
- `workspaceId` (string, required)

### `members_transfer` (~56 tokens)

Owner only, signed-in session: make another member the owner. You become an admin; any agent limit on them is removed. The new owner is emailed.

Input parameters:

- `accountId` (string, required)
- `workspaceId` (string, required)

### `members_remove` (~56 tokens)

Admins remove a member; any member may remove themselves to leave. The owner cannot be removed. Their sessions and API keys stop working in this workspace immediately.

Input parameters:

- `accountId` (string, required)
- `workspaceId` (string, required)

### `members_revoke` (~40 tokens)

Admins: revoke a pending member invitation by id so its link stops working.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `members_preview` (~39 tokens)

Public: show what a member invitation link grants (workspace, inviter, role, invited email, status) before accepting.

Input parameters:

- `token` (string, required)

### `members_accept` (~39 tokens)

Signed-in account session only: accept a member invitation issued to this account's email and join the workspace with its role.

Input parameters:

- `token` (string, required)

### `credentials_create` (~48 tokens)

SAGOT credentials.create. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `name` (string, required)
- `scopes` (array, required)
- `workspaceId` (string, required)

### `credentials_list` (~34 tokens)

SAGOT credentials.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `workspaceId` (string, required)

### `credentials_revoke` (~43 tokens)

SAGOT credentials.revoke. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `agents_create` (~41 tokens)

SAGOT agents.create. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `persona` (object, required)
- `workspaceId` (string, required)

### `agents_list` (~48 tokens)

SAGOT agents.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `agents_get` (~41 tokens)

SAGOT agents.get. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `agents_save` (~55 tokens)

SAGOT agents.save. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `persona` (object, required)
- `revision` (integer, required)
- `workspaceId` (string, required)

### `agents_test` (~59 tokens)

Validate the current draft and its integration. This is configuration validation, not a voice-quality score. Use a draft SIP call to hear the result.

Input parameters:

- `id` (string, required)
- `revision` (integer, required)
- `workspaceId` (string, required)

### `agents_publish` (~45 tokens)

Publish a validated draft for new calls. Active calls keep their original snapshot.

Input parameters:

- `id` (string, required)
- `revision` (integer, required)
- `workspaceId` (string, required)

### `agents_pause` (~41 tokens)

SAGOT agents.pause. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `agents_rollback` (~40 tokens)

Point new calls to a previous published version.

Input parameters:

- `id` (string, required)
- `version` (string, required)
- `workspaceId` (string, required)

### `agents_retire` (~50 tokens)

SAGOT agents.retire. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `version` (string, required)
- `workspaceId` (string, required)

### `integrations_save` (~127 tokens)

SAGOT integrations.save. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `actionName` (string)
- `description` (string): When the agent should use this action and what it accomplishes.
- `endpoint` (string)
- `eventEndpoint` (string)
- `id` (string)
- `mode` (string, required)
- `name` (string, required)
- `reconciliationEndpoint` (string)
- `requiredFields` (array)
- `revision` (integer)
- `secret` (string)
- `workspaceId` (string, required)

### `integrations_list` (~48 tokens)

SAGOT integrations.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `integrations_get` (~41 tokens)

SAGOT integrations.get. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `integrations_test` (~46 tokens)

Exercise the connector with a test payload. Sandbox never writes to an external product.

Input parameters:

- `id` (string, required)
- `payload` (object)
- `workspaceId` (string, required)

### `integrations_disconnect` (~41 tokens)

SAGOT integrations.disconnect. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `contacts_import` (~41 tokens)

SAGOT contacts.import. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `contacts` (array, required)
- `workspaceId` (string, required)

### `contacts_list` (~48 tokens)

SAGOT contacts.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `contacts_history` (~54 tokens)

Review all retained calls, conversations, outcomes, actions, follow-ups and activity for one contact across agents in this workspace. Missing or deleted evidence is labeled.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `contacts_export` (~60 tokens)

Export the contact's retained evidence as a readable Markdown or structured JSON audit snapshot. Export is logged; it does not create recordings or recover deleted content.

Input parameters:

- `format` (string)
- `id` (string, required)
- `workspaceId` (string, required)

### `contacts_update` (~69 tokens)

SAGOT contacts.update. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `eligibility` (string, required)
- `id` (string, required)
- `name` (string, required)
- `revision` (integer, required)
- `source` (string, required)
- `workspaceId` (string, required)

### `contacts_suppress` (~43 tokens)

Permanently suppress this contact from new calls in this workspace.

Input parameters:

- `id` (string, required)
- `reason` (string, required)
- `workspaceId` (string, required)

### `contacts_erase` (~227 tokens)

Admins: permanently erase one person's personal data from this workspace — by contact id or by phone number (destination), including inbound callers who are not contacts. Removes the contact, its activity history, and every call's recording, transcript, outcome, number and linked action/handoff content. Calls keep only time, status, duration and cost. Refused while a call with them is active or one of their actions is unresolved. With doNotCall (always, if they had opted out) a one-way fingerprint of the number keeps them from being called or answered again. Use for data-subject erasure requests; download the audit first if you need to answer an access request.

Input parameters:

- `destination`: Erase by number, e.g. an inbound caller who is not a contact.
- `doNotCall` (boolean): Keep the number on this workspace's do-not-call list as a one-way fingerprint. Always kept when the contact had opted out.
- `id` (string): The contact to erase. Give this or destination, not both.
- `workspaceId` (string, required)

### `campaigns_save` (~86 tokens)

SAGOT campaigns.save. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `agentId` (string, required)
- `budgetCentavos` (integer, required)
- `contactIds` (array, required)
- `id` (string)
- `lineId`
- `name` (string, required)
- `revision` (integer)
- `workspaceId` (string, required)

### `campaigns_list` (~48 tokens)

SAGOT campaigns.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `campaigns_get` (~41 tokens)

SAGOT campaigns.get. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `campaigns_preview` (~37 tokens)

Inspect eligible contacts, exclusion reasons and the maximum reserved cost without dialing.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `campaigns_start` (~41 tokens)

SAGOT campaigns.start. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `campaigns_pause` (~41 tokens)

SAGOT campaigns.pause. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `campaigns_resume` (~41 tokens)

SAGOT campaigns.resume. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `campaigns_cancel` (~41 tokens)

SAGOT campaigns.cancel. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `calls_create` (~272 tokens)

Queue one call with an agent to a contact. Give `task` for what this one call must achieve (the personal starter agent follows it). During the alpha a line only calls its test numbers, unless it is a SAGOT number line in live mode. Calls on SAGOT numbers reserve their maximum cost from the prepaid balance (BALANCE_TOO_LOW, SPEND_LIMIT_REACHED, COUNTRY_NOT_SUPPORTED). When an AI assistant connected by OAuth asks for a call and the policy's assistantCallApproval is on (default), the call is created with status awaiting_approval and nothing dials until a person approves it on the website: tell them, and give them the returned approvalUrl. It is canceled if not approved within 24 hours. Then read the result with calls.get.

Input parameters:

- `agentId` (string, required)
- `contactId` (string, required)
- `draft` (boolean)
- `idempotencyKey` (string, required)
- `lineId` (string)
- `task` (string): What this one call must achieve, in plain words — e.g. 'Ask for a table for 4 on Friday 18 Oct at 7pm under Cruz; 7–8pm is fine; no deposit.' Given to the agent beneath its instructions.
- `workspaceId` (string, required)

### `calls_list` (~48 tokens)

SAGOT calls.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `calls_get` (~41 tokens)

SAGOT calls.get. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `calls_recording` (~62 tokens)

Get recording availability and authenticated audio URL. Fetch that URL with the same bearer credential to play/download Ogg audio; CLI supports --output file. Older unrecorded calls have no audio.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `calls_cancel` (~46 tokens)

Cancel a queued or active call. On a finished call with a scheduled automatic retry, cancels that retry instead.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `calls_approve` (~63 tokens)

Signed-in session only (a person, not an API key or assistant): approve a call an AI assistant asked for (status awaiting_approval). Eligibility is checked again and the call is queued.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `calls_decline` (~47 tokens)

Signed-in session only: decline a call an AI assistant asked for. It is canceled and its reserved budget released.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `actions_list` (~48 tokens)

SAGOT actions.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `actions_reconcile` (~40 tokens)

Query the owning system about an uncertain action. Does not repeat the business write.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `handoffs_list` (~50 tokens)

SAGOT handoffs.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `handoffs_update` (~64 tokens)

SAGOT handoffs.update. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `owner` (string, required)
- `revision` (integer, required)
- `status` (string, required)
- `workspaceId` (string, required)

### `events_list` (~48 tokens)

SAGOT events.list. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `cursor` (string)
- `limit` (integer)
- `workspaceId` (string, required)

### `events_replay` (~35 tokens)

Retry delivery of this event with its original event ID.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `policies_get` (~34 tokens)

SAGOT policies.get. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `workspaceId` (string, required)

### `policies_update` (~48 tokens)

SAGOT policies.update. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `policy` (object, required)
- `revision` (integer, required)
- `workspaceId` (string, required)

### `usage_get` (~132 tokens)

SAGOT charges, reservations and credits for the workspace (PHP centavos, by line and per call in `ledger`), plus phone carrier costs (phase 44): `carrierCosts` totals per currency, `carrierPendingCalls` still waiting for the provider's price, per line `carrierCosts` and `carrierCostTracking` (provider = Twilio's actual price, line_rate = your rate on the line, included = in SAGOT's charge, not_tracked), and per call `carrierCost`. Carrier costs are billed by your carrier, not SAGOT.

Input parameters:

- `workspaceId` (string, required)

### `billing_get` (~99 tokens)

The workspace's prepaid balance for calls on SAGOT numbers (PHP centavos): balance (paid top-ups + SAGOT credits − charges), reserved for calls in progress, available, this month's spend and the optional monthly cap (policy monthlySpendLimitCentavos, null = none), recent top-ups, the proposed rate per country and whether card top-ups are offered. Other line types are not paid from the balance.

Input parameters:

- `workspaceId` (string, required)

### `billing_topUp` (~97 tokens)

Admin only, never an assistant: start a card payment (Stripe Checkout) that adds amountCentavos (₱500–₱50,000) to the prepaid balance. Returns `checkoutUrl`; give it to the person to pay. The balance rises when Stripe confirms the payment. Fails PAYMENTS_UNAVAILABLE when this deployment takes no payments.

Input parameters:

- `amountCentavos` (integer, required)
- `workspaceId` (string, required)

### `routes_list` (~36 tokens)

Deprecated alias of lines.list: offered routes with health and the workspace's default line as `bound`.

Input parameters:

- `workspaceId` (string, required)

### `routes_bind` (~55 tokens)

Deprecated alias: add (if needed) and make default the line for this route; inboundAgentId as in lines.update.

Input parameters:

- `inboundAgentId`
- `route` (string, required)
- `workspaceId` (string, required)

### `routes_clearAlert` (~30 tokens)

Deprecated alias of lines.clearAlert for the workspace's default line.

Input parameters:

- `workspaceId` (string, required)

### `lines_list` (~57 tokens)

List this workspace's phone lines (provider, default, mode, test numbers, ring window, live health, inbound answering, telco warning) and the providers this deployment offers. Secrets are never returned.

Input parameters:

- `workspaceId` (string, required)

### `lines_get` (~34 tokens)

Read one phone line with its live health and warning.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `lines_create` (~323 tokens)

Add a phone line from an offered provider. Adding never dials. The first line becomes the default for new calls and campaigns. Lines start in test mode: only the line's test numbers can be called. A `gateway` line (your own computer + phone) returns a one-time `pairing.code` (30 minutes) that the SAGOT gateway app exchanges for its own credential; the code is shown only once. A `twilio` line connects your own Twilio account: pass accountSid, apiKeySid, apiKeySecret (a Standard API key; write-only) and the numbers to attach (lines.twilioNumbers lists them). SAGOT creates an Elastic SIP Trunk, a credential list, an origination URL and attaches the numbers in your account, records every object it created and removes exactly those when the line is deleted. Twilio bills the calls to your account. A `sagot` line (SAGOT number, one per workspace) calls from SAGOT's shared numbers and is paid from the workspace's prepaid balance (billing.get shows rates); it can't receive calls. Add its test numbers with lines.verifyNumber and lines.confirmNumber.

Input parameters:

- `accountSid` (string)
- `apiKeySecret` (string)
- `apiKeySid` (string)
- `callerId` (string)
- `edge` (string)
- `isDefault` (boolean)
- `name` (string)
- `numbers` (array)
- `provider` (string, required)
- `workspaceId` (string, required)

### `lines_twilioNumbers` (~95 tokens)

Check a Twilio Standard API key (accountSid, apiKeySid, apiKeySecret) and list the account's voice-capable numbers and whether Twilio is reachable. Changes nothing and stores nothing. Use it before lines.create with provider twilio.

Input parameters:

- `accountSid` (string, required)
- `apiKeySecret` (string, required)
- `apiKeySid` (string, required)
- `workspaceId` (string, required)

### `lines_update` (~309 tokens)

Rename a line, make it the default, choose the published inboundAgentId that answers its callers (gateway lines; null stops answering), set testNumbers (customer gateway and Twilio lines), rotatePairing to issue a new pairing code and sign the paired device out, or capacity (Twilio lines: concurrent calls 1–10; phone gateways, SAGOT numbers and shared routes carry one call). The deployment also caps concurrent calls overall. On a SAGOT number line testNumbers can only remove numbers (add them with lines.verifyNumber). `carrierRate` {amountPerMinute, currency, increment minute|second} (null clears) records what your carrier charges on lines whose provider doesn't report prices (phone gateway SIM): calls then show an estimated carrier cost. Twilio lines report Twilio's actual price instead; SAGOT number lines include telecom in SAGOT's charge. `mode: "live"` (admin, not an assistant) lets a SAGOT number line call any number in a supported country once SAGOT has turned live calling on; otherwise it fails LIVE_MODE_UNAVAILABLE.

Input parameters:

- `capacity` (integer)
- `carrierRate`
- `id` (string, required)
- `inboundAgentId`
- `isDefault` (boolean)
- `mode` (string)
- `name` (string)
- `revision` (integer, required)
- `rotatePairing` (boolean)
- `testNumbers` (array)
- `workspaceId` (string, required)

### `lines_verifyNumber` (~96 tokens)

SAGOT number lines, admin only (never an assistant): send a verification code to a phone number the person owns, by SMS (default) or a voice call (`channel: "call"`). Then call lines.confirmNumber with the code. Verified numbers can be called in test mode.

Input parameters:

- `channel` (string)
- `id` (string, required)
- `number` (string, required)
- `workspaceId` (string, required)

### `lines_confirmNumber` (~80 tokens)

SAGOT number lines, admin only: check the code sent by lines.verifyNumber and add the number to the line's test numbers. A wrong or expired code fails VERIFICATION_FAILED; send a new one.

Input parameters:

- `code` (string, required)
- `id` (string, required)
- `number` (string, required)
- `workspaceId` (string, required)

### `lines_test` (~51 tokens)

Check a line's readiness without dialing: provider offered, health, test numbers. Use calls.create with lineId for a real test call.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `lines_clearAlert` (~61 tokens)

Clear this line's telco warning after fixing the cause (for example topping up the gateway SIM). Held automatic retries and campaigns on this line resume. An answered call also clears it.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `lines_delete` (~90 tokens)

Remove a phone line. Refused while it has active calls. For a Twilio line SAGOT first deletes the trunk, credentials and origination URL it created in your account and detaches your numbers (the numbers stay yours). Finished calls keep their history; scheduled retries on it are skipped. Another line becomes the default if needed.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `artifacts_export` (~41 tokens)

SAGOT artifacts.export. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `artifacts_delete` (~41 tokens)

SAGOT artifacts.delete. Uses the same authorization and validation as website, API and CLI.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `platform_overview` (~55 tokens)

Platform staff only (account session). Platform totals: accounts, workspaces (active/suspended), calls today and in 30 days, connected minutes, active calls, charges, lines with problems, pending support requests and waitlist.

### `platform_health` (~50 tokens)

Platform staff only (account session). Health of the database, worker, media (LiveKit), email outbox and paired gateway devices, with the deployment's concurrent-call ceiling and current active calls. Read-only.

### `platform_staff_list` (~43 tokens)

Platform staff only (account session). People with a platform role (owner, admin, support, finance). Bootstrap owners come from the server configuration and cannot be revoked here.

### `platform_staff_grant` (~75 tokens)

Platform staff only (account session). Requires the staff scope. Give an existing account (by email) a platform role. Owners grant any role; admins grant support or finance. Replaces the account's earlier platform role. Takes effect on the next request.

Input parameters:

- `email` (string, required)
- `role` (string, required)

### `platform_staff_revoke` (~55 tokens)

Platform staff only (account session). Requires the staff scope. Remove an account's platform role. Admins cannot revoke owners or admins; the last owner and bootstrap owners cannot be removed.

Input parameters:

- `accountId` (string, required)

### `platform_audit_list` (~80 tokens)

Platform staff only (account session). Append-only log of platform actions and staff reads under support access, newest first; filter by actorId, targetId or operation.

Input parameters:

- `actorId` (string)
- `limit` (integer)
- `offset` (integer)
- `operation` (string)
- `targetId` (string)

### `platform_workspaces_list` (~77 tokens)

Platform staff only (account session). Every workspace with owner, members, lines, 30-day calls and charges, status and limits. Search by workspace name or owner email. No customer content.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `query` (string)
- `status` (string)

### `platform_workspaces_get` (~67 tokens)

Platform staff only (account session). One workspace: owner, members and roles, lines with health, agents, 30-day usage, calling policy summary, suspension, limits, credits and recent platform actions. No transcripts, recordings or contact details.

Input parameters:

- `workspaceId` (string, required)

### `platform_workspaces_suspend` (~75 tokens)

Platform staff only (account session). Requires manage. Suspend a workspace with a reason shown to its members: they can still read and export, every other action fails WORKSPACE_SUSPENDED, queued outbound calls are canceled and inbound calls are not answered.

Input parameters:

- `reason` (string, required)
- `workspaceId` (string, required)

### `platform_workspaces_reactivate` (~42 tokens)

Platform staff only (account session). Requires manage. Lift a workspace suspension. Calls canceled during the suspension stay canceled.

Input parameters:

- `workspaceId` (string, required)

### `platform_workspaces_limits` (~68 tokens)

Platform staff only (account session). Requires manage. Cap how many calls the workspace carries at once across all its lines (1–50, null = no workspace cap). Line capacity and the deployment ceiling still apply.

Input parameters:

- `maxConcurrentCalls` (required)
- `workspaceId` (string, required)

### `platform_accounts_list` (~68 tokens)

Platform staff only (account session). Every account with email, name, created time, workspaces, platform role and suspension. Search by email or name.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `query` (string)
- `status` (string)

### `platform_accounts_get` (~44 tokens)

Platform staff only (account session). One account: workspaces with roles, platform role, active sessions and API keys count, suspension.

Input parameters:

- `accountId` (string, required)

### `platform_accounts_suspend` (~63 tokens)

Platform staff only (account session). Requires manage. Suspend an account: its sessions and API keys stop working and sign-in is refused until reactivated. You cannot suspend yourself or a platform owner.

Input parameters:

- `accountId` (string, required)
- `reason` (string, required)

### `platform_accounts_reactivate` (~55 tokens)

Platform staff only (account session). Requires manage. Allow the account to sign in again. Revoked sessions and API keys stay revoked; the person signs in again and creates new keys.

Input parameters:

- `accountId` (string, required)

### `platform_lines_list` (~83 tokens)

Platform staff only (account session). Phone lines across workspaces with provider, mode, capacity, live health, telco warning and active calls. problems=true lists only lines that are unhealthy or have a warning. Never returns secrets.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `problems` (boolean)
- `provider` (string)

### `platform_calls_list` (~91 tokens)

Platform staff only (account session). Call metadata across workspaces, newest first: workspace, direction, line, status, outcome, duration, charge. Numbers are masked; no transcripts or recordings.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `outcome` (string)
- `since` (string)
- `status` (string)
- `workspaceId` (string)

### `platform_blocklist_list` (~40 tokens)

Platform staff only (account session). SAGOT's platform do-not-call list.

Input parameters:

- `limit` (integer)
- `offset` (integer)

### `platform_blocklist_add` (~74 tokens)

Platform staff only (account session). Requires manage. Add a number to the platform do-not-call list: no workspace can call it; queued calls to it are canceled. Customers see only that the number is on SAGOT's do-not-call list.

Input parameters:

- `number` (string, required)
- `reason` (string, required)

### `platform_blocklist_remove` (~38 tokens)

Platform staff only (account session). Requires manage. Remove a number from the platform do-not-call list.

Input parameters:

- `number` (string, required)

### `platform_usage` (~65 tokens)

Platform staff only (account session). Usage for a month (YYYY-MM, default this month) per workspace: calls, connected minutes, charges, credits and net, with platform totals. Rates are proposed (docs/11); no payment is collected.

Input parameters:

- `month` (string)

### `platform_credits_grant` (~73 tokens)

Platform staff only (account session). Requires billing. Credit a workspace (centavos, PHP) with a reason the customer sees. Credits are append-only; correct one with a negative amount.

Input parameters:

- `amountCentavos` (integer, required)
- `reason` (string, required)
- `workspaceId` (string, required)

### `platform_credits_list` (~50 tokens)

Platform staff only (account session). Credits granted, newest first; filter by workspaceId.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `workspaceId` (string)

### `platform_settings_get` (~53 tokens)

Platform staff only (account session). Platform switches: managedLiveCalling (SAGOT number lines in live mode may call any number in a supported country) and whether payments and SAGOT numbers are configured on this deployment.

### `platform_settings_update` (~84 tokens)

Platform staff only (account session). Requires manage. Turn live calling from SAGOT numbers on or off for every workspace. Off: live-mode SAGOT lines call only their verified numbers again, effective before the next dial. Audited.

Input parameters:

- `managedLiveCalling` (boolean, required): Let SAGOT number lines in live mode call any number in a supported country (phase 42).

### `platform_access_request` (~73 tokens)

Platform staff only (account session). Requires support. Ask a workspace's owner and admins for read-only support access for 1–72 hours, with a reason they see. Nothing is accessible until they approve.

Input parameters:

- `hours` (integer)
- `reason` (string, required)
- `workspaceId` (string, required)

### `platform_access_list` (~56 tokens)

Platform staff only (account session). Your support access requests and grants with status (pending, active, denied, expired, ended — withdrawn or revoked) and expiry.

Input parameters:

- `limit` (integer)
- `offset` (integer)

### `platform_access_end` (~34 tokens)

Platform staff only (account session). End your own pending request or active support access early.

Input parameters:

- `id` (string, required)

### `platform_subprocessors_notify` (~107 tokens)

Platform staff only (account session). Requires manage. Email every workspace owner (one email per person) that SAGOT will add or replace a sub-processor on effectiveOn — at least 30 days ahead, as the Data Processing Addendum promises — with how to object. Describe what changes, its purpose and location in change. Audited.

Input parameters:

- `change` (string, required)
- `effectiveOn` (string, required): YYYY-MM-DD, at least 30 days from today (UTC).

### `support_list` (~39 tokens)

Workspace admins: SAGOT support access requests and grants for this workspace, with what staff read while access was active.

Input parameters:

- `workspaceId` (string, required)

### `support_approve` (~58 tokens)

Workspace admins: approve a pending SAGOT support access request. The staff member gets read-only access for the requested hours, starting now. Nothing can be changed by staff.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `support_deny` (~36 tokens)

Workspace admins: deny a pending SAGOT support access request.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

### `support_revoke` (~35 tokens)

Workspace admins: end active SAGOT support access immediately.

Input parameters:

- `id` (string, required)
- `workspaceId` (string, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-sagots-sagot/sagots#diagnostics

## Score history

- 2026-10-23: 74
- 2026-10-22: 73
- 2026-10-21: 73
- 2026-10-20: 72
- 2026-10-19: 72
- 2026-10-18: 71
- 2026-10-17: 71

## Common questions

### What is the SAGOT MCP server?

SAGOT is an MCP server listed in the public MCP registry as com.sagots/sagot. AI voice agents that place and answer phone calls, with transcripts and outcomes. This page covers its hosted endpoint (https://sagots.com/mcp).

### Is the SAGOT MCP server safe to use?

SAGOT scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the SAGOT MCP server expose?

SAGOT exposes 136 tools: access_info, waitlist_join, waitlist_list, waitlist_update, waitlist_delete, and 131 more. Their descriptions and schemas cost roughly 8,726 tokens of context every time the server is loaded.

### Does the SAGOT MCP server require authentication?

Yes. SAGOT asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the SAGOT MCP server still maintained?

SAGOT is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://sagots.com/mcp
- Website: https://sagots.com/docs/mcp-quickstart
- Changelog RSS feed: https://verifymcp.io/servers/com-sagots-sagot/sagots.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-sagots-sagot/sagots.json
- HTML version of this page: https://verifymcp.io/servers/com-sagots-sagot/sagots
