Files
Nicolò Boschi 6582e26ef9 feat(mcp): expose knowledge-base CRUD as native MCP tools (#3486) (#3611)
The knowledge base was reachable only over HTTP, so an MCP client had to fall
back to a second integration path to browse or maintain it. Register the seven
agent-facing operations as native MCP tools, with the same bank scoping, tenant
auth and operation-validator behaviour as the existing tools:

  get_knowledge_base_tree, search_knowledge_base, get_knowledge_page,
  create_knowledge_folder, create_knowledge_page, update_knowledge_node,
  delete_knowledge_node

export_knowledge_base stays HTTP/CLI-only — it returns the whole bank as one
markdown bundle, which does not belong in an agent's context window.

Two places where the MCP surface cannot mirror the HTTP one, both commented at
the call site:

- MCP arguments cannot express an explicit null, so update_knowledge_node reads
  parent_id="root" as "move to the top level". Node ids are prefixed kf-/kp-, so
  the literal cannot collide with a real folder id.
- The page refresh trigger is flattened to a single refresh_after_consolidation
  flag, matching how create/update_mental_model already expose it. It is sent as
  a patch, so an unstated flag leaves the knowledge-page defaults (delta mode,
  observation-only) intact — the regression #3506 fixed.

get_knowledge_page returns the rendered markdown document once instead of the
HTTP body+markdown pair, which would double the tokens for no new information.
search_knowledge_base clamps limit instead of rejecting it: an agent that asked
for 500 pages wants results, not a 422.

Also adds a structural guard that the three hand-maintained tool allowlists
(_ALL_TOOLS, register_mcp_tools()'s default set, and the single-bank set in
create_mcp_server) agree with what is actually registered — a name added to one
but not the others silently drops the tool from the endpoint.
2026-08-19 11:58:18 +02:00
..
2026-08-14 18:03:40 +02:00
2026-08-14 10:45:59 +02:00
2026-08-07 18:16:35 +02:00
2025-11-25 19:28:26 +01:00
2025-11-25 19:28:26 +01:00
2025-11-25 19:28:26 +01:00
2026-08-07 18:16:35 +02:00

Website

This website is built using Docusaurus, a modern static website generator.

Installation

npm install

Local Development

npm start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

npm run build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

Using SSH:

USE_SSH=true npm run deploy

Not using SSH:

GIT_USER=<Your GitHub username> npm run deploy

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.