AI coding assistants are trained on a vast slice of public code, which is why they're great at generic tasks and frustrating at yours. They don't know your architecture decisions, your internal conventions, why the auth module is built the odd way it is, or which of three deprecated helpers is the current one. That knowledge lives in your docs, your runbooks, your ADRs, and your past discussions — not in the model's training data. Connecting your knowledge base to the assistant as a tool closes that gap: the assistant can look up your project's actual context before it answers or writes code.

The gap: general knowledge vs. your knowledge
A coding assistant's default failure isn't syntax — it's context. Ask it to add a feature and it produces reasonable-looking code that ignores your conventions, reinvents a utility you already have, or contradicts an architectural decision your team made deliberately. It's not wrong about programming; it's ignorant of your project, because your project's knowledge was never in its training set and isn't in its context window.
There are two kinds of project knowledge the assistant is missing:
- The code itself — which the assistant can often see through the editor's file access.
- The knowledge around the code — architecture docs, runbooks, ADRs (why decisions were made), conventions, past incident post-mortems, internal API references. This is exactly what lives in a knowledge base and isn't visible from the files alone.
Connecting your knowledge base as a tool gives the assistant access to that second kind — the reasoning and conventions that explain how your code is supposed to be written.
How the connection works
The mechanism is a tool the assistant can call. When your knowledge base is exposed as an MCP server (as every Kognita knowledge base is), MCP-compatible coding assistants — Cursor, Windsurf, Claude, and others — can be pointed at it, and a search_knowledge_base tool appears in the assistant automatically. From then on:
- You ask the assistant a question or give it a task.
- The assistant recognizes it needs project-specific context and calls the search tool with a query.
- Your knowledge base returns the relevant passages — the architecture doc, the convention, the past decision.
- The assistant grounds its answer or its generated code in that retrieved context, following your actual conventions instead of generic defaults.
No custom integration per assistant — the same MCP server works across all of them. Setup is just registering the server's endpoint and credentials in the assistant's MCP configuration.
What to put in the knowledge base
The value depends entirely on what you ingest. The highest-leverage content for a coding assistant is the knowledge that explains how and why, not just what:
- Architecture and design docs — how the system is structured and how pieces fit.
- Architecture Decision Records (ADRs) — why things are the way they are. This is gold, because "why is it built this way?" is the question assistants (and new engineers) most need answered and can least infer from code.
- Conventions and style guides — naming, patterns, the "we do it this way here" rules that keep generated code consistent with the codebase.
- Runbooks and operational docs — how to deploy, debug, and operate, so the assistant can help with ops, not just code.
- Internal API references — how your services and libraries work, which public training data doesn't cover.
- Post-mortems — past incidents and their lessons, so the assistant can steer away from known traps.
Ingest these (ideally synced from where they already live, so they stay fresh), and the assistant stops guessing about your project and starts consulting your actual institutional knowledge.
Making it work well
- Write clear tool descriptions. The assistant decides when to call the tool from its description. Something like "Search internal engineering knowledge — architecture, conventions, decisions, runbooks, and internal APIs. Use before answering questions about how this project works or generating code that must follow team conventions." A vague description means the assistant won't reach for it at the right moments.
- Prompt the assistant to consult it. A short instruction in your assistant's rules/config — "for questions about our architecture or conventions, search the knowledge base first" — makes the lookup a habit rather than a maybe.
- Keep the knowledge fresh. Stale conventions are worse than none — the assistant will confidently follow an outdated rule. Sync from the source docs so the knowledge base tracks reality.
- Scope credentials appropriately. The assistant needs read/search access to the knowledge base, nothing more.
The payoff
Once connected, the assistant's answers change character. "How should I add a new API endpoint?" stops producing generic scaffolding and starts producing code that follows your routing conventions, uses your existing helpers, and respects the architectural decision an ADR explains. New engineers get a assistant that knows the project's history; everyone gets code suggestions grounded in how the team actually works.
The broader point: a coding assistant is only as good as the context it has, and the context it's missing is precisely your organization's accumulated engineering knowledge. Putting that knowledge in a knowledge base and connecting it as a tool turns the assistant from a talented outsider who's never seen your codebase into one who's read all your docs and remembers every decision — which is exactly the collaborator you actually want.