Start free
Guide Memory

How to give Jan better memory

Updated 4 min read

The short answer

Give Jan better memory in two documented ways: set standing instructions on an Assistant, and use the permanent memory directory and retrieval tool in the local data folder (Jan docs). For memory that spans topics and tools, connect an outside knowledge base over MCP, which Jan supports as an MCP host (Jan docs). KnowMan runs an MCP server with six tools: kb_search, kb_ask, kb_get_item, kb_save, kb_recent and kb_memories (KnowMan MCP).

On this page8 sections
  1. What Jan stores as memory
  2. Set standing instructions on an Assistant
  3. Tune the retrieval tool
  4. Documented limits to keep in mind
  5. Jan supports MCP for outside knowledge
  6. Add the KnowMan MCP server to Jan
  7. Where KnowMan fits
  8. Questions people ask

What Jan stores as memory

Jan stores your data locally in JSON format, and the data is yours alone (Jan docs). Desktop memories live in a memory/ directory in the agent workspace, alongside skills/ and saved subagent definitions, and they live there permanently. Dedicated memory and skill tools use this permanent store, while general file and shell tools are confined to permitted workspace locations, including writable project folders attached in Cowork.

Each conversation thread is also stored locally, with messages in messages.jsonl and thread data in thread.json (Jan docs).

Set standing instructions on an Assistant

Jan lets you give models a specific set of instructions without repeating yourself, and it calls these configured models Assistants (Jan docs). You can add, edit, or delete assistants, and customize their instructions and settings, from the Assistants tab.

In the assistant configuration, the instructions field provides the default thread instructions (Jan docs). Jan recommends including examples in your instructions to increase the model's compliance with your request (Jan docs). You can switch assistants directly from the chat input, and when you create a project you can assign an assistant to it so every conversation in that project uses your chosen persona and instructions (Jan docs).

Tune the retrieval tool

Jan's data folder includes rag-extension and vector-db-extension folders in the extensions area (Jan docs). The assistant retrieval tool exposes three configurable settings: top_k, the maximum number of retrieval results, defaults to 2. chunk_size, the text chunk size, defaults to 1024. chunk_overlap, the chunk overlap amount, defaults to 64 (Jan docs).

For the trade-offs between retrieval over files and a curated knowledge base, see RAG vs a personal knowledge base.

Documented limits to keep in mind

Jan's documentation does not state a size or character limit for assistant instructions, and it does not describe how the memory directory is populated, viewed, or edited inside the interface (Jan docs). It also does not state whether the retrieval tool is enabled by default for new assistants.

There is also a structural split. Jan Agent uses separate user and project stores under ~/.jan/, and its skills and memory are not automatically shared with the Desktop data folder (Jan docs).

Jan supports MCP for outside knowledge

Jan supports the Model Context Protocol, an open standard for connecting language models to external tools and data sources (Jan docs). Jan is an MCP host that lets you download clients and servers and use them to accomplish tasks. For background, see an MCP server for your knowledge base.

Two cautions from the same page. Not all models you can use in Jan may be good at tool calling or compatible with MCP, and for local models you enable tool calling in the model parameters through the edit button in Model Capabilities. Active MCP connections may consume a portion of a model's context window (Jan docs).

You must approve each tool call individually. Approval panels appear inline inside the tool card in the chat, showing the exact arguments before you accept or deny (Jan docs).

Add the KnowMan MCP server to Jan

KnowMan runs as a local stdio MCP server, started with npx -y @knowman/mcp on Node 22 or newer, and as a hosted remote server at https://api.knowman.io/mcp with OAuth sign-in or an API key sent as Authorization: Bearer (KnowMan MCP).

For the local server, the documented configuration uses command npx, arguments -y @knowman/mcp, and a KNOWMAN_API_KEY environment variable, shown in the config block above (KnowMan MCP). Create a key in KnowMan at Settings > Connections > Connect an AI agent, or run npx -p @knowman/mcp knowman login once to sign in with your browser and skip the environment block.

This setup follows the two documented sides: Jan as an MCP host, and KnowMan's documented MCP configuration. For a wider view, see a knowledge base for AI agents.

Where KnowMan fits

Jan stores your data locally in JSON format, and desktop memories live permanently in the agent workspace memory directory (Jan docs). KnowMan works one layer out: it saves articles and links, reads and tags them, answers questions with citations, and keeps memories of claims, decisions and playbooks. KnowMan runs an MCP server (KnowMan MCP), and MCP is the standard Jan's docs describe for external tools and data sources (Jan docs).

After connecting, ask the assistant to search or save, with phrases like search my KnowMan for or save this URL (KnowMan MCP). The same library can serve other MCP clients too, see connect any AI to your notes and persistent memory for AI agents.

Questions people ask

Does Jan have memory?

Yes. Desktop memories live permanently in the agent workspace memory directory, alongside skills and saved subagent definitions, and Jan stores your data locally in JSON format (Jan docs). Standing instructions live separately, on Assistants (Jan docs).

How do I give Jan permanent instructions?

Create an assistant from the Assistants tab and write your instructions there; the instructions field provides the default thread instructions (Jan docs). Jan recommends including examples to increase the model's compliance with your request (Jan docs). You can also assign the assistant to a project so every conversation in it uses those instructions (Jan docs).

Can Jan use an external knowledge base?

Yes, over MCP. Jan supports the Model Context Protocol, an open standard for connecting language models to external tools and data sources, and it acts as an MCP host (Jan docs). KnowMan runs a local stdio MCP server and a hosted remote server at https://api.knowman.io/mcp (KnowMan MCP).

Do I have to approve KnowMan tool calls in Jan?

Yes. Jan requires you to approve each tool call individually, and approval panels appear inline in the chat showing the exact arguments before you accept or deny (Jan docs). You keep control over every search and save.

Give Jan a library behind the chat

Try KnowMan Pro free for 14 days, no credit card needed.

Start free

Every new account starts with 14 days of Pro. No credit card.