About Gen AI Lyrics Search Agent
Gen AI Lyrics Search Agent is a lyrics-search agent for mobile apps, finding songs across web sources and returning results in a specified format. It combines MCP tool integration with a FastAPI REST API.
Key features
- 01Search lyrics across web sources
- 02Generative AI conversation interface
- 03FastAPI REST API
- 04Authentication and rate limiting
- 05Performance monitoring and analytics
Use cases
- 01Retrieve lyrics for mobile apps
- 02Find lyrics through conversation
- 03Monitor lyrics service performance
MCP support
The service uses MCP for standardized tool integration, allowing MCP clients to access its lyrics-search capability.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGen AI Lyrics Search Agent
A generative AI agent that can search for song lyrics across the web and return results in a specific format for mobile apps. Built with Model Context Protocol (MCP) for standardized tool integration.
Features
- 🔍 Web-based lyrics search across multiple sources
- 🤖 Generative AI-powered conversation interface
- 🔌 MCP-compliant tool integration
- 🚀 FastAPI-based REST API
- 🔒 Authentication and rate limiting
- 📊 Performance monitoring and analytics
Prerequisites
- Python 3.10 or higher
- Poetry for dependency management
- Docker (optional)
Setup
- Clone the repository:
git clone <repository-url>
cd lyrics-search-agent
- Install dependencies using Poetry:
poetry install
- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
- Run the application:
poetry run uvicorn app.main:app --reload
Or using Docker:
docker build -t lyrics-search-agent .
docker run -p 8000:8000 lyrics-search-agent
API Documentation
Once the application is running, visit:
- API documentation: http://localhost:8000/docs
- ReDoc alternative: http://localhost:8000/redoc
Key Endpoints
GET /: Service informationPOST /search: Search for lyricsGET /tools: List available tools
Development
Project Structure
app/
├── __init__.py
├── main.py
├── mcp/
│ ├── __init__.py
│ └── protocol.py
└── tools/
└── web_search.py
Adding New Tools
- Create a new tool class in
app/tools/ - Implement the
BaseToolinterface - Register the tool in
app/main.py
Testing
Run tests using pytest:
poetry run pytest
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- OpenAI/Anthropic for LLM capabilities
- FastAPI for the web framework
- LangChain for LLM orchestration
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.