{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "inkeep--open-knowledge",
    "name": "OpenKnowledge",
    "tagline": "WYSIWYG markdown knowledge-base editor that ships a 21-tool MCP server and skills for coding agents.",
    "shortTagline": "Markdown knowledge base",
    "description": "OpenKnowledge from Inkeep is a desktop and local-web markdown editor for LLM wikis, specs, and notes over any folder of .md files. Its installer wires an MCP server and skills into Claude Code, Codex, Cursor, and other harnesses; the server exposes search, link-graph, lint, history, and polymorphic write/edit/move tools with git-backed versioning.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "notes-knowledge",
    "alternativeTo": [
      "Notion",
      "Confluence"
    ],
    "shape": "business-app",
    "formFactor": "desktop",
    "executionModel": "hybrid",
    "provenance": "unknown",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "Electron",
        "Vite",
        "Hocuspocus"
      ],
      "packageManager": "npm",
      "database": [],
      "hostingTarget": [
        "local"
      ]
    },
    "modelStack": {
      "providers": [
        "OpenAI-compatible embeddings (OpenAI, Ollama, vLLM, LM Studio)"
      ],
      "models": [
        "text-embedding-3-small"
      ],
      "requiredKeys": [
        "OK_EMBEDDINGS_API_KEY"
      ],
      "promptLocations": [
        ".agents/skills/"
      ],
      "tools": [
        "exec",
        "search",
        "links",
        "lint",
        "audit",
        "history",
        "skills",
        "config",
        "palette",
        "preview_url",
        "share_link",
        "write",
        "edit",
        "delete",
        "move",
        "install",
        "import",
        "checkpoint",
        "restore_version",
        "conflicts",
        "resolve_conflict"
      ]
    },
    "repos": [
      {
        "url": "https://github.com/inkeep/open-knowledge",
        "owner": "inkeep",
        "name": "open-knowledge",
        "license": "GPL-3.0",
        "stars": 3964,
        "lastCommit": "2026-09-03"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://openknowledge.ai/docs/reference/mcp",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Read and search the knowledge base",
        "reachable": true,
        "evidence": "exec (fs-direct reads with backlinks) and search (BM25 plus optional semantic)"
      },
      {
        "job": "Create, edit, move, and delete documents, folders, and assets",
        "reachable": true,
        "evidence": "write, edit, delete, move tools polymorphic over document, folder, template, skill, asset"
      },
      {
        "job": "Wiki-link graph and backlinks",
        "reachable": true,
        "evidence": "links tool with backlinks, forward, dead, orphans, hubs, suggest"
      },
      {
        "job": "Content rules and lint",
        "reachable": true,
        "evidence": "lint and audit tools; lint fix: true auto-fixes"
      },
      {
        "job": "Version history, checkpoints, and restore",
        "reachable": true,
        "evidence": "history, checkpoint, restore_version"
      },
      {
        "job": "Manage and import agent skills",
        "reachable": true,
        "evidence": "skills, install, import tools"
      },
      {
        "job": "Git and GitHub sync, conflict resolution",
        "reachable": true,
        "evidence": "conflicts and resolve_conflict; auto-sync itself is configured in autoSync.* config"
      },
      {
        "job": "Team share links",
        "reachable": true,
        "evidence": "share_link tool"
      },
      {
        "job": "Resolve comment annotations",
        "reachable": null,
        "evidence": "exec returns unresolved comments; no explicit resolve tool seen in the reference"
      },
      {
        "job": "In-app AI chat and slides",
        "reachable": false,
        "evidence": "human UI features; no MCP tool"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/inkeep/open-knowledge"
          },
          {
            "kind": "binary",
            "url": "https://openknowledge.ai/download"
          },
          {
            "kind": "installable",
            "url": "https://www.npmjs.com/package/@inkeep/open-knowledge",
            "command": "npm install -g @inkeep/open-knowledge && ok init"
          }
        ]
      }
    ],
    "skills": {
      "kind": "bundled",
      "paths": [
        "packages/server/assets/skills/*/SKILL.md",
        "packages/server/assets/skills/packs/*/SKILL.md",
        "packages/plugin/.claude-plugin/plugin.json"
      ],
      "install": null,
      "note": "Server ships skill packs (knowledge base, codebase wiki, entity vault, plain notes) and a Claude Code plugin that agents install to use the knowledge store."
    },
    "customization": {
      "summary": "Three YAML layers: ./.ok/config.yml (committed), ~/.ok/global.yml (user), ./.ok/local/config.yml (machine). Keys cover content.dir, contentRules, validation, appearance, autoSync, server, editor, agents.autoApproveOkTools, search.semantic. Env overrides are OK_* (OK_BIND, OK_EXTERNAL_URL, OK_ALLOW_EXTERNAL, OK_MCP_AUTOSTART, OK_EMBEDDINGS_API_KEY). Skills are SKILL.md bundles under .agents/skills/. The repo .env.example only sets VITE_PORT and OTEL_* for development.",
      "envVars": [
        "OK_BIND",
        "OK_EXTERNAL_URL",
        "OK_ALLOW_EXTERNAL",
        "OK_LANG",
        "OK_LOG_LEVEL",
        "OK_OPEN_BROWSER",
        "OK_MCP_AUTOSTART",
        "OK_EMBEDDINGS_API_KEY",
        "VITE_PORT",
        "OTEL_SDK_DISABLED"
      ],
      "configFiles": [
        ".ok/config.yml",
        "~/.ok/global.yml",
        ".ok/local/config.yml",
        "~/.ok/secrets.yml"
      ],
      "promptFiles": [
        ".agents/skills/*/SKILL.md"
      ],
      "effort": "config-only",
      "editCount": 15
    },
    "useWhen": [
      "you keep specs and a team wiki as markdown in git and want agents to search, lint, and edit them with history",
      "you want an Obsidian-like editor that installs its own MCP and skills into Claude Code and Codex"
    ],
    "accounts": [
      "GitHub (optional, for team sync)",
      "OpenAI or a self-hosted embeddings endpoint (optional, semantic search)"
    ],
    "active": true,
    "lastActivity": "2026-09-03",
    "gotchas": [
      "GPL-3.0",
      "Semantic search sends content to the embeddings provider; off by default",
      "Every MCP call takes a cwd; a globally registered server needs it unless the client advertises one root",
      "Web app needs Node.js 24+ and git"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: desktop app for macOS, Windows, Linux; also a local web UI from the CLI",
      "executionModel": "agent integrations and opt-in embeddings; editor works without a model",
      "operability": "docs/content/reference/mcp.mdx in the repo, 21 tools, published by Inkeep",
      "effort": "openknowledge.ai/docs/reference/configuration: YAML config layers and OK_* env vars",
      "editions": "README: 'Private, local, and free'; no paid edition found in docs",
      "active": "pushedAt 2026-09-03; Show HN 2026-06-25 with 381 points",
      "provenance": "AGENTS.md present; no statement on how it was written"
    },
    "confidence": {
      "formFactor": 0.85,
      "executionModel": 0.75,
      "operability": 0.95,
      "effort": 0.85,
      "reach": 0.9,
      "editions": 0.75,
      "provenance": 0.3
    },
    "openQuestions": [
      "Does Inkeep sell a hosted or team edition of OpenKnowledge, or only its separate Inkeep products?",
      "Which providers and keys does the in-app AI chat use?",
      "Is 'official' or 'native' the better level given agents are a first-class co-editor?"
    ],
    "sources": [
      {
        "url": "https://github.com/inkeep/open-knowledge",
        "foundBy": "sourcing:notes-knowledge:community"
      },
      {
        "url": "https://openknowledge.ai/docs/reference/mcp",
        "foundBy": "analysis"
      },
      {
        "url": "https://openknowledge.ai/docs/reference/configuration",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Official 21-tool MCP with complete Reach over the markdown workspace; YAML config layers and OK_* env vars make it config-only; GPL caps Adaptable at 2.",
      "disputed": []
    },
    "url": "apps/inkeep--open-knowledge.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/inkeep--open-knowledge.json"
  }
}
