Luna: Voice-Enabled Expense Management Agent
@rosiefaulkner
Luna: Voice-Enabled Expense Management Agent について
Convert user audio messages into text and convert text responses from the agent back to audio (text-to-speech) to play to the user. The AI voice agent is an expense manager with access to an MCP server with tools that allow CRUD (create, read, update, delete) operations on a data
概要
What is Luna: Voice-Enabled Expense Management Agent?
Luna is a voice-enabled AI assistant built with Langgraph that helps users manage expenses through natural conversation. It runs as a Python backend application on desktop and uses a microphone and speakers for voice interaction.
How to use Luna: Voice-Enabled Expense Management Agent?
Clone the repository, set up a Python 3.13 virtual environment with uv, install dependencies, then configure OPENAI_API_KEY and SUPABASE_URI in a .env file. Run python main.py, speak your request (e.g., “Create a new expense for lunch today that cost $15”), press Enter to stop recording, and hear Luna’s response. Say “exit” or “quit” to end the session.
Key features of Luna: Voice-Enabled Expense Management Agent
- Voice interaction with speech-to-text and text-to-speech
- Create, query, update, and delete expenses via natural conversation
- Automatic expense categorization based on descriptions
- PostgreSQL database integration through Supabase
- Tool-using agent built with Langgraph and MCP
Use cases of Luna: Voice-Enabled Expense Management Agent
- Quickly log a lunch or travel expense by speaking naturally
- Retrieve a list of recent expenses by asking “What did I spend last week?”
- Update or delete an expense after correcting a misstatement
- Automatically categorize expenses (e.g., food, transport) without manual entry
FAQ from Luna: Voice-Enabled Expense Management Agent
What does Luna do that other expense trackers don’t?
Luna is entirely voice-driven – you speak your expense and hear a response, making hands‑free management possible. It uses an AI agent (Langgraph) to understand complex requests and automatically categorises expenses.
What platforms and AI models does Luna use?
The backend runs on Python 3.13. It uses OpenAI’s Whisper API for speech-to-text, GPT-4 Mini for agent reasoning, and OpenAI TTS for text-to-speech. Audio capture uses the sounddevice library.
How does Luna support MCP (Model Context Protocol)?
Luna defines its database tools via MCP servers (configured in mcps/mcp_config.json). New tools can be added by creating a new MCP server and registering it in that configuration.
Can I customise Luna’s voice or personality?
Yes. You can change the TTS voice (e.g., “fable”), adjust speaking speed, and modify the system prompt in assistant_graph.py to alter Luna’s tone and capabilities.
What database does Luna use?
Luna stores expense data in a PostgreSQL database hosted on Supabase. Connection details are set in the SUPABASE_URI environment variable.
「エージェントフレームワーク」の他のクライアント
LangChain.js MCP Adapters
langchain-ai** THIS REPO HAS MOVED TO
Evo AI - AI Agents Platform
evolutionapiEvo AI is an open-source platform for creating and managing AI agents, enabling integration with different AI models and services.
Unified MCP Client Library
mcp-usemcp-use is the easiest way to interact with mcp servers with custom agents
Fast Agent
evalstateDefine, Prompt and Test MCP enabled Agents and Workflows
MCPHost 🤖
mark3labsA CLI host application that enables Large Language Models (LLMs) to interact with external tools through the Model Context Protocol (MCP).
コメント