Atlas: Team MCP Tools & Knowledge Base
Internal MCP server at Recall that evolved across three phases — from company knowledge Q&A and semantic vector search to proactive drift detection across team messaging.
Internal MCP server at Recall that evolved across three phases — from company knowledge Q&A and semantic vector search to proactive drift detection across team messaging.
Atlas started as a way for our team at Recall to ask questions about company context without digging through docs and chat. By December it was doing the reverse: comparing each day’s commits, threads, and docs against our stated plans and telling us when our daily work had quietly drifted away from our own strategy.
The first version in August 2025 was a small MCP server. It pulled daily activity from docs, project tracking, code, and chat into a daily summary, and served it from one backend behind both desktop coding agents and a team chat bot. Anyone asking a question in chat and an engineer working in their editor were querying the same memory. Alongside company knowledge and daily summaries, we shipped early content tools to draft social posts and blog pieces in the company voice.
A month in, daily summaries and keyword lookup weren’t enough once history accumulated. We added pgvector semantic retrieval across all company knowledge and past summaries, alongside live web research, social and blog RSS monitoring, partnership research, and PR review context.
The chat bot also gained native tool calling so it could chain several lookups in one pass — pulling a strategy doc, checking the last two weeks of shipped code and chat summaries, and synthesizing the answer. Atlas became the primary place the team went for context, but it only answered questions. You had to already suspect something had changed to know what to ask.
The December rebuild flipped Atlas from waiting for questions to surfacing what had changed on its own.
The centerpiece was drift detection (check_alignment). The knowledge base held our stated intentions — goals, product positioning, decisions, and team norms — and Atlas compared each day’s activity across code, docs, and chat against those pages. When messaging in a thread or PR contradicted current positioning, or priorities shifted in execution before the docs caught up, it flagged the misalignment while it was still small. A companion pass (detect_gaps) watched for the two ways a knowledge base quietly rots: pages untouched for six months, and concepts mentioned three or more times in daily work that still had no canonical page.
We also added automatic context bundles — pulling the relevant knowledge-base pages and recent activity summaries for a topic in one call before a decision or agent task — and a team learnings index. Coding and trading agents across our repositories were already recording gotchas, dead ends, and workflow patterns in AGENT-LEARNINGS.md and TRADE-LEARNINGS.md files; indexing those let an agent in one repo search what another teammate’s agent had learned the week before.
At the same time, we deleted roughly half the original tools. The early content-generation tools barely got used and crowded the tool list when agents had to choose what to call.
Checking daily commits and threads against our documented plan turned the knowledge base from a static archive into a live claim that everyday work could prove stale.
The hard part was signal-to-noise. Early alignment passes flagged routine tactical shifts as contradictions until we separated low-confidence drift from real positioning or priority conflicts. And cutting half the tools mattered as much as adding the new ones: once Atlas stopped trying to be a general-purpose writing assistant and focused strictly on company memory, gaps, and alignment, both teammates and agents trusted what it returned.