Skip to main content
Glama

kmd — knowledge-markdown

CLI + MCP server for structured markdown knowledge vaults. Validate, index (SQLite FTS5), and serve content to AI agents — one npx away.

Same primitives as Open Knowledge Format (markdown + YAML frontmatter + directory tree), but opinionated where OKF is minimal:

OKF

kmd

Vocabulary

open — producer picks type values

controlled — vault.yaml defines kinds, scopes, statuses, tags; kmd validate enforces

Structure

flat — organize however

three domains: projects/ · research/ · notes/

Validation

none — format spec only

deterministic, LLM-free; gates sync + pre-commit hook

Cross-refs

bundle-relative /path.md

[[wikilinks]] (Obsidian-native, rename-safe, no-dangling guarantee)

Agent surface

none — bring your own

two MCP tools (prime, search) + template resources

Infrastructure

n/a

node:sqlite FTS5; zero external deps

Install

npx @bartolli/kmd --help

Related MCP server: DocGraph

Commands

kmd validate [<path>]     deterministic vault checker (default: $WIKI_VAULT)
kmd sync                  vault → SQLite index (runs validate first)
kmd mcp [<vault-root>]    stdio MCP server
kmd db reset              delete and recreate the index

MCP registration

{
  "mcpServers": {
    "wiki": {
      "command": "npx",
      "args": ["-y", "@bartolli/kmd", "mcp", "/absolute/path/to/vault"]
    }
  }
}

Two tools:

  • prime(scope, task?) — orientation briefing: identity, primer, active ADRs, plan, vocabulary, hubs, task-relevant pages.

  • search(query, scope?, kind?, limit?) — FTS5 ranked candidates {path, title, kind, summary, score}. Never page bodies.

Templates served as MCP resources at wiki://template/{domain}/{kind}.

Vault structure

vault/
├── vault.yaml              # controlled vocabulary
├── templates/               # frontmatter templates → MCP resources
├── projects/{scope}/        # specs, ADRs, plans, stories
├── research/{topic}/        # articles, sources
└── notes/                   # low-ceremony capture

Development

Requires Node.js 22+ (node:sqlite FTS5) and pnpm 11+.

pnpm install
pnpm -r run typecheck && pnpm -r run test && pnpm lint

License

MIT

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bartolli/kmd'

If you have feedback or need assistance with the MCP directory API, please join our Discord server