Digital Sovereignty for everyone

Changelog

  • 1.8.1: Knowledge base abilities are marked as working on one site’s knowledge base (meta site_scoped). Where LH MCP Adapter Extensions is active they take an optional site_id to read or edit another site’s knowledge base you belong to, with permissions checked on that site. Calls without site_id are unchanged.
  • 1.8.0: Security fix: get-entry no longer returns draft, pending, private or trashed entries to users who only have read; an entry that is not active now also needs edit_post, and is reported as not found otherwise. All five abilities now declare output schemas, and create-entry, get-entry and list-entries descriptions end with the capability they require. The ability category is renamed from knowledge-base to lh-knowledge-base, matching the plugin text domain.
  • 1.7.13: Knowledge base entries can now be locked with LH Post Locking: the entry post type supports custom fields, which makes it lockable and lets the lock checkbox appear in the block editor. update-entry and trash-entry now check edit_post or delete_post on the entry itself, not only edit_posts, so they respect per-entry restrictions such as a lock, and a locked entry is refused with a clear ‘entry is locked’ error (with locked: true) instead of core’s misleading ‘content, title, and excerpt are empty’.
  • 1.7.12: Logged-out requests for Markdown (.md) knowledge base URLs now get a short Markdown explanation that the knowledge base requires signing in, with a log-in link that returns to the requested URL and a pointer to the MCP abilities, sent with status 403. Every .md URL gets the same response whether or not the entry exists, so it reveals nothing about the knowledge base’s contents.
  • 1.7.11: Fixed the Markdown (.md) versions of knowledge base entries, indexes and logs being readable without logging in. They now follow the same access rule as the HTML pages (lh_kb_current_user_can_view, logged-in users by default) and return 404 otherwise, and Markdown responses are marked private and uncacheable so a page cache cannot serve them to anyone else.
  • 1.7.10: Now requires PHP 8.2, matching LH Content Converter, which this plugin requires and which needs PHP 8.2 for its bundled conversion library. No change to how the plugin works.
  • 1.7.9: Markdown conversion now goes through LH Content Converter, the renamed LH Markdown Converter, which uses Automattic’s blocks engine. Entries written as Markdown are now saved as the block markup the editor itself produces: list items and nested lists as real list-item blocks, quotes with inner paragraphs, and tables with header and body rows. The required plugin is now lh-content-converter, and the plugin header declares PHP 8.1, which that plugin needs. The version is now read from the plugin header.
  • 1.7.8: Markdown conversion now delegates to the shared LH Markdown Converter plugin instead of bundling league/commonmark and league/html-to-markdown in this plugin. The knowledge base’s own conversion options (no autolinks, no hard breaks, no table pipe alignment) are passed through, and conversion degrades safely if the converter plugin is missing. LH Markdown Converter is now a required plugin.
  • 1.7.7: create-entry and update-entry now take Markdown content as content_md, the same field name get-entry returns, so content read from one entry can be written straight back. Previously the write side used a different name, and content passed under the read-side name was silently ignored while the call still reported success. All abilities now reject unknown parameters, update-entry returns an error when given nothing to change, and the modified timestamps the abilities return are now correct for the site’s timezone. History before 1.7.8 not listed here was not carried over from the plugin’s old readme.
  • 1.5.0: Entries now use their own Active status instead of Published, so visibility is controlled by the plugin: logged-in users can see entries and anonymous visitors cannot. The rule is filterable through lh_knowledge_base_current_user_can_view, so it can be tied to membership or capabilities, and existing published entries are moved to the new status on activation.
  • 1.1.0: Separates an entry’s own document from its folder index. /knowledge/{slug}.md now serves the entry’s content and returns 404 if it has none; /knowledge/{slug}/index.md serves a generated index of its children and returns 404 if it has none. Concept documents gain OKF-style YAML front matter, and every ability response now reports has_content, has_children, concept_url and index_url so an agent can see which URLs are live.
  • 1.0.0: Initial release. Adds a per-site knowledge base: hierarchical lh_kb_entry entries with a free-form entry type taxonomy seeded with concept, workflow, ability and platform. Each entry is served as Markdown at /knowledge/{slug}.md, with links rewritten to their Markdown versions, and MCP abilities create-entry, get-entry, update-entry, list-entries and trash-entry give AI agents full read and write access.

If you like this plugin please consider making a donation to further development

Install LHero.org

lhero.org

Open it straight from your home screen, full screen and quicker to load.

  1. Tap the Share button . If you cannot see it, tap ••• first.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add.
  1. Tap the browser menu â‹®.
  2. Tap Install app or Add to Home screen.
  1. In the menu bar, choose File, then Add to Dock.

Use your browser's menu to install this site or add it to your home screen.