Model Context Protocol (MCP) server for the 60db Voice AI Platform. This server exposes comprehensive tools for text-to-speech, speech-to-text, voice cloning, meeting management, workspace collaboration, and billing operations.
- Voice Management: List, retrieve, and create cloned voices
- Text-to-Speech (TTS): Synthesize speech with custom voices, speed, stability, and similarity
- Speech-to-Text (STT): Transcribe audio with speaker diarization and timestamps
- Workspace Management: Create and manage team workspaces
- 60DB Integration: Dictionary, snippets, and notes for enhanced transcriptions
- Meeting Management: Record meetings with AI-generated notes and summaries
- Analytics: Track usage statistics and credit consumption
- Billing: View plans, subscriptions, and invoices
npm install
npm run buildSet required environment variables:
# Authentication (required - one of these)
export X60DB_API_KEY=sk_your_api_key_here
# OR
export X60DB_JWT_TOKEN=your_jwt_token_here
# Optional: API base URL (default: http://localhost:3000)
export X60DB_API_BASE_URL=https://api.60db.ai# Development mode with auto-reload
npm run dev
# Production mode
npm start60db_list_voices- List available voices with filtering60db_get_voice- Get detailed voice information60db_create_voice- Create a cloned voice
60db_tts_synthesize- Convert text to speech60db_tts_logs- Get TTS generation history60db_tts_get- Get TTS generation details
60db_stt_transcribe- Transcribe audio to text60db_stt_logs- Get transcription history60db_stt_get- Get transcription details
60db_list_workspaces- List all workspaces60db_get_workspace- Get workspace details60db_create_workspace- Create a new workspace60db_get_workspace_members- List workspace members
60db_60db_list_dictionary- List pronunciation dictionary entries60db_60db_add_dictionary- Add dictionary entry60db_60db_list_snippets- List text snippets60db_60db_add_snippet- Add text snippet60db_60db_list_notes- List personal notes60db_60db_add_note- Add personal note60db_60db_get_note- Get note details
60db_list_meetings- List meetings60db_get_meeting- Get meeting details60db_create_meeting- Create new meeting
60db_get_usage_stats- Get usage statistics
60db_list_plans- List available subscription plans60db_get_subscription- Get current subscription details60db_list_invoices- List billing invoices60db_get_invoice- Get invoice details
All tools support two response formats:
- markdown (default): Human-readable formatted output
- json: Machine-readable structured data
Example:
{
"voice_id": "voice_abc123",
"text": "Hello, world!",
"response_format": "json"
}List tools support pagination:
limit: Maximum results (1-100, default: 20)offset: Number of results to skip (default: 0)
Example:
{
"limit": 50,
"offset": 0
}{
"language": "en-US",
"is_public": true,
"limit": 10
}{
"text": "Hello, this is a test.",
"voice_id": "voice_abc123",
"speed": 1.0,
"output_format": "mp3"
}{
"audio_url": "https://example.com/audio.mp3",
"language": "en-US",
"diarization": true,
"punctuation": true
}{
"response_format": "markdown"
}Responses are automatically truncated at 25,000 characters to prevent overwhelming output. Truncated responses include a message with guidance on pagination.
All tools return clear, actionable error messages:
Error: Authentication required- Invalid or missing credentialsError: Rate limit exceeded- Too many requests (429 status)Error: Resource not found- Invalid ID (404 status)Error: Insufficient credits- Not enough credits for operation
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run type checking
npm run type-check60db-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── constants.ts # Configuration constants
│ ├── types/ # TypeScript type definitions
│ ├── schemas/ # Zod validation schemas
│ ├── services/ # API client and formatters
│ └── tools/ # Tool implementations
│ ├── voices.ts
│ ├── tts.ts
│ ├── stt.ts
│ ├── workspaces.ts
│ ├── sixtydb.ts
│ ├── meetings.ts
│ └── billing.ts
├── dist/ # Built JavaScript files
├── package.json
├── tsconfig.json
└── README.md
# Install MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Run inspector
mcp-inspector node dist/index.jsAdd to Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"60db-mcp": {
"command": "node",
"args": ["/path/to/60db-mcp-server/dist/index.js"],
"env": {
"X60DB_API_KEY": "sk_your_api_key_here",
"X60DB_API_BASE_URL": "https://api.60db.ai"
}
}
}
}MIT
For issues and questions, please contact 60db support or visit the documentation at https://docs.60db.ai