mcpbeat Sign in

Anima MCP Server

by anima-labs-ai Your server? Claim it
answering

Anima is answering right now. Last checked 2 min ago. It exposes 67 tools. Last commit 13 Sep 2026.

Give your AI agent an identity it owns: email inbox, US phone number, SMS, voice, and a vault.

Uptime history 14 days of history
14 days agonow
100.0%
Uptime 24h
92 of 92 checks
67
Tools
read from the server
264 ms
Response time
average over 24h
1
Stars
last commit 13 Sep 2026

What the code does

We read the source, 22 h ago · tools taken from the live server · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

    "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAALzUlEQVR4nO1ce2wcxRmfmZ3de/jsOOfEju3E5PyIYx4VCBJom6RqmoQkFEFFJdTCP1WhragEVKgVCMIfVVFpaVrRB39UCIqKkCJQn2oFSSCkBFwKDQpJI2Infsb4bcf2PXd3Zqpv9ja5kHvZ55C9MD/pEt/t7Ly+2e/75vfNtwgpKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKFxuwAULkIJF8kI…
Long encoded blob in source src/shared/config.ts:49
    "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAALzUlEQVR4nO1ce2wcxRmfmZ3de/jsOOfEju3E5PyIYx4VCBJom6RqmoQkFEFFJdTCP1WhragEVKgVCMIfVVFpaVrRB39UCIqKkCJQn2oFSSCkBFwKDQpJI2Infsb4bcf2PXd3Zqpv9ja5kHvZ55C9MD/pEt/t7Ly+2e/75vfNtwgpKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKFxuwAULkIJF8kI…

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 2 min ago.

run in your terminal
claude mcp add anima --transport http https://mcp.useanima.sh/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "anima": {
      "url": "https://mcp.useanima.sh/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.anima]
url = "https://mcp.useanima.sh/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "anima": {
      "url": "https://mcp.useanima.sh/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "anima": {
      "url": "https://mcp.useanima.sh/mcp"
    }
  }
}

Available tools 67

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

