LiveKit MCP Server
LiveKit MCP Server
Высокопроизводительный сервер Model Context Protocol (MCP 2.0), связывающий ИИ-агентов с движком MantraCare LiveKit Voice & Telephony Engine.
Архитектура • Быстрый старт • Конфигурация • Подключение клиентов • Аутентификация • Инструменты • Разработка
📖 Обзор
LiveKit MCP Server позволяет LLM и ИИ-ассистентам по коду (таким как Antigravity, Claude, Cursor и пользовательские агенты) безопасно управлять, проверять и запускать конвейеры голосовой телефонии, работающие на базе LiveKit (~/lkt) и аутентифицированные через Mantra Auth (~/mantra-auth).
Ключевые возможности
🚀 Соответствие MCP 2.0: построен на официальном Python
mcpSDK с использованием Server-Sent Events (SSE) и Streamable HTTP транспорта.🔐 OAuth 2.1 и общая безопасность JWT: нативная проверка HS256 JWT, совместимая с
mantra-auth, с поддержкой заголовкаAuthorization: Bearerи параметра запроса?token=.⚡ Молниеносное асинхронное ядро: на базе Starlette, Uvicorn и менеджера пакетов
uv.🧩 Модульная архитектура инструментов: раздельные по доменам инструменты для телефонии, аналитики звонков, поиска по базе знаний и SIP-транкинга.
🧠 Агентная память: полная база знаний Obsidian (
obsidian/) и правилаAGENTS.mdдля сохранения контекста парного программирования с ИИ.
Related MCP server: Agent Identity MCP Server
🏛️ Системная архитектура
┌─────────────────────────────────────────────────────────────┐
│ AI Client (Cursor / Claude / Antigravity / Web Agent) │
└──────────────────────────────┬──────────────────────────────┘
│ 1. Bearer Token / ?token= (OAuth 2.1)
▼
┌─────────────────────────────────────────────────────────────┐
│ [3. mantra-auth (:3000)] │
│ Next.js + Prisma OAuth 2.1 Authorization Server │
│ - Issues HS256 JWTs and verifies via /api/oauth/introspect │
└──────────────────────────────┬──────────────────────────────┘
│ Shared JWT Secret Verification
▼
┌─────────────────────────────────────────────────────────────┐
│ [2. livekit-mcp (:8000)] (This Server) │
│ - Starlette ASGI + MCP 2.0 SSE Transport │
│ - Pure ASGI Auth Middleware (HS256 JWT validation) │
│ - Public Endpoints: /health, / │
│ - Protected Endpoints: /sse, /messages │
│ - Registered Tools: greet_user, [Telephony/KB/SIP coming] │
└──────────────────────────────┬──────────────────────────────┘
│ 2. Async HTTP (REST)
▼
┌─────────────────────────────────────────────────────────────┐
│ [1. lkt (:8081)] │
│ MantraCare LiveKit Voice Agent & Telephony Engine │
│ - SIP Trunks (Plivo, Zadarma, VoiceLink, Twilio) │
│ - LiveKit Cloud WebRTC Rooms & STT→LLM→TTS Voice Pipeline │
│ - PostgreSQL (call_logs, kb_pages) & Redis (queues, locks) │
└─────────────────────────────────────────────────────────────┘📁 Структура репозитория
livekit-mcp/
├── .env.example # Sample environment variables
├── .gitignore # Git ignore definitions
├── .python-version # Python version pin (3.11)
├── AGENTS.md # Agent Memory instructions
├── dev.sh # Development startup script
├── pyproject.toml # UV package specification & build settings
├── uv.lock # Deterministic lockfile
├── README.md # Project documentation
│
├── obsidian/ # Permanent Agentic Knowledge Base
│ ├── Home.md # Project navigation hub
│ ├── Architecture/ # System design, data flow, security & APIs
│ ├── Context/ # Stack, project summary & repository map
│ ├── Development/ # Sprint tracking, TODO & Changelog
│ ├── Features/ # Feature specifications (tools, auth)
│ └── Knowledge/ # Coding standards & architectural conventions
│
├── src/
│ └── livekit_mcp/
│ ├── __init__.py
│ ├── config.py # Pydantic Settings & environment validation
│ ├── server.py # MCPServer & Starlette app factory
│ ├── main.py # CLI runner with Uvicorn
│ ├── auth/
│ │ ├── __init__.py
│ │ ├── jwt.py # HS256 JWT decoding & claims validation
│ │ └── middleware.py # Pure ASGI auth middleware (headers & ?token=)
│ ├── clients/
│ │ ├── __init__.py
│ │ ├── lkt_client.py # Async HTTP client for lkt FastAPI (:8081)
│ │ └── auth_client.py # Async HTTP client for mantra-auth (:3000)
│ └── tools/
│ ├── __init__.py
│ └── greeting.py # Initial `greet_user` verification tool
│
└── tests/
├── __init__.py
├── conftest.py # Fixtures for tokens, settings & test client
├── test_config.py # Configuration unit tests
├── test_auth.py # JWT verification & claims unit tests
├── test_greeting.py # Tool registration & execution tests
└── test_server.py # Endpoints, SSE & Auth integration tests🚀 Быстрый старт
1. Предварительные требования
Python: 3.11 и выше
uv: быстрый менеджер пакетов Python (Установить uv)
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Установка и настройка
Склонируйте репозиторий и перейдите в каталог:
cd ~/livekit-mcpСоздайте файл конфигурации окружения:
cp .env.example .envУстановите зависимости с помощью
uv:uv sync
3. Запуск сервера
Запустите сервер разработки с автоматической перезагрузкой:
./dev.shИли запустите напрямую с помощью uv:
uv run python -m livekit_mcp.mainСервер будет доступен по адресу http://localhost:8000.
⚙️ Конфигурация
Все параметры задаются в src/livekit_mcp/config.py через pydantic-settings и загружаются из .env:
Переменная | Тип | По умолчанию | Описание |
| string |
| Адрес привязки сервера |
| integer |
| Порт прослушивания сервера |
| string |
|
|
| string |
| Уровень журналирования ( |
| boolean |
| Требовать JWT-аутентификацию для защищённых конечных точек |
| string |
| Общий секретный ключ для проверки подписи HS256 JWT |
| string |
| Алгоритм подписи JWT (совпадает с |
| string |
| Базовый URL сервера Mantra Auth |
| string |
| Ожидаемый эмитент JWT ( |
| string | (пусто) | Необязательная ожидаемая аудитория ( |
| string |
| Базовый URL API голосового агента LKT |
| float |
| Тайм-аут HTTP-запросов в секундах для вызовов LKT |
| string | (пусто) | Прямой WebSocket URL LiveKit Cloud (необязательно) |
| string | (пусто) | Прямой API-ключ LiveKit Cloud (необязательно) |
| string | (пусто) | Прямой секрет API LiveKit Cloud (необязательно) |
📡 Конечные точки
Конечная точка | Метод | Требуется аутентификация | Описание |
|
| ❌ Нет | Публичная проверка работоспособности и готовности сервиса |
|
| ❌ Нет | Статус сервиса и метаданные конечных точек |
|
| ✅ Да | Открывает постоянный поток Server-Sent Events (SSE) для MCP-клиентов |
|
| ✅ Да | Конечная точка JSON-RPC 2.0 для MCP-запросов (выполнение инструментов, перечисление) |
Пример проверки работоспособности
curl http://localhost:8000/healthОтвет:
{
"status": "healthy",
"service": "livekit-mcp",
"version": "0.1.0",
"auth_enabled": true,
"environment": "development",
"lkt_api_configured": true,
"timestamp": "2026-08-20T12:30:00.000000+00:00"
}🔐 Аутентификация
Сервер реализует OAuth 2.1 / HS256 JWT-аутентификацию с общим секретом, совместимую с mantra-auth.
Предоставление учётных данных
Заголовок Authorization (стандартный):
GET /sse HTTP/1.1 Host: localhost:8000 Authorization: Bearer <your-jwt-access-token>Параметр запроса (для SSE / EventSource-клиентов):
GET /sse?token=<your-jwt-access-token> HTTP/1.1 Host: localhost:8000
Ожидаемые утверждения JWT
{
"sub": "user-123",
"aud": "client-app",
"iss": "http://localhost:3000",
"exp": 1755694800,
"iat": 1755691200,
"scope": "openid profile telephony:call",
"token_type": "access_token"
}Совет разработчику: установите
AUTH_ENABLED=falseв.env, чтобы отключить проверку токенов при локальном тестировании.
🛠️ Доступные инструменты
1. greet_user
Проверочный инструмент, который проверяет связность MCP, разбор параметров и статус сервера.
Параметры:
name(string, required): имя пользователя или агента, вызывающего инструмент.message(string, optional): пользовательское приветственное сообщение.
Возвращает:
👋 Hello, Alice! Welcome to MantraCare LiveKit MCP! --- System Status --- • Service: LiveKit MCP Server • Status: Operational & Ready • Timestamp: 2026-08-20T12:30:00.000000+00:00 • Protocol: MCP 2.0 (SSE / HTTP)
🔌 Подключение MCP-клиентов
1. Antigravity / Gemini CLI (~/.gemini/config/mcp_config.json)
{
"mcpServers": {
"livekit": {
"serverUrl": "http://localhost:8000/sse"
}
}
}2. Cursor IDE (.cursor/mcp.json)
{
"mcpServers": {
"livekit": {
"url": "http://localhost:8000/sse",
"headers": {
"Authorization": "Bearer <YOUR_JWT_TOKEN>"
}
}
}
}3. Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"livekit": {
"command": "uv",
"args": [
"--directory",
"/home/fardeen/livekit-mcp",
"run",
"python",
"-m",
"livekit_mcp.main"
],
"env": {
"AUTH_ENABLED": "false"
}
}
}
}🧪 Разработка и тестирование
Запуск тестов
Проект содержит полный набор тестов, покрывающий конфигурацию, проверку JWT, middleware и инструменты:
uv run pytest -vФорматирование кода и линтер
Обеспечьте чистые стандарты кода с помощью ruff:
# Check code
uv run ruff check .
# Auto-fix issues & format
uv run ruff check --fix .
uv run ruff format .Добавление новых инструментов
Чтобы добавить новый инструмент в livekit-mcp:
Создайте модуль в
src/livekit_mcp/tools/<domain>.py.Определите функцию регистрации:
from mcp.server.mcpserver import MCPServer def register_telephony_tools(server: MCPServer) -> None: @server.tool(name="trigger_call", description="Trigger an outbound call") async def trigger_call(phone_number: str, prompt: str) -> str: # Call LktClient here return f"Call initiated to {phone_number}"Зарегистрируйте функцию в
src/livekit_mcp/server.pyвнутриcreate_mcp_server().Добавьте модульные тесты в
tests/test_<domain>.py.
📚 Агентная память
Этот репозиторий следует паттерну агентной памяти. Перед внесением архитектурных изменений ознакомьтесь с базой знаний Obsidian в obsidian/:
obsidian/Home.md— навигационный центр проектаobsidian/Architecture/Overview.md— архитектура системы и топологияobsidian/Development/Current Sprint.md— статус текущего спринтаobsidian/Development/TODO.md— ближайший план работobsidian/Knowledge/Coding Standards.md— конвенции по стилю кода
📄 Лицензия
Проприетарное программное обеспечение © MantraCare. Все права защищены.
This server cannot be installed
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
AlicenseAqualityFmaintenanceMCP Server that connects AI agents to Chargebee Platform.27315MIT- AlicenseNot gradedqualityDmaintenanceMCP Server for AI agent identity and authorization. Create, verify, and manage agent identities with trust scores and scoped authorization tokens.MIT

Smallest MCP Serverofficial
AlicenseAqualityAmaintenanceMCP server for the Smallest AI platform that enables managing AI voice agents, debugging calls, and viewing analytics directly from your IDE.832661MIT- AlicenseAqualityDmaintenanceMCP server for enterprise authentication and authorization — JWT validation, OIDC token inspection, OAuth 2.0 introspection, and role-based access control for AI agents.8MIT
Related MCP Connectors
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration
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/FardeenSK004/livekit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server