Files
patchy631--ai-engineering-hub/mcp-voice-agent/README.md
T
2026-07-13 12:37:47 +08:00

72 lines
2.0 KiB
Markdown

# MCP-powered voice agent
This project implements a voice agent that combines web search capabilities via Firecrawl with Supabase database operations through MCP (Model Context Protocol).
## Installation
Ensure you have Python 3.x installed and run:
```bash
pip install -r requirements.txt
```
## Implementation: agent.py
This implementation uses AssemblyAI's services for speech-to-text, along with Firecrawl for web search and Supabase for database operations.
### Requirements
- Firecrawl API key
- Supabase access token
- OpenAI API key
- AssemblyAI API key
- LiveKit credentials
### Setup
Copy `.env.example` to `.env` and configure the following environment variables:
```
FIRECRAWL_API_KEY=your_firecrawl_api_key
SUPABASE_ACCESS_TOKEN=your_supabase_token
OPENAI_API_KEY=your_openai_api_key
ASSEMBLYAI_API_KEY=your_assemblyai_api_key
LIVEKIT_URL=your_livekit_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
```
### Running
Start the agent using:
```bash
python agent.py
```
The agent will:
1. Connect to LiveKit
2. Initialize the MCP server for Supabase integration
3. Set up voice interaction capabilities
4. Start listening for user input
## Features
- Real-time web search using Firecrawl
- Supabase database integration via MCP
- Voice interaction capabilities:
- Silero VAD (Voice Activity Detection)
- AssemblyAI Speech-to-Text
- OpenAI GPT-4 for language processing
- OpenAI TTS for text-to-speech
## 📬 Stay Updated with Our Newsletter!
**Get a FREE Data Science eBook** 📖 with 150+ essential lessons in Data Science when you subscribe to our newsletter! Stay in the loop with the latest tutorials, insights, and exclusive resources. [Subscribe now!](https://join.dailydoseofds.com)
[![Daily Dose of Data Science Newsletter](https://github.com/patchy631/ai-engineering/blob/main/resources/join_ddods.png)](https://join.dailydoseofds.com)
## Contribution
Contributions are welcome! Feel free to fork this repository and submit pull requests with your improvements.