email
email_attachment_get
Get a temporary download URL for an email attachment. Use this when you need direct file access for preview or download.
email_draft_create
Create a new email draft (composed but not sent). Drafts can be incomplete — missing recipients, subject, or body. Use email_draft_send later to actually deliver, or email_draft_delete to discard.
email_draft_delete
Discard a draft. Use this to remove drafts that are no longer needed. Use email_draft_send if you want to deliver instead.
email_draft_get
Fetch full detail for a single draft by ID. Use email_draft_list to browse drafts.
email_draft_list
List email drafts with optional filters. Returns lightweight draft records — use email_draft_get for full detail.
email_draft_send
Send a draft. Atomically converts the draft to a delivered Message + deletes the draft row. The draft must have at least one recipient, a subject, and a body. Returns the newly-created Message.
email_forward
Forward an existing email to another recipient by loading the original content first. Use this to share a prior message while preserving context.
email_get
Fetch full detail for a single email by ID, including metadata and body. Use email_list to browse emails in a folder.
email_label
Add and/or remove labels on one message — the agent's workflow state. Use this to mark mail read/unread (`read`/`unread`), archive it (`archived`), or apply your own tags, then filter with email_list's `labels`. Supply at least one of addLabels/removeLabels. One message per call: there is no batch form.
email_list
List emails with cursor pagination. Returns lightweight per-email records plus a `pagination` object — pass `pagination.nextCursor` back as `cursor` for the next page. Use email_get for the full body, email_search to find specific messages.
email_reply
Reply to an existing email thread by first loading the original message and setting threading headers. Use this when you need a proper in-thread response.
email_search
Search messages by content. Fulltext mode (default) substring-matches subject/body/addresses of EMAIL messages and returns `{items, pagination}` with cursor paging. Semantic mode ranks by vector-embedding similarity and returns `{results}` scored 0-1 — each result spans ANY channel (check the `channel` field) and includes the message id for email_get / email_thread_get follow-ups.
email_send
Send a new outbound email from the agent mailbox. Use this when you need to compose and deliver a message with optional CC, threading headers.
email_thread_get
Fetch all email messages in one or more threads. Pass `id` for a single thread or `ids` for multiple. Returns messages ordered within each thread. Uses the messages endpoint filtered by threadId + channel=EMAIL under the hood.
vault
vault_credential_create
Create a new credential in an agent vault. Pass `type` plus the matching payload block (login / card / identity / oauthToken / apiKey / certificate / notes). For login credentials, prefer `generatePassword` over supplying `login.password` — the vault generates and stores the password server-side and returns only the credential reference, so the secret never enters the conversation. For api_key/oauth_token credentials, set `allowedHosts` so the credential can be exercised through vault_credential_use.
vault_credential_delete
Delete a credential from vault storage by ID. Use to remove obsolete or compromised secrets.
vault_credential_get
Get a single vault credential by ID. Sensitive fields (passwords, tokens, SSNs, CVV) are masked. To use the plaintext for autofill or as an upstream credential, mint a vault token at the credential broker — the LLM never sees the secret directly.
vault_credential_get_totp
Get the current TOTP code for a credential that has a TOTP secret configured. Returns the live 6-digit code derived from the stored secret — the secret itself is never disclosed.
vault_credential_list
List credentials in an agent vault with optional type filter. Use to browse stored secrets before reading, updating, or deleting entries. Sensitive fields are masked.
vault_credential_request_cancel
Cancel a pending credential request by ID. Invalidates the single-use fill link so the human can no longer submit a value. Use when the request is no longer needed or was created in error.
vault_credential_request_create
Request a credential from a HUMAN without the agent or LLM ever seeing the secret. When the connecting MCP client supports inline elicitation, the human is shown a form to type the secret directly — the tool returns `status: FULFILLED` with the `credentialId` in one call, no link needed. Otherwise it returns a single-use fill link (`fillUrl`, emailed to the org owner); poll vault_credential_request_status until `status` is FULFILLED, then use the returned `credentialId` as a normal vault credential. Use this when a flow needs a secret the agent doesn't hold and can't safely be given (passwords, API keys, card numbers).
vault_credential_request_fill
Internal: submit a credential-request secret from the Anima UI widget. Not for direct agent use.
vault_credential_request_status
Get the status of a pending credential request by ID. Poll this after vault_credential_request_create until `status` is FULFILLED, then use `credentialId` as a normal vault credential. `maskedPreview` shows a redacted hint of the filled value once available — the plaintext is never returned.
vault_credential_search
Search vault credentials by keyword across names and content. Use when you know part of the name, URL, or username but not the exact credential ID. Different access pattern from vault_credential_list — list is paginated browsing, search is text-query lookup.
vault_credential_update
Update an existing vault credential by ID, including optional structured sections and metadata flags. Use to rotate passwords or revise stored details.
vault_credential_use
Make an outbound HTTPS call with a stored credential attached SERVER-SIDE, and get the upstream response. Use this to act with a secret (call an API, hit an authed endpoint) WITHOUT ever seeing the plaintext — the platform injects the credential on the wire. The target host must be on the credential's allowlist. Works even for `brokered` credentials that can never be revealed. Prefer this over trying to read a secret: you can use it, you cannot see it.
vault_exchange_token_for_injection
Exchange a vtk_ vault token for the PLAINTEXT credential, to inject into a trusted client process (a CLI, the browser extension) — NOT to read it yourself. The API gates this to injector credentials: it only succeeds for a master key or a key carrying the `vault:inject` scope; a plain agent key gets 403. If you are an agent that needs to USE a secret, do NOT use this — use vault_credential_use (the server-side broker), which never reveals the secret.
vault_provision
Provision a credential vault for an agent. Required before vault_credential_create can be called against a freshly-created agent — without a vault, credentials have nowhere to live. Idempotent: returns the existing vault if one already exists. Master-key only.
phone
phone_call_create
Place a live phone call and have a real conversation. The tool stays open for the entire call duration. As the caller speaks, you receive live transcript chunks via progress notifications; when the caller finishes a turn (server emits isFinal: true), an elicitation prompt asks you what the agent should say next. You respond with `say` (the exact text to speak) and optional `endCallAfterSpoken: true` to hang up after the line. Returns the full transcript when the call ends. Requires the connecting MCP client to support elicitation — without it, the tool errors out immediately.
phone_call_get
Get full detail for a single phone call: status, duration, participants, AI-generated summary (one-liner, topics, action items, decisions, open questions, next steps), and quality score. The summary is generated once on first read after post-call processing and cached.
phone_call_list
List phone calls with optional filters. Returns lightweight call records — for full call detail including summary and score, use phone_call_get.
phone_call_recording_get
Get a time-limited download URL for a call recording (WAV format). The URL expires after 1 hour. Recording must have been enabled during the call.
phone_call_transcript_get
Get the full transcript of a phone call with speaker labels, timestamps, and confidence scores. Available after the call ends and transcription completes.
phone_number_list
List phone numbers assigned to an agent. Each result includes status and capability flags (sms/mms/voice).
phone_number_provision
Provision a new phone number from the carrier pool and assign it to an agent. Note: provisioning a number costs money on the underlying carrier; do not call speculatively. Use countryCode / areaCode / capabilities to constrain selection.
phone_number_release
Release a previously provisioned phone number back to the carrier pool. Use this when cleaning up unused numbers. Released numbers cannot be recovered.
domain
domain_create
Register a custom sending domain in the workspace so it can be configured for email traffic. Use this before DNS setup and verification.
domain_delete
Delete a domain from the workspace when it is no longer needed. Use this to remove old or incorrect domain configurations.
domain_get
Fetch full detail for a single domain by ID, including verification and configuration state. Use domain_list to browse all domains.
domain_list
List all domains connected to the current workspace. Use this to audit configured sender domains and choose one for follow-up actions.
domain_update
Update mutable configuration on a domain. Currently the only updatable field is `feedbackEnabled` — toggle SES bounce and complaint feedback processing on or off without re-verifying the domain.
domain_verify
Trigger a verification check for a domain after DNS records are configured. Use this to re-run DNS validation and update verification status.
domain_zone_file
Get the full DNS zone file for a domain. Use this for complete DNS export or to verify all records are correctly configured.
agent
agent_create
Create a new agent with optional metadata, and optionally attach an initial address. Use this when provisioning a new sending identity or automation actor. To add more addresses later, use agent_update. Pass idempotencyKey to make retries safe — same key + same body returns the original response, same key + different body returns IDEMPOTENCY_BODY_MISMATCH 409.
agent_delete
Delete an agent by ID. Use this to remove deprecated or compromised agents that should no longer send messages. Cascades to attached addresses, email identities, and phone identities.
agent_get
Fetch full detail for a single agent by ID: settings, metadata, status, and the full addresses[] / emailIdentities[] / phoneIdentities[] lists. Use agent_list to browse multiple agents.
agent_list
List agents in the current account context with cursor pagination. Returns a lightweight per-agent record (addresses are NOT included to avoid N+1 round-trips). Use agent_get for full single-agent detail.
agent_update
Update an agent's name or metadata, and/or add/update/delete an address. Use addAddress to attach a new address, updateAddress to change fields on an existing one (by addressId), deleteAddressId to remove one. Multiple field-level changes can be combined in a single call.
inbox
inbox_create
Create a new email inbox (mailbox) that can receive mail immediately at its address. Choose a username and domain or let the platform generate them. Requires master key access.
inbox_delete
Permanently delete an inbox and its mailbox. Mail sent to the address after deletion bounces. This cannot be undone. Requires master key access.
inbox_get
Fetch full detail for a single inbox by ID, including its email address, display name, and associated agent. Use inbox_list to browse all inboxes.
inbox_list
List inboxes in the workspace with cursor pagination and optional free-text search. Returns the address, display name, and agent association for each inbox.
inbox_update
Update the display name or agent association of an inbox. Pass null for a field to clear it (unlink the agent / remove the display name); omitted fields are left unchanged. The email address itself cannot be changed. Requires master key access.
sms
sms_get
Fetch full detail for a single SMS by ID (includes its `threadId` for joining the conversation). Use sms_list to browse multiple SMS messages.
sms_list
List SMS messages with optional filters. Each result includes its `threadId` for joining the conversation. Use sms_get for full single-message detail.
sms_send
Send an SMS to a phone number, or an MMS by passing `mediaUrls`. The agent must have a provisioned phone number. Use this for transactional texts or conversational messaging.
sms_thread_get
Get one SMS/MMS conversation with its message history, oldest first. Use sms_thread_list to find thread IDs (or take `threadId` off any SMS). For a conversation longer than `limit`, returns its most recent messages; page deeper history with sms_list.
sms_thread_list
List SMS/MMS conversations, most recently active first. A conversation is one agent number talking to one external contact. Returns summaries (participant, last message snippet, message count) — use sms_thread_get for the full history. Optionally filter by agentId.
webhook
webhook_delete
Delete a webhook subscription by ID. Permanently removes the configuration and stops future deliveries. To temporarily pause without deleting, use webhook_set with { id, active: false }.
webhook_get
Get a webhook subscription by ID. Returns the full configuration (URL, subscribed events, active state, description).
webhook_list
List webhook subscriptions for the calling org with cursor pagination. Use to enumerate existing webhooks before set/delete operations.
webhook_set
Create or update a webhook subscription (upsert). If `id` is provided the call updates that webhook (PUT). If omitted it creates a new one (POST) — `url` and `events` are then required. Use this for declarative 'ensure webhook X exists' workflows.
webhook_test
Send a test event payload to a webhook to verify the endpoint is reachable and signature verification works. Returns a deliveryId you can correlate with your endpoint's logs.
account
account_overview
Single-call workspace snapshot: organization context, credential identity, send-capability flags (canSendEmail / canSendSms), inventory counts (agents, domains, phones), active blockers (each carrying the canonical MCP tool that resolves it), and the running MCP server's deploy identity (commitSha, revision, buildId, startedAt). Strict superset of the legacy whoami + workspace_health pair. Use before any non-trivial workflow to answer 'who am I, can I do X right now, and which deploy is serving me?' in one round-trip — no real send needed to find out.
extension
extension_connect
Create a short-lived, single-use connect URL that links a browser extension (or a headless Puppeteer worker) to an Anima agent. Returns `connectUrl` — hand it to the extension to complete the handshake before `exchangeExpiresAt`. The response carries no token or secret. Auth: with a master key you MUST pass `agentId`; with an agent key OMIT `agentId` (the server resolves it from the key). `ttl` is optional; a value above the org's maximum is rejected.
usage
usage_overview
Usage rollup for a billing period. Returns counters keyed by usage type (e.g. 'email_sent', 'sms_sent', 'voice_call_minutes') plus the latest update timestamp. Defaults to the current calendar month in UTC when `period` is omitted. Read-only, callable by any authenticated credential — scoped to the caller's org. Use to answer 'where am I against my tier limits?' without paying for per-event detail (UsageEvent is operator-tier).
voice
voice_list
List available AI voices for placing phone calls. The catalog is multilingual — filter by language or gender. Each voice includes descriptive metadata and a vendor-neutral audio preview URL (sampleUrl), plus the voice ID needed for phone_call_create.

