Building RevOps Voice came from wanting to connect hands-free voice tools with the messy reality of sales operations. Sales teams often get stuck digging through spreadsheets or clunky dashboards just to check numbers or log notes. When Amazon introduced Alexa+ alongside the Model Context Protocol, it felt like the right time to build a secure server that lets voice commands trigger real CRM actions.
At its core, RevOps Voice is an MCP server built on the 2025-11-25 Model Context Protocol specification using Streamable HTTP. It handles several key jobs:
Pipeline Management: You can check deal summaries, pull up the largest deals, and spot accounts that have gone quiet.
Activity Logging: It lets you log calls conversationally while using safety checks to keep notes accurate.
Follow-up Generation: It drafts follow-up emails using Amazon Bedrock, complete with built-in templates to fall back on.
Visual Dashboards: It serves an interactive pipeline board right through the MCP Apps extension at ui://revops/pipeline.html.
CSV Deal Analysis: You can upload custom CSV files, map the columns automatically, and run numerical queries across totals, counts, and averages.
The architecture splits cleanly into two parts. The backend MCP server runs on the official Python MCP SDK and connects to a SQLite database with twelve specialized tools. Because official Alexa+ hardware and CLI tools were restricted to select partners during the hackathon, a custom web simulator using FastAPI and Starlette was built to test the experience locally. For intelligence, it uses local open-source models via Ollama for query routing alongside keyword fallbacks, ensuring the language model never writes or runs raw SQL directly.
Working on this came with a few hurdles. Since direct access to the Alexa+ preview was limited, building the custom web simulator was essential to test the client-server workflow. Keeping the AI safe meant building strict parameter isolation so that unstructured voice prompts could map cleanly to safe database actions. Early on, cloud quotas also caused some rate-limiting with Bedrock, which was easily solved by relying on solid template fallbacks so the app kept working without interruption.
Log in or sign up for Devpost to join the conversation.