Navidev KB RAG

Connect your AI assistant

Search your organisation's documents from Claude, Cursor or VS Code, without opening the panel.

The platform publishes an MCP server: once configured, your AI assistant can query your organisation's knowledge bases from wherever you already work. No copying documents around, no opening the panel to look something up.

The assistant gets three tools, all read-only: list the knowledge bases, search inside them, and ask for the download link of an original document.

What you need

The server address is always the same:

https://mcp-kb-rag.navidev.dev/mcp

You also have to identify yourself, and there are two ways. Which one applies is decided by your tool, not by you:

ToolHow you identify
Claude DesktopSign in
Claude CodeAPI key
CursorAPI key
VS Code (Copilot)API key

Signing in is straightforward: you paste the address, the browser opens and you sign in with your panel account. API key means creating a key in Settings → API keys and pasting it into the tool's configuration.

If your tool supports both, use the sign-in one: there is no credential to store and none that can leak.

Claude Code

claude mcp add --scope user --transport http kb-rag https://mcp-kb-rag.navidev.dev/mcp \
  --header "x-api-key: YOUR_API_KEY"

To check it, claude mcp list should show the server as connected.

Use --scope user. The default scope is local, which only applies in the folder you added it from. A company knowledge base is not a per-project thing: you will want it in every session.

To remove it or change the key: claude mcp remove kb-rag --scope user, then add it again.

Cursor

Edit ~/.cursor/mcp.json (on Windows, %USERPROFILE%\.cursor\mcp.json) to have it in every project, or .cursor/mcp.json inside one to limit it to that project:

{
  "mcpServers": {
    "kb-rag": {
      "url": "https://mcp-kb-rag.navidev.dev/mcp",
      "headers": {
        "x-api-key": "${env:KB_RAG_API_KEY}"
      }
    }
  }
}

Note ${env:KB_RAG_API_KEY}: it defines the key as an environment variable instead of writing it into the file. That matters if you use .cursor/mcp.json inside a project, because that file ends up in the repository very easily.

VS Code (GitHub Copilot)

You need VS Code 1.101 or later. In the workspace or user mcp.json:

{
  "inputs": [
    {
      "id": "kb_rag_api_key",
      "type": "promptString",
      "description": "Knowledge base API key",
      "password": true
    }
  ],
  "servers": {
    "kb-rag": {
      "type": "http",
      "url": "https://mcp-kb-rag.navidev.dev/mcp",
      "headers": {
        "x-api-key": "${input:kb_rag_api_key}"
      }
    }
  }
}

The inputs block makes VS Code ask you for the key the first time and store it securely, instead of leaving it written in the file.

Claude Desktop

No API key here. You identify yourself with your panel account, the same as when you sign in to the web.

  1. Settings → Connectors → Add custom connector.
  2. Name: whatever you like (kb-rag, for example).
  3. URL: https://mcp-kb-rag.navidev.dev/mcp.
  4. Leave Client ID and secret empty. They are not needed: the connector registers itself.
  5. On save, the browser opens. Sign in with your panel account — if you have two-step verification turned on it will also ask for the six-digit code — pick the organisation if you belong to more than one, and accept the permissions it asks for.

Back in the app, the connector shows as connected with its three tools. On that same screen you can decide whether each tool runs on its own or asks for approval; leaving it on "Requires approval" is also the simplest way to see when it is really using the knowledge base.

That authorisation expires and renews itself while the connection stays alive. You can revoke it at any time from Connections.

Other tools

Any client that speaks Streamable HTTP works, through either route:

  • If it supports custom headers: the address plus x-api-key with your key.
  • If it implements MCP authorisation: just the address. Finding no credential, the server tells it where to authenticate and the client opens the browser by itself, like Claude Desktop.

Two details in case your client is unusual:

  • If it only offers a generic "token" or "bearer" field, Authorization: Bearer YOUR_API_KEY is accepted too. x-api-key is preferred because some services rewrite the Authorization header.
  • If the client makes you choose a transport, it is Streamable HTTP (or "HTTP"), not SSE or stdio.

Checking that it works

There is nothing to invoke: once connected, the assistant decides when to use the tools. Try this order:

what knowledge bases do I have?
search my knowledge base for what it says about <a topic in your documents>
give me the download link for that document

What you should see:

  • To search it needs to know which base, so it will list the bases first and then search, without you asking.
  • It returns fragments of the documents, not a finished answer: the assistant reads them and answers you itself, citing where each thing comes from. That is by design.
  • Each fragment carries a similarity score. A low score is normal, not a failure: search always returns the closest thing it finds, so the last results tend to be barely relevant.
  • The download link is for you: the assistant cannot open it. And it expires in a few minutes, so use it right away; if you need it later, ask for another one.

Common problems

  • The server does not show up when listing. In Claude Code, it was added with local scope from another folder. Add it again with --scope user.
  • It does not connect, error 401. The header is missing or its name is misspelled: it has to be exactly x-api-key.
  • It connects, but everything fails with "the API key is not valid". The key is wrong or revoked. Create another one in the panel.
  • "This knowledge base does not exist in your organisation". Your key belongs to another organisation.
  • "Too many requests". You have run many searches in a row. Wait half a minute.
  • "This document does not keep the original file". That document was indexed without storing the original: its text is searchable, but there is no file to download.
  • A browser window opens asking for authorisation. That is the other way of connecting, and it is normal if your client prefers it: you sign in and authorise, without copying any key.
  • You connected through the browser and it stops working later. The authorisation expired or was revoked from the panel. Authorise again when your client offers to.
  • "This connection is not allowed to do that". You authorised the server with fewer permissions than the tool needs. Authorise it again and grant them.
  • It asks for a six-digit code when connecting. You have two-step verification turned on: it is the same code you use to sign in to the panel. If your app is not to hand, use one of your backup codes.
  • "The code is not valid" and you are sure it is. Most often your device clock is off: the codes are worked out from the time. If the clock is right, either the code already expired (they change every 30 seconds: wait for the next one) or it is a backup code that has already been used.
  • The code screen expires before you can type it. It allows 10 minutes. Launch the connection again from your tool and repeat the sign-in.
  • "Too many failed attempts" when typing your password. The account locks for 30 minutes after five failures in a row. To get in now, reset your password from the panel: that lifts the lock immediately. See Security.

Limits worth knowing

  • You see every knowledge base in your organisation, both with an API key and by signing in. There are no per-base permissions: if someone should only see part of the content, the way to do that is a separate organisation.
  • The assistant does not download files. It gives you the link and you download it yourself.
  • Only processed documents are searchable. A freshly uploaded one may take a while to appear, and one that failed to process will never appear even though it counts in the total.

Updated on Aug 19, 2026