Skip to content
Muhammet Şafak edited this page Sep 18, 2026 · 1 revision

FAQ

Does my documentation leave my machine?

Not with the default settings. Embeddings are computed locally on your CPU, and the database is inside the same container. The only outbound requests a default installation makes are the one-time model download (which EMBEDDING_OFFLINE=1 removes) and, if you configure them, fetches from your git host or Notion. Switching to OpenAI embeddings does send document text to OpenAI — that is an explicit choice.

Do I need an OpenAI API key?

No. It is optional. See Embedding Models.

Do I need a GPU?

No. Embedding runs on the CPU.

Do I need to install PostgreSQL?

No. It ships inside the container, listening only on the container's loopback interface.

Which file types are indexed?

Markdown (.md), MDX (.mdx) and, if you enable it per source, plain text (.txt). PDFs, Office documents and images are not indexed.

Can one project have several sources?

Yes — that is the point. A local folder, two git repositories, an upload and a Notion workspace can all feed one endpoint. Each source is mounted under its own name, which becomes the first path segment of its documents. See Document Sources.

Can an agent search across two projects?

No, by design. Projects are isolated end to end. If two bodies of documentation belong to the same question, make them two sources of one project instead.

Can the agent modify my documentation?

No. All three tools are read-only. Contextator never writes to a local directory or pushes to a repository.

Is the MCP endpoint protected?

No — it is unauthenticated by design, because MCP clients have no interoperable way to carry credentials. Keep the port private or put authentication in front of it. ADMIN_TOKEN protects the dashboard and the API, not /mcp/*. See Security.

Does it work in languages other than English?

Yes. The default model covers 50+ languages including Turkish, and matches across them — a Turkish question can find an English paragraph.

How often does it re-index?

When you ask it to: the dashboard button, the API, or a push webhook. Indexing is incremental, so frequent runs are cheap. Notion has no push webhook, so a scheduled API call is the way there.

Will re-indexing re-embed everything?

No. Files are hashed; unchanged files are skipped. Only Force re-index, or a change of embedding model, rebuilds everything.

How big can a project be?

There is no hard limit. Search stays fast into the tens of thousands of chunks thanks to the HNSW index; the first index run is the expensive part. Separate unrelated knowledge into separate projects for better retrieval, not for capacity.

Can I run several projects at once?

Yes, as many as you like. They share one indexing queue — one project is indexed at a time — but serving searches is concurrent.

What happens if a source fails?

That source reports its own error and the others still index. A source whose content could not be read keeps the documents it had already contributed; a failure never empties a source.

Can I use it with an SSH git remote?

No — HTTPS with an access token only. See Git Repository Source.

Can I change a source's name?

No. The name is the prefix of every document path it contributes. Delete the source and add it again with the new name (which re-indexes it).

What happens to my files when I delete a project?

Files that Contextator materialised (git checkouts, uploads, Notion pulls) are deleted. Your own documentation is untouched: /docs is mounted read-only and local sources are scanned in place.

Can I put it behind a reverse proxy?

Yes — disable response buffering and set PUBLIC_BASE_URL. See Installation.

Does it support Claude Code, Cursor and Claude Desktop?

Yes, and anything else that speaks MCP. Both MCP transports are served on the same URL, so old and new clients both work without configuration. See Connecting AI Clients.

How do I know the answer came from my documentation?

Every search result carries a file path and a heading breadcrumb, and the server instructs agents to cite the file path they used. read_document returns the file so you can check it.

Where are my uploads stored?

In the contextator-data volume, under the source's directory. For upload sources that is the only copy — include the volume in your backups. See Backup and Data.

How do I upgrade?

git pull && docker compose up -d --build. The schema updates itself at startup; there is no migration command. Data lives in volumes and is kept.

What licence is it under?

GNU Affero General Public License, version 3 or later. The full text ships as LICENSE and every running instance serves it at /license.txt; the /license page of your own dashboard summarises it.

It was MIT before 2026-09-18. The AGPL was chosen because Contextator is a server: a plain GPL would let someone fork it, host it as a service and never publish their changes. Section 13 of the AGPL closes that gap.

Can I use it at work? Can I build on it?

Yes to both, and for most people nothing is required in return:

What you are doing What the licence asks
Running Contextator as it ships — for yourself, your team, your whole company Nothing. Internal use is simply use
Changing it and keeping the change to yourself Nothing, as long as nobody outside uses that version over a network
Changing it and letting other people reach your version over a network Offer those users the complete source of what you run, under the AGPL
Redistributing it — as a repository, an image, or inside a product Ship the source of your version, under the AGPL
Indexing your own documents with it Nothing. Your documents are yours; the licence covers Contextator's code, and an agent that queries /mcp/… does not inherit it

If your organisation forbids AGPL software by policy, or you need to ship it inside something closed, a separate commercial licence can be granted by the copyright holder — ask at tunedness.com.

Clone this wiki locally