Anima MCP Server
The Anima MCP Server provides tools for AI agents to manage communications, identity, and security. Capabilities include:
Workspace & Usage: Account overview and usage rollups.
Agent Management: Create, list, get, update, delete agents; manage addresses and metadata.
Email: Send, receive, search (semantic/keyword), reply, forward, thread retrieval, attachment download, plus full draft lifecycle.
Domain Management: Register, verify, list, get, update, delete custom sending domains; fetch DNS zone files.
Phone Numbers: List, provision, release numbers with capability filters (SMS/MMS/voice).
Phone Calls: Initiate outbound calls; list, get details (including AI summaries, scores), transcripts, and recordings; list available AI voices.
SMS/MMS: Send SMS/MMS with media; get and list messages; manage conversation threads.
Provisioning Requests: Request, list, check status, and cancel provisioning of vaults or numbers (requires human owner approval).
Credential Vault: Provision vaults; CRUD credentials (logins, cards, identities, notes); search; generate TOTP codes.
Webhooks: Create/update, get, list, delete subscriptions; send test events with authentication configs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Anima MCP ServerSend an email to contact@example.com about the project update."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@anima-labs/mcp
MCP (Model Context Protocol) server for Anima -- 58 tools across 10 categories for AI agent communication, identity, and security.
Hosted vs local (which one do I want?)
Anima runs a hosted MCP gateway at https://mcp.useanima.sh/mcp -- nothing to install, always current, and it carries the fullest tool surface (it adds inbox management and other tools beyond this package's 54). If your client speaks remote MCP (Cursor, VS Code, Claude Code --transport http), point it there with Authorization: Bearer ak_... and you're done. See the MCP docs.
This npm package is the stdio bridge for clients without remote-MCP support and for pinned/air-gapped configs. Same platform, same auth, smaller tool set.
anima setup-mcp install --all # hosted gateway (default)
anima setup-mcp install --all --mode stdio # this packageRelated MCP server: OMICall MCP Server
Installation
npm install @anima-labs/mcp
# or
bun add @anima-labs/mcpQuick Start
# stdio mode (default -- for Claude Desktop, Cursor, Windsurf, etc.)
npx @anima-labs/mcp
# HTTP mode (for web integrations)
npx @anima-labs/mcp --http --port=8014
# Selective tool loading (only register specific groups)
npx @anima-labs/mcp --tools=email,vault,phoneEnvironment Variables
Variable | Required | Description |
| No | API server URL (default: |
| Yes | Agent API key ( |
| No | Master key ( |
Selective Tool Loading
Use the --tools flag to load only the tool groups you need. This reduces the tool count exposed to the LLM, which can improve tool selection accuracy and reduce token usage.
npx @anima-labs/mcp --tools=email,vault,phoneAvailable tool groups:
Group | Description |
| Account overview and usage rollups |
| Agent CRUD and address/identity management |
| Email send/receive, threads, drafts, attachments |
| Custom sending domains: DNS, verification, zone files |
| Phone number provisioning and release |
| Outbound calls, transcripts, recordings, voices |
| SMS/MMS send and conversation history |
| Ask your human owner for a vault or phone number |
| Credential vault management and TOTP |
| Webhook subscription management and testing |
If --tools is not provided, all groups are registered (current default behavior).
HTTP Mode
Run the MCP server over HTTP instead of stdio for web integrations:
npx @anima-labs/mcp --http --port=8014The server listens at http://localhost:8014/mcp and expects a Bearer <api-key> authorization header on each request.
Configuration Templates
Claude Desktop
~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"anima": {
"command": "npx",
"args": ["-y", "@anima-labs/mcp"],
"env": { "ANIMA_API_KEY": "ak_..." }
}
}
}With selective loading:
{
"mcpServers": {
"anima": {
"command": "npx",
"args": ["-y", "@anima-labs/mcp", "--tools=email,vault,phone"],
"env": { "ANIMA_API_KEY": "ak_..." }
}
}
}Cursor
.cursor/mcp.json:
{
"mcpServers": {
"anima": {
"command": "npx",
"args": ["-y", "@anima-labs/mcp"],
"env": { "ANIMA_API_KEY": "ak_..." }
}
}
}Windsurf
.windsurf/mcp.json:
{
"mcpServers": {
"anima": {
"command": "npx",
"args": ["-y", "@anima-labs/mcp"],
"env": { "ANIMA_API_KEY": "ak_..." }
}
}
}Tool Reference
Workspace (2 tools)
Tool | Description |
| Single-call workspace snapshot: context, send-capability flags, inventory counts, and blockers |
| Usage rollup for a billing period |
Agent (5 tools)
Tool | Description |
| Create a new agent, optionally with metadata and an initial address |
| Get full detail for an agent: settings, metadata, status, addresses, and identities |
| List agents in the current account context with cursor pagination |
| Update an agent's name or metadata, and add/update/delete an address |
| Delete an agent by ID |
Email (13 tools)
Tool | Description |
| Send a new outbound email from the agent mailbox |
| Get full detail for a single email by ID, including metadata and body |
| List emails newest-first with cursor pagination, optionally scoped to one agent |
| Search email by meaning (semantic vector search) or literal keyword |
| Reply to an existing email thread with correct threading headers |
| Forward an existing email to another recipient |
| Fetch all messages in one or more email threads |
| Get a temporary download URL for an email attachment |
| Create a new email draft (composed but not sent) |
| Get full detail for a single draft by ID |
| List email drafts with optional filters |
| Send a draft |
| Discard a draft |
Domain (7 tools)
Tool | Description |
| Register a custom sending domain in the workspace |
| Trigger a verification check after DNS records are configured |
| Get full detail for a domain, including verification and config state |
| List all domains connected to the current workspace |
| Update mutable configuration on a domain |
| Delete a domain from the workspace |
| Get the full DNS zone file for a domain |
Phone (3 tools)
Tool | Description |
| List provisioned phone numbers, optionally filtered by agent |
| Provision a new phone number and assign it to an agent |
| Release a provisioned phone number back to the carrier pool |
Phone Call (6 tools)
Tool | Description |
| Initiate an outbound phone call from an agent (returns a callId immediately) |
| List phone calls with optional filters |
| Get full detail for a call: status, duration, participants, AI summary, and quality score |
| Get the full transcript with speaker labels, timestamps, and confidence scores |
| Get a time-limited download URL for a call recording (WAV) |
| List available AI voices for placing phone calls |
SMS (5 tools)
Tool | Description |
| Send an SMS, or an MMS by passing |
| Get full detail for a single SMS by ID (includes its |
| List SMS messages with optional filters |
| List SMS conversations |
| Get a specific SMS conversation with message history |
Provisioning (4 tools)
An agent cannot provision its own vault or phone number -- vault_provision
and phone_number_provision are master-key-only, and an MCP session is
authenticated as the agent. These tools file the ask instead; the owner decides
in the Anima console.
Approve and decline are deliberately NOT exposed as tools. An MCP tool is something the model can decide to call, and a prompt-injected agent able to approve its own request could grant itself a billable phone number -- exactly the escalation the flow exists to prevent.
Tool | Description |
| Ask your owner to provision a vault or phone number |
| List requests you have filed and their status |
| Check one request; a decline carries the owner's reason |
| Withdraw a pending request you no longer need |
Vault (8 tools)
Tool | Description |
| Provision a credential vault for an agent |
| List credentials in an agent vault with optional type filter |
| Get a single vault credential by ID |
| Create a new credential in an agent vault |
| Update an existing vault credential by ID |
| Delete a credential from vault storage by ID |
| Search vault credentials by keyword across names and content |
| Get the current TOTP code for a credential with a TOTP secret |
Webhook (5 tools)
Tool | Description |
| Create or update a webhook subscription |
| Get a webhook subscription by ID |
| List webhook subscriptions with cursor pagination |
| Delete a webhook subscription by ID |
| Send a test event to verify endpoint reachability and signature verification |
Contributing: the contract gates
Every tool here is a thin client over the Anima REST API, which makes two lies easy
to ship and nearly impossible to notice — both return a green 200:
a tool calling a route the API doesn't have, and
a tool advertising a parameter its route ignores (the API validates with Zod, which strips unknown input, so the server answers as if nothing was wrong and the model believes its filter was applied).
Two CI gates in src/__tests__/integration/contract-parity.test.ts make both
impossible. They check src/tool-routes.ts — where each tool declares the routes
it calls and any param it handles client-side — against
src/__tests__/fixtures/contract-routes.json, a snapshot of the real
@anima/contracts route surface.
Adding or changing a tool means updating its entry in src/tool-routes.ts.
If a gate fails, fix the tool: editing the declaration to match a lie, or parking a
param in clientParams, re-opens the exact hole the gates close.
Refreshing the snapshot (needs a checkout of the anima monorepo — it is private, so CI cannot do this for you):
bun run contracts:refresh -- --anima ../anima # rewrite the snapshot
bun run contracts:check -- --anima ../anima # diff only; non-zero on driftCommunity
Join the Anima Discord to ask questions in #mcp, share what you're building in #showcase, and stay up to date with releases in #announcements.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
FlicenseBqualityFmaintenanceEnables interaction with Telnyx's telephony, messaging, and AI assistant APIs to manage phone numbers, send messages, make calls, and create AI assistants. Includes webhook support for real-time event handling and comprehensive tools for voice, SMS, cloud storage, and embeddings.4625- AlicenseNot gradedqualityBmaintenanceProvides access to over 80 tools for managing OMICall and OMICRM APIs, including call center operations, ticket management, and multi-channel communication across platforms like Zalo and Facebook. It enables automated calling, agent management, and AI-powered text-to-speech capabilities through natural language.304MIT
- AlicenseAqualityDmaintenanceGives AI agents phone numbers, email, SMS, and voice calls as MCP tools, enabling them to provision numbers, capture 2FA codes, send messages, and make calls.15MIT
- AlicenseNot gradedqualityBmaintenanceExposes the full Chatwoot API as 129 tools for AI assistants, enabling account, contact, conversation, message, inbox, team, report, help center, automation, and custom attribute management, plus exclusive Kanban and scheduled message features.183MIT
Related MCP Connectors
Communication stack for AI agents: SMS, AI voice calls, phone numbers, and account events.
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
40+ Lightning-paid AI tools for agents: calls, SMS, fax, voice, translation. No signup, no keys.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anima-labs-ai/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server