TL;DR: We built a voice interface for xAI's Grok that never forgets who you are. MCPaaS delivers project context to every conversation. No re-explaining. No drift. Just talk.

The Challenge

Voice interfaces have a memory problem.

You talk to an AI assistant. It helps you. Conversation ends. Next time you talk, it has no idea who you are, what you're working on, or what you discussed before.

For a demo we were building with xAI's Grok API, this was unacceptable. We wanted to prove that AI voice could be persistentโ€”that context could survive across sessions, platforms, and time.

The Requirements

  • Browser-based voice interface (no app install)
  • Direct connection to xAI's Grok API
  • Persistent project context across sessions
  • Zero re-explaining required
  • Works with any project that has a .faf file

The Solution: FAF-Voice + MCPaaS

FAF-Voice is a browser-to-xAI voice client. You speak, Grok responds. But unlike typical voice assistants, Grok knows your project before you say a word.

The secret: MCPaaS.

When you start a FAF-Voice session, the client fetches your project context from MCPaaS. Grok receives your .faf file as part of the system prompt. Every conversation starts with full context.

๐ŸŒ
Browser
Voice Input + Text Chat
1. Fetch context
MCPaaS
Edge Delivery
โ†’
.faf
Your Context
2. Context delivered
๐ŸŠ
xAI Grok
Voice: Leo โ€ข Streaming
System prompt includes .faf context
Result: Grok knows your project. Every. Single. Time.

The Demo: Three Acts

We structured the demo as a three-act proof:

Act 1

Baseline Pain

Standard voice assistant. No context. Watch the AI ask "What project are you working on?" over and over. Experience the frustration firsthand.

Act 2

.faf Activation

Connect MCPaaS. Load the project context. The AI now knows: stack, architecture, team, goals. Ask anythingโ€”no preamble required.

Act 3

Eternal Voice

Close the browser. Open it again. Different device. Same context. The AI remembers. That's eternal memory.

How It Works

1. Context Loading

When FAF-Voice initializes, it calls MCPaaS to retrieve project context:

// Fetch context from MCPaaS
const context = await fetch('https://mcpaas.live/api/context', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer ' + token },
  body: JSON.stringify({ project_id: 'faf-voice' })
});

const { faf, score, tier } = await context.json();
// score: 94, tier: "gold"

2. System Prompt Injection

The .faf content becomes part of Grok's system prompt:

const systemPrompt = `
You are a voice assistant with full project context.

PROJECT CONTEXT:
${faf}

You know this project intimately. Never ask the user to
re-explain their stack, goals, or architecture. Just help.
`;

3. Voice Streaming

xAI's Grok API handles voice with the "Leo" voice model. Responses stream back in real-time:

const response = await xai.chat.completions.create({
  model: 'grok-2-voice',
  voice: 'Leo',
  messages: [
    { role: 'system', content: systemPrompt },
    { role: 'user', content: userSpeech }
  ],
  stream: true
});

The Results

Context Load Time
<50ms
Edge delivery via MCPaaS
Re-explanations Required
Zero
Context persists across sessions
Context Drift
None
Same .faf, every time
Session Persistence
Eternal
Context survives browser close

What We Learned

Context is Infrastructure

Treating context as an endpoint (not a chat artifact) changes everything. MCPaaS made this possible without building custom persistence logic.

Voice Needs Memory

Voice interfaces are even more frustrating without context than text. You can't paste a README into a microphone. Persistent context is essential.

Edge Delivery Matters

Voice is real-time. Any latency in context loading is noticeable. MCPaaS's sub-millisecond edge delivery made the experience seamless.

The .faf Format Works

Grok understood the .faf structure immediately. Project, stack, human_contextโ€”all parsed and applied correctly. The format is AI-native by design.

Try It Yourself

FAF-Voice is open source. You can run it locally or deploy your own instance.

FAF-Voice

Source code

GitHub

MCPaaS

Context endpoint

mcpaas.live

xAI API

Grok access

x.ai/api

FAF CLI

Create .faf files

npm

Prerequisites

  • xAI API key (for Grok access)
  • A .faf file for your project
  • MCPaaS account (or self-host)

Quick Start

# Clone the repo
git clone https://github.com/Wolfe-Jam/FAF-Voice

# Install dependencies
npm install

# Set environment variables
export XAI_API_KEY=your_key
export MCPAAS_TOKEN=your_token

# Run locally
npm run dev

What's Next

FAF-Voice is a proof of concept. We're exploring:

  • Multi-model support โ€” Claude, GPT-4, Gemini with the same context layer
  • Conversation history โ€” MCPaaS storing conversation summaries
  • Team voices โ€” Shared project context across team members
  • Mobile apps โ€” iOS/Android with persistent context

The core insight remains: context should be an endpoint, not a session artifact. MCPaaS makes that possible.