Endpoints

URLTransportStateLatencyChecked
https://mcp.useanima.sh/mcp streamable-http answering 240 ms 2 min ago

Alternatives to Anima

same job, measured the same way
C
AgentBrink
by agentbrink-www

Give your AI agent an identity: its own email, webhook, repo, secrets vault, memory and skills.

answering
I
Agentline
by jgottlieb84

Phone numbers, SMS, 2FA capture, voice calls, and email for AI agents.

70 installs/wk local only
namailu.cz Agent Email
by namailu

namailu.cz gives your AI agent its own email inbox: read and send mail over MCP, with OAuth.

answering
Agent Identity MCP
by flovoice53-tech

Gives an AI agent a disposable email and a real UK phone number to test signup flows.

42 installs/wk local only
Agent Mail
by mailkite

Give an AI agent its own inbox — receive email as a webhook, send over a verified domain.

answering
VoIP.ms
by ecliptical

Manage phone numbers, SMS/MMS, voicemail, faxing, and call routing for your VoIP.ms account.

answering
CosVoice
by cosvoice

A real phone number and email for your AI Chief of Staff. Calls, bookings by phone, summaries.

answering
Dead Simple Email
by deadsimple

Give an agent its own inbox: send, receive, and pull signup codes from real email.

941 installs/wk 14 tools answering

Anima — questions

Answers built from our own checks of this server.

What can Anima do?
It exposes 67 tools, read directly from the server on our last check. Among them: account_overview, agent_create, agent_delete, agent_get, agent_list, agent_update and 61 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Anima mostly used for?
Its tools cluster around email, vault and phone. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Anima working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 264 ms. The bar chart above shows every period we have measured.
How do I connect Anima?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Anima need an API key?
No. Anima completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 67 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Anima?
It answers our handshake in 264 ms on average, which is faster than 55% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Anima open source?
Yes — it is published under the MIT licence, written in TypeScript and 1 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.