Skip to main content
Glama
aryasmol

Atoms MCP Server

by aryasmol
README.md
# Atoms MCP Server

MCP server for the [Atoms](https://atoms.smallest.ai) voice AI platform. Manage agents, debug calls, view analytics — directly from your IDE.

## Quick start

### Option A: One-line installer (no dependencies)

```bash
curl -fsSL https://raw.githubusercontent.com/aryasmol/atoms-mcp-server/main/install.sh | bash
```

Downloads a standalone binary, prompts for your API key, and configures Cursor + Claude Desktop automatically.

### Option B: npm

Requires Node.js 18+. Add this to your MCP config (`~/.cursor/mcp.json` for Cursor, `claude_desktop_config.json` for Claude Desktop):

```json
{
  "mcpServers": {
    "atoms": {
      "command": "npx",
      "args": ["-y", "@developer-smallestai/atoms-mcp-server"],
      "env": {
        "ATOMS_API_KEY": "sk_your_key_here"
      }
    }
  }
}
```

### Option C: One prompt

Open a chat in Cursor or Claude Desktop and type:

```
Set up the Atoms MCP server for me.
The npm package is @developer-smallestai/atoms-mcp-server.
My API key is: sk_paste_your_key_here
```

### Verify

Reload your editor, then type: **"List all my agents"**

---

## Available tools

### Read

| Tool | Description |
|---|---|
| `get_call_logs` | Query call logs with filters for status, type, date range, agent name, or phone number |
| `debug_call` | Deep-dive into a single call — full transcript, errors, timing, cost breakdown, post-call analytics |
| `get_agents` | List agents with their configuration, voice, LLM model, and call stats |
| `get_usage_stats` | Usage statistics — total calls, duration, costs, status breakdown |
| `get_campaigns` | List outbound calling campaigns with status and progress |
| `get_phone_numbers` | List phone numbers owned by your organization |

### Write

| Tool | Description |
|---|---|
| `create_agent` | Create a new AI voice agent |
| `update_agent_prompt` | Update an agent's system prompt / instructions |
| `update_agent_config` | Update agent settings — name, language, voice, first message, etc. |
| `delete_agent` | Archive (soft-delete) an agent |

### Act

| Tool | Description |
|---|---|
| `make_call` | Initiate an outbound phone call using a specific agent |

### Resources

| Resource | URI | Description |
|---|---|---|
| Platform Overview | `atoms://docs/platform-overview` | Key concepts, call types, statuses, and cost breakdown |

---

## Environment variables

| Variable | Required | Default | Description |
|---|---|---|---|
| `ATOMS_API_KEY` | Yes | — | Your Atoms API key |
| `ATOMS_API_URL` | No | `https://atoms-api.smallest.ai/api/v1` | Override the API base URL |

## Development

```bash
npm install
npm run dev    # run with tsx
npm run build  # bundle to dist/
```

## License

MIT

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation5/5

Each tool maps to a distinct resource or action—agent CRUD, call logs, aggregate usage, single-call debugging, campaigns, phone numbers, and outbound calls. The call-related tools are clearly separated by scope (list vs. aggregate vs. single-call deep-dive), so an agent can reliably select the right one.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern: get_* for read operations, create_/update_/delete_ for agent mutations, and make_call/debug_call for actions. There are no mixed conventions or vague verbs.

Tool Count5/5

11 tools is well-scoped for an AI-calling platform: enough to cover meaningful agent and call workflows without redundancy. The set feels deliberately chosen rather than bloated or thin.

Completeness4/5

Agent lifecycle is fully covered with create, list, config update, prompt update, and delete, and call workflows are covered via make_call, get_call_logs, debug_call, and get_usage_stats. Campaigns and phone numbers are read-only, and there is no singular get_agent by ID, but these are minor gaps that agents can typically work around.

Maintenance

ActivityInactive
ResponsivenessNo issues