list_projects
viewer+List all knowledge base projects in an organization.
Everything you need to drop raw notes into Knowladex and walk away with an interconnected wiki you can query from Claude, Cursor, or any tool that speaks MCP. Start with the 5-minute quickstart, or jump straight to the tool reference.
Knowladex is a multi-tenant knowledge-base platform built on a single architectural choice: the model that compiles your knowledge base is the model you're already paying for.
Drop raw documents — meeting transcripts, half-finished
specs, customer call notes, scratch files — into a project.
Then ask your AI tool to compile. It calls Knowladex's MCP
compile tool, gets a payload of raw docs and
current wiki state, and writes interconnected articles
back over write_article. Knowladex stores,
indexes, cross-links, and serves them.
Assumes Knowladex has already provisioned your workspace. (If you're self-hosting, see the repo for the deploy guide.)
Open https://app.knowladex.com/c/<your-org>/login and sign in with the email and password your account team gave you.
Click New project. A project is one knowledge base — pick a slug like acme-rebrand or q1-research.
Go to My account → Create API token. You'll get a kbm.<org>.<random> string. Save it — it's only shown in full once.
The My account page has copy-paste configs for Claude Code, Cursor, and Claude Desktop. See connecting your AI tool for the full guide.
In your AI tool: "ingest this file into the acme-rebrand project on Knowladex" — drop a markdown file. The AI tool will call ingest_document.
Then: "compile the acme-rebrand knowledge base". Your AI tool will call compile, read every raw doc, and write wiki articles via write_article.
Open the dashboard at /c/<org>/p/<project>. You'll see a fully-formed wiki with cross-links, an index, and search.
Knowladex's data model is small enough to fit in one diagram. Five things, in order from outermost to innermost:
The top-level tenant. One org = one client (if you're
an agency) or one company (if you're a product team). Orgs
contain users, projects, and tokens, and are the unit of
isolation — users in one org can never see another org's data.
Org slugs look like acme-corp or
knowladex.
One knowledge base inside an org. An org can have many
projects (e.g. marketing-research,
infra-rewrite, product-decisions).
Each project has its own raw store, wiki, index, schema, and
activity log.
The unstructured input. Markdown, transcripts, meeting dumps,
scratch files. Knowladex stores them as-is in the project's
raw/ directory. Each raw doc gets an id, title,
tags, and optional source URL. Raw docs are never modified
after ingest — they're the source of truth.
The compiled output. Markdown files with frontmatter
(title, tags, sources),
stored in the project's wiki/ directory. Articles
link to each other with [[wikilinks]], and link
back to the raw documents they were compiled from. Knowladex
maintains a backlink graph automatically.
The verb that ties raw docs to wiki articles. When you ask
your AI tool to "compile", it calls
compile, which
returns:
schema.md
Your AI tool reads everything, decides what articles to
create or update, and calls write_article
for each one. Knowladex stores the article, regenerates the
dashboard, and updates the backlink graph. The next compile
only sees what's changed since this run.
Knowladex exposes everything — ingest, compile, write, search, lint — as Model Context Protocol tools. Any AI tool that speaks MCP (Claude Code, Cursor, Claude Desktop, your own agent) can call them with a Bearer token. There is no Knowladex SDK to install. The protocol is the SDK.
Knowladex has two entry points: a web dashboard and an MCP endpoint. Each takes a different credential.
/c/<org>/login with your email and password. A SameSite=Lax session cookie keeps you signed in./mcp with Authorization: Bearer kbm.<org>.<random>. Tokens are minted from your account page and bound to a single user.kbm.acme.xxx token can only ever read or write
acme's data. The org slug is encoded in the
token, so cross-org leakage is structurally impossible.
Every user (and every API token, since tokens inherit their user's role) has one of three roles:
Role changes take effect on the next request — sessions and token caches are invalidated immediately. There is no waiting period.
See the permissions matrix for a tool-by-tool breakdown.
Knowladex exposes POST /mcp over HTTP using the
MCP Streamable HTTP transport. Any client that supports HTTP
MCP can connect directly. Clients that only speak stdio
(Claude Desktop, currently) connect through a small bridge.
Claude Code has first-class HTTP MCP support. One terminal command:
claude mcp add knowladex https://app.knowladex.com/mcp \ --scope user \ --transport http \ --header "Authorization: Bearer kbm.acme.YOUR_TOKEN"
--scope user is the important
flag — without it Claude Code only registers Knowladex
for the folder you're standing in. With it, Knowladex is
available in every Claude Code session you ever
start. From then on, try: "claude, list all the projects
in knowladex".
Add to ~/.cursor/mcp.json (create the file if it
doesn't exist). Cursor will pick it up on next restart.
{
"mcpServers": {
"knowladex": {
"url": "https://app.knowladex.com/mcp",
"headers": {
"Authorization": "Bearer kbm.acme.YOUR_TOKEN"
}
}
}
}
Claude Desktop currently only speaks stdio MCP, so we use the
mcp-remote
bridge to forward stdio over HTTP. Add to
claude_desktop_config.json (Settings → Developer
→ Edit Config) and restart Claude.
{
"mcpServers": {
"knowladex": {
"command": "npx",
"args": [
"mcp-remote",
"https://app.knowladex.com/mcp",
"--header",
"Authorization: Bearer kbm.acme.YOUR_TOKEN"
]
}
}
}
The endpoint speaks standard JSON-RPC 2.0 over HTTP. Test it with curl:
curl -X POST https://app.knowladex.com/mcp \ -H "Authorization: Bearer kbm.acme.YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
You'll get back a list of every tool you have permission to
call. From there, send tools/call requests with
the tool name and arguments.
You have a folder of meeting notes, customer transcripts, and half-finished specs. You want a wiki.
acme-discovery in Knowladex".acme-discovery on knowladex, tagged with the year and the source type".acme-discovery to require articles for every customer mentioned, every product mentioned, and every blocker raised".acme-discovery knowledge base". Your AI tool will call compile, get every raw doc plus your schema, and write articles.acme-discovery and fix any orphans". Your AI tool will call lint_wiki and patch any issues.You've added new docs to a wiki that's been running for a while. You want to update only what changed.
acme-discovery knowledge base — incremental, just what's changed".
For a full rebuild from raw, pass fullRecompile: true.
You'll rarely need this — incremental is the right default.
Search in Knowladex uses MiniSearch (fuzzy + prefix), scoped
to a project. The MCP search tool returns ranked
results with excerpts.
acme-discovery tagged 'blocker' and summarize them" (uses list_articles with a tag filter)read_article; backlinks come back in the response)
Wiki rot is real. Articles get orphaned, links break, content
goes stale. The lint_wiki
tool finds these issues; your AI tool can fix them.
acme-discovery on knowladex and show me the report"read_article, decides what the link should be, and calls write_article with the fix.
Each project has a schema.md file that's read on
every compile. It's free-form markdown — instructions written
for an LLM, not a parser. Use it to encode conventions:
# schema.md ## Article conventions - Every customer mentioned in raw docs gets its own article. - Every decision mentioned gets an article tagged 'decision'. - Use [[wikilinks]] for every internal cross-reference. - Cite source raw docs in the frontmatter sources field. ## Voice - Past tense for events, present tense for current state. - Lead with the conclusion, then the evidence.
Read it with get_schema;
update it with update_schema.
The next compile picks it up automatically.
Every Knowladex capability is exposed as an MCP tool. This
section documents the customer-facing tools you (and your AI
tool) can call. Two more tools — create_org and
delete_org — exist but are restricted to the
Knowladex global admin.
List all knowledge base projects in an organization.
Create a new knowledge base project inside an organization. Regenerates the dashboard.
name if omitted.
Permanently delete a project and all its raw docs, articles, and logs. Destructive.
true or the call is rejected.
List organizations the caller has access to. For org-scoped tokens, returns only the bound org.
No parameters.
Create a legacy guest share token (read-only or editor). For real per-user access, use create_org_user + create_api_token instead.
viewer (default) or editor.
List legacy guest share tokens for an org.
Invalidate a guest share token immediately.
Add a raw document to a project's knowledge base. The document is stored as-is for later compilation. Regenerates the dashboard.
article · paper · repo · dataset · note · other
List all raw documents in a project. Optional filters narrow by tag or ingest date.
Create or update a wiki article. This is the primary write path for compile output.
[[slug]] for wikilinks. Max ~5MB.
Read one wiki article by slug. Returns full content, frontmatter, wikilinks, and the backlink graph for that article.
List all articles in a project, optionally filtered by tag. Returns slugs, titles, tags, modified timestamps, and link counts (no full content).
Get the project's master index / table of contents — both as rendered markdown and as a structured JSON tree.
Full-text search across all wiki articles in a project. Fuzzy matching with prefix support, ranked results with excerpts.
Check what raw docs are new, changed, or deleted since the last compile. Read-only — doesn't modify anything.
The big one. Returns raw documents (new/changed by default, all if fullRecompile), the current wiki state, and per-project compile instructions, all bundled for the calling LLM to process. The LLM then calls write_article for each output article.
true, returns ALL raw documents instead of just changes. Default false.
Run health checks on a project's wiki. Reports orphaned articles, broken wikilinks, missing frontmatter, stale articles, and suggested cross-references.
Read the project's schema.md. The schema defines wiki conventions and per-project compile instructions.
Replace the project's schema.md. Free-form markdown — instructions for an LLM, not a parser.
Read the project's chronological activity log — every ingest, compile, write, and delete.
User and token management is admin-only. End users manage their own profile, password, and tokens through the My account page in the dashboard — no MCP call required.
Create a new user account in an organization. The user can then sign in at /c/<org>/login.
org_admin · editor · viewer
List all users in an org. Password hashes are never returned.
Reset a user's password. Drops their active sessions immediately.
list_org_users).
Change a user's role. Drops their active sessions so the new role takes effect immediately.
org_admin · editor · viewer
Permanently delete a user account. Drops their sessions.
true.
Mint a Bearer API token for a user. Returns a kbm.<org>.<random> string. Token is only shown once at creation — save it.
List a user's API tokens. Returns metadata only — full token values are masked.
Invalidate an API token immediately.
Quick reference: which role can call which tool. Roles are
additive — editor can do everything
viewer can, and org_admin can do
everything editor can.
| Tool | viewer | editor | org_admin |
|---|---|---|---|
| list_projects | ✓ | ✓ | ✓ |
| list_orgs | ✓ | ✓ | ✓ |
| list_raw_documents | ✓ | ✓ | ✓ |
| read_article | ✓ | ✓ | ✓ |
| list_articles | ✓ | ✓ | ✓ |
| get_index | ✓ | ✓ | ✓ |
| search | ✓ | ✓ | ✓ |
| get_compile_status | ✓ | ✓ | ✓ |
| lint_wiki | ✓ | ✓ | ✓ |
| get_schema | ✓ | ✓ | ✓ |
| get_log | ✓ | ✓ | ✓ |
| ingest_document | — | ✓ | ✓ |
| write_article | — | ✓ | ✓ |
| compile | — | ✓ | ✓ |
| update_schema | — | ✓ | ✓ |
| create_project | — | — | ✓ |
| delete_project | — | — | ✓ |
| create_org_user | — | — | ✓ |
| list_org_users | — | — | ✓ |
| set_org_user_password | — | — | ✓ |
| set_org_user_role | — | — | ✓ |
| delete_org_user | — | — | ✓ |
| create_api_token | — | — | ✓ |
| list_api_tokens | — | — | ✓ |
| revoke_api_token | — | — | ✓ |
| create_client_token | — | — | ✓ |
| list_client_tokens | — | — | ✓ |
| revoke_client_token | — | — | ✓ |
No. The compile work runs in your AI tool, on your Anthropic (or other) bill. Knowladex stores raw documents and wiki articles, exposes MCP tools, and serves the dashboard — but it never calls an LLM itself. That's the whole point of the architecture.
Mint a new one from My account → Create API token, then revoke the old one. Tokens are cheap and disposable. The dashboard never shows old tokens in plaintext after creation, so you can't recover one — only replace it.
Yes. Knowladex uses a per-project mutex around writes, so concurrent write_article calls are serialized within a single project. Reads are unrestricted. Two editors writing different articles in the same project will not conflict.
The hard ceiling is ~5MB per document (5,000,000 characters). For most use cases that's effectively unlimited, but for very large transcripts or PDFs you may want to chunk on ingest.
Yes — the codebase is on GitHub and the repo includes a fly.toml for one-command Fly deploys. You'll need to bring your own object storage / disk and configure an admin token. Knowladex offers managed hosting with multi-tenant primitives, custom subdomains per client, and white-glove onboarding — see the pricing page.
Not in the default build. SSO (SAML / OIDC) is available on the Agency plan. Talk to us if you need it.
Hosted: a Fly.io persistent volume in the region your workspace was provisioned in (default: iad). Backups are taken nightly. Self-hosted: wherever you point the storage backend — local disk by default.
Every raw doc, every wiki article, and every schema file is plain markdown on disk. Ask us for a tarball and you have your data, no lock-in. Knowladex's value is the compile loop, the multi-tenant primitives, and the MCP server — not hostage-holding.
Sign in to the dashboard and open My account → Get help from a human. Or email hello@knowladex.com. Real people respond, typically within one business day.