Rapport MCP Server
Enables AI assistants to query local conversation transcripts and relationship data via a local MCP server, allowing retrieval of past conversations and facts about people.
README
<div align="center">
Rapport
Open-source, local-first memory for the people in your life.
Record your real-world conversations, organize them around people — not time — and, when you need it, replay the facts, understand the other side, and think it through.
English · 简体中文
</div>
🚧 Status: early development. M1–M4 work today — record → transcribe → local SQLite + full-text search, a people-centric bilingual (EN/中) desktop app (Today · conversation · people · relationship graph · review), and on-demand AI readings that run 100% locally via Ollama (no API key) and cite the original audio behind every judgment. Star the repo to follow along.
Stop guessing where you stand
- What does your boss really think of you?
- Do the people you lead actually respect you?
- Is the person you're seeing into it — or just being polite?
You guess. Everyone guesses. Rapport means you don't have to.
It keeps the real record of what was actually said — so you can replay the facts, see the moment from the other side, and get a straight answer to the question you couldn't crack. Not mind-reading; just the truth, kept.
What is Rapport?
Memory is fuzzy. After a conversation you keep an impression — and impressions drift: they fill in gaps, soften or sharpen, and quietly rewrite themselves over time.
Rapport keeps the real record instead. It records and transcribes your face-to-face conversations, organized around the people in your life, so you can go back to what was actually said — review it honestly, understand the other person, and see a moment from their side.
One idea underneath it all: the truth of what happened beats whatever you happened to remember.
What makes it different
- Always-on by design — it keeps the real record, not just the moments you remembered to hit record.
- Audio, not screen — your real-world, face-to-face conversations. Smaller footprint, sharper purpose.
- Organized around people, not time — profiles, relationships, and perspective-switching, instead of an endless timeline.
- 100% local & open source — the only kind of always-on recorder worth trusting: the data never leaves your machine, and the code is yours to read.
Privacy: 5 promises you can verify in the code
- 100% local by default — audio and transcripts live in a SQLite file on your machine; nothing is uploaded.
- No account required.
- Your data is yours — export, delete, or back it up anytime. The database is just a file on your disk.
- Sync is optional and end-to-end encrypted — leave it off and zero bytes leave your machine.
- Local AI optional — run your questions through a local model (Ollama) so even the analysis stays on-device.
Because the code is open, you can read exactly what listens to you. That turns "trust us" into "trust the code."
Rapport records real people. Recording-consent laws vary by region — everything stays on your device, but using it lawfully is on you.
How it works
Record → local transcription → split & label speakers → encrypted local store
→ you ask a question → RAG retrieves the relevant bits → LLM answers → you
Rapport also exposes your data to the AI tools you already use, through a local REST API + MCP server — ask Claude Desktop "remind me what I last talked about with Alex" and it pulls from your local Rapport store. The data never leaves your machine.
The bigger idea: a human-context layer for your AI
An AI becomes a real assistant not by talking well, but by two things: knowing your real context, and being able to act on it.
Rapport owns the most private, hardest-to-get slice of that context — your real relationships and conversations with the people around you — and hands it, safely and on-device, to the AI tools you already use. So Claude or Cursor stop being clever strangers and start giving answers that actually fit your situation with the people in your life.
Others built memory search for your digital life. Rapport is the understanding layer for your human one.
Tech stack
Python · faster-whisper (local ASR) · pyannote (speaker diarization) · SQLite + FTS5 · pluggable LLM (local Ollama or your own API key) · FastAPI + MCP · React (Vite) SPA → PyWebview desktop shell. Windows first, macOS later.
Quick start
Python 3.10+ (3.12 recommended for the widest prebuilt-wheel coverage). Runs on CPU by default — no GPU or CUDA required.
git clone https://github.com/sssst1118/Rapport.git
cd Rapport
python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS / Linux: source .venv/bin/activate
pip install -e . # or: uv pip install -e .
rapport transcribe path/to/audio.wav # transcribe an audio file
rapport ui # or launch the web UI
First run downloads a small Whisper model. Choose a model size or enable GPU via env vars:
RAPPORT_WHISPER_MODEL=small rapport transcribe audio.wav # tiny | base | small | medium | large-v3
RAPPORT_WHISPER_DEVICE=cuda rapport transcribe audio.wav # GPU (needs CUDA runtime libs)
Store a recording in your local database, then browse and search it:
rapport ingest audio.wav # transcribe → store as a conversation
rapport show 1 # print a conversation's lines
rapport search "project" # full-text search across everything
rapport devices # list microphones (record --device N to pick one)
Roadmap
- [x] M1 — Record + local transcription + simple UI ✅
- [x] M2 — Local SQLite storage + full-text search + ingest ✅ (diarization seam ready; pyannote optional)
- [ ] Always-on capture — continuous background recording (the real record, not just manual clips)
- [x] M3 — People-centric desktop app + annotations ✅ (FastAPI + React, bilingual EN/中: Today · conversation · people · relationship graph · review)
- [x] M4 — On-demand AI readings ✅ (pluggable LLM — local Ollama, no API key, or bring your own; every reading separates fact from interpretation and cites the original quote + audio)
- [ ] M5 — Local REST API + MCP server + Windows packaging
- [ ] M6 — Voiceprint ID · macOS
License
AGPL-3.0 — free and open for everyone, forever. Its strong copyleft means no one can quietly close it up or "acquire it away."
Commercial licenses available — to use Rapport inside a closed-source / commercial product without AGPL obligations, contact the author at @sssst1118.
Star this repo ⭐
Rapport is in early development. If the idea resonates, star the repo to follow along — it genuinely helps.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。