Skip to main content

MCP Server

The 60db MCP (Model Context Protocol) Server enables AI assistants like Claude to directly interact with the full 60db platform — voice AI, persistent memory, and access-control checks. Source code: github.com/60db/mcp · npm: 60db-mcp-server · License: MIT

What is the MCP Server?

The MCP Server provides a standardized interface for AI assistants to:
  • Generate speech from text using any voice
  • Transcribe audio files with speaker diarization
  • Create custom voices from audio samples
  • Manage workspaces and team collaboration
  • Store and recall memories — persistent memory and RAG across sessions
  • Upload documents — PDF, DOCX, XLSX, PPTX, EML, scanned images with built-in OCR
  • Assemble LLM-ready context — purpose-built for retrieval-augmented generation
  • Check permissions — query Cerbos policy before attempting gated actions
  • Track usage and analytics
  • View monthly spend across every billable operation

Quick Start

1. Install the Server

# From npm
npm install -g 60db-mcp-server

# Or clone from source
git clone https://github.com/60db/mcp.git
cd mcp
npm install
npm run build

2. Configure Claude Desktop

Add to your Claude Desktop config: macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "60db": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/index.js"],
      "env": {
        "SIXTYDB_API_KEY": "sk_your_api_key_here",
        "SIXTYDB_API_BASE_URL": "https://api.60db.ai"
      }
    }
  }
}

3. Use with Claude

Restart Claude Desktop and start using 60db voice AI:
You: Can you convert "Hello, world!" to speech using a female English voice?

Claude: I'll use the 60db TTS tool to generate speech for you.

Available Tools

CategoryTools
VoicesList voices, get voice details, create custom voices
TTSSynthesize speech, view generation history
STTTranscribe audio, view transcription history
WorkspacesManage team workspaces and members
Memory & RAGIngest memories, upload documents (91+ formats with OCR), hybrid semantic search, context assembly, manage collections, track spend (10 tools total)
AuthzFetch effective permissions map, probe single (resource, action) checks — useful before attempting gated actions
AnalyticsTrack usage statistics
BillingView plans, subscriptions, and invoices

Features

Text-to-Speech

Generate natural speech in 40+ languages:
// Synthesize speech
{
  "text": "Hello, world!",
  "voice_id": "voice_abc123",
  "speed": 1.0,
  "output_format": "mp3"
}

Speech-to-Text

Transcribe audio with speaker identification:
// Transcribe audio
{
  "audio_url": "https://example.com/meeting.mp3",
  "language": "en-US",
  "diarization": true,
  "timestamps": true
}

Voice Cloning

Create custom voices from audio samples:
// Create custom voice
{
  "name": "Brand Voice",
  "sample_url": "https://example.com/sample.mp3",
  "language": "en-US"
}

Memory & RAG

Give your AI assistant a persistent, searchable long-term memory:
// Store a user preference
{
  "tool": "sixtydb_memory_ingest",
  "arguments": {
    "text": "User prefers dark mode and metric units",
    "type": "user"
  }
}

// Upload a document (PDF, DOCX, scanned image, etc.)
{
  "tool": "sixtydb_memory_upload_document",
  "arguments": {
    "file_path": "/Users/me/Documents/handbook.pdf",
    "collection": "company_handbook",
    "type": "knowledge"
  }
}

// Search with hybrid semantic + keyword recall
{
  "tool": "sixtydb_memory_search",
  "arguments": {
    "query": "What is the refund policy?",
    "alpha": 0.8,
    "mode": "fast"
  }
}

// Assemble LLM-ready context for RAG
{
  "tool": "sixtydb_memory_context",
  "arguments": {
    "query": "Tell me about my customer's recent orders"
  }
}
All memory operations are pay-as-you-go — the tool response surfaces charged, balance, and tx details in the billing footer on every call.

Authorization checks

Before attempting a gated action, query the Cerbos permission map so the agent can fail fast on disallowed operations:
// Fetch the full permission map (once per session)
{
  "tool": "sixtydb_get_permissions",
  "arguments": {}
}

// Probe a specific action
{
  "tool": "sixtydb_check_permission",
  "arguments": {
    "resource": "memory",
    "action": "create"
  }
}
This lets the agent hide or disable features that the user’s role can’t use, instead of watching for 403 POLICY_DENY responses mid-flow.

Architecture

┌─────────────────────────────────────────────────────────────┐
│                     Claude (AI Assistant)                    │
└─────────────────────────┬───────────────────────────────────┘

                          │ MCP Protocol (stdio)

┌─────────────────────────▼───────────────────────────────────┐
│                    60db MCP Server                           │
├─────────────────────────────────────────────────────────────┤
│  Voice:   sixtydb_tts_synthesize, sixtydb_stt_transcribe   │
│           sixtydb_list_voices, sixtydb_create_voice        │
│  Memory:  sixtydb_memory_ingest, sixtydb_memory_search     │
│           sixtydb_memory_upload_document                    │
│           sixtydb_memory_context, sixtydb_memory_get_usage │
│  Authz:   sixtydb_get_permissions, sixtydb_check_permission│
│  Admin:   sixtydb_list_workspaces, sixtydb_get_usage_stats │
│           sixtydb_list_invoices                             │
│  ... 30+ tools total                                          │
└─────────────────────────┬───────────────────────────────────┘

                          │ HTTPS (JWT or API key)

┌─────────────────────────▼───────────────────────────────────┐
│                    60db API                                  │
│                  (api.60db.ai)                               │
│                                                               │
│   Every request passes through:                               │
│     Cerbos policy check  →  Memory billing  →  Controller    │
└─────────────────────────────────────────────────────────────┘

Next Steps

Requirements

  • Node.js: 18 or higher
  • API Key: 60db API key from dashboard
  • MCP Client: Claude Desktop or custom MCP client

Support