README Documentation
ElevenLabs MCP Integration - Tech News Update Agent
A FastAPI backend to create an ElevenLabs agent that makes outbound calls to deliver friendly, jargon-free tech news updates. This project demonstrates the integration of ElevenLabs MCP (Model Context Protocol) for creating conversational AI agents with voice capabilities.
š Features
- Conversational AI Agent: Creates a confident, friendly tech-savvy colleague
- Voice Integration: Uses ElevenLabs Alice voice for natural-sounding calls
- Tech News Delivery: Provides updates about AI, programming, and cybersecurity
- Simple API: Easy-to-use endpoints for agent creation and call management
- MCP Integration: Leverages ElevenLabs MCP for seamless agent management
š Project Structure
ElevenLabs/
āāā app/
ā āāā main.py # FastAPI application with endpoints
ā āāā elevenlabs_client.py # ElevenLabs API client functions
ā āāā config.py # Configuration and environment variables
āāā requirements.txt # Python dependencies
āāā .env.example # Environment variables template
āāā .gitignore # Git ignore rules
āāā README.md # Project documentation
š ļø Setup
Prerequisites
- Python 3.8+
- ElevenLabs API key
- ElevenLabs phone number (for outbound calls)
- Git
Installation
-
Clone the repository
git clone https://github.com/LEKKALAGANESH/Eleven-Labs-MCP-Integration.git cd Eleven-Labs-MCP-Integration -
Install dependencies
pip install -r requirements.txt -
Configure environment variables
cp .env.example .env # Edit .env with your actual values -
Run the server
uvicorn app.main:app --reload
š§ Configuration
Create a .env file with the following variables:
ELEVENLABS_API_KEY=your_elevenlabs_api_key
ELEVENLABS_BASE_URL=https://api.elevenlabs.io/v1
AGENT_VOICE_ID=Xb7hH8MSUJpSbSDYk0k2
AGENT_PHONE_NUMBER_ID=your_phone_number_id
š” API Endpoints
1. Create Agent
POST /create-agent
Creates a new Tech News Update Agent with predefined personality and voice.
Response:
{
"agent": {
"agent_id": "agent_5701k1capwtse9fske3xgefspyra",
"name": "Tech News Update Agent",
"voice_id": "Xb7hH8MSUJpSbSDYk0k2"
}
}
2. Make Outbound Call
POST /call
Initiates an outbound call to the specified phone number.
Request Body:
{
"phone_number": "+1234567890"
}
Response:
{
"result": {
"conversation_id": "conv_3401k1casackffe9emj08wgf9zsd",
"call_sid": "CA12265951d92ca816f1f15693d7efd6a2",
"status": "success"
}
}
šÆ Usage Examples
Using curl
-
Create the agent:
curl -X POST "http://localhost:8000/create-agent" -
Make a call:
curl -X POST "http://localhost:8000/call" \ -H "Content-Type: application/json" \ -d '{"phone_number": "+1234567890"}'
Using Python requests
import requests
# Create agent
response = requests.post("http://localhost:8000/create-agent")
agent_data = response.json()
agent_id = agent_data["agent"]["agent_id"]
# Make call
call_data = {"phone_number": "+1234567890"}
response = requests.post("http://localhost:8000/call", json=call_data)
print(response.json())
š¤ Agent Personality
The Tech News Update Agent is configured with:
- Tone: Confident, friendly, and conversational
- Voice: Alice (female voice) for natural communication
- Expertise: AI, programming, and cybersecurity updates
- Style: Jargon-free explanations with practical implications
- Approach: Like a knowledgeable colleague sharing interesting news
ā ļø Important Notes
- Phone Verification: You must have a verified or paid ElevenLabs/Twilio account to call unverified numbers
- Agent ID: After creating the agent, update the
agent_idinmain.pywith the returned ID - API Limits: Be aware of ElevenLabs API rate limits and usage quotas
- Environment Variables: Never commit your actual API keys to version control
š Related Links
š License
This project is open source and available under the MIT License.
š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
š Support
For support, please open an issue in the GitHub repository or contact the maintainers.
Built with ā¤ļø using ElevenLabs MCP Integration