Validate, search, graph, and safely author local Open Knowledge Format bundles.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
okf-mcp is a local-first consumer, validator, graph index, CLI, and MCP server for Open Knowledge Format v0.2.
It consumes an OKF bundle directory of Markdown files with YAML frontmatter. An optional workspace mode can federate several bundles. Concepts are exposed through CLI commands and MCP resources and tools for validation, structured search, graph navigation, provenance inspection, and proposal-based authoring.
The core intentionally has no database, embeddings, build step, or hosted-service dependency. It uses js-yaml for safe YAML, CommonMark for Markdown structure, MiniSearch for in-memory BM25+ text retrieval, and the official Model Context Protocol TypeScript SDK v2 for stdio MCP. Local root mode makes no network calls. Optional remote loading fetches public Markdown concepts and only their explicitly referenced inert assets from GitHub. Nothing in the v0.2 computation support executes code or attests a receipt.
OKF v0.2 intentionally specifies a portable file format, not a serving or query runtime. okf-mcp keeps that boundary explicit:
| Area | Official OKF v0.2 | okf-mcp behavior |
|---|---|---|
| Bundle and identity | A directory tree of Markdown files; a Concept ID is its bundle-relative path without .md | --root maps directly to one bundle; okf:// is an optional workspace locator, not the portable Concept ID |
| Concept metadata | Required type; recommended title, description, resource, and tags; unknown keys are allowed | Preserves extension fields and unknown types while reporting normative conformance separately from workspace policy |
| Provenance and lifecycle | sources, usage_window, generated, verified, status, and stale_after | Normalizes these fields for search, provenance traversal, trust tiers, and deterministic freshness checks |
| References | Markdown links and path-valued resource, sources[].resource, computation, executor.resource, and attester.resource fields | Builds graph edges and bounded inert asset snapshots without executing or implicitly fetching referenced code |
| Attested Computation | Defines contract fields and an informative consumer flow while deferring runtime wire protocols and attester packaging | Statically inspects contracts and digests, checks declared parameter and receipt field names, and never executes or claims attestation |
| v0.1 compatibility | Allows timestamp fallback when the whole generated mapping is absent and # Citations fallback when the sources key is absent | Consumes both forms and adds review-only migration checks and proposals |
The following are okf-mcp extensions rather than requirements of the format:
okf.project.yaml workspaces and typed relationsid, aliases, and okf:// locatorsstrictLinksNode 22 or newer is required.
Install from the GitHub release:
Pin the published version for reproducible use:
For a persistent installation:
To work from the current source branch:
--root accepts one local OKF bundle directory and is the recommended okf-mcp interface for a single bundle. The portable identity of each concept is its extensionless path inside that root.
--bundle accepts either a path or id=path. Multiple flags remain supported for compatibility. --project and its bundles: list are an optional okf-mcp federation/authoring extension, not part of OKF v0.2.
--remote-bundle accepts id=https://github.com/<owner>/<repo>/tree/<ref>/<path>. It fetches public Markdown first, then only bundle-local files explicitly named by standard v0.2 resource fields. Remote content remains read-only and inert.
--inspect prints a compact graph summary and exits. Without --inspect and without an explicit command, the process starts a stdio MCP server.
The package exposes both okf and okf-mcp binaries when installed. Without an explicit source, the CLI first discovers the nearest root index.md declaring okf_version; nearest-project discovery remains a compatibility fallback.
CLI exit statuses are 0 for success, 1 for validation or operational failure, and 2 for invalid usage. Unknown options are rejected.
This repository publishes a self-describing OKF bundle for the product, its runtime boundaries, interfaces, authoring workflows, and safety policy. Its portable entry Concept ID is overview/okf-mcp; okf://okf-mcp/overview/okf-mcp remains the workspace/MCP resource locator.
Validate and query the bundled reference from a checkout or installed package:
Load the reference bundle directly from this release:
The @mfdaves/okf-mcp npm package includes both okf.project.yaml and the
complete reference bundle.
Use okf.project.yaml only when one process must federate multiple roots, configure generators, or enforce a project-wide relation vocabulary:
Run project commands:
Commands:
mcpvalidategraph [json|dot|mermaid]search <query>concept <concept-id-or-locator>neighbors <concept-id-or-locator>paths <from> <to>provenance <uri>edge-kindscomputation inspect|prepare|check-receiptasset <okf-asset-uri>source <concept-id-or-locator> <source-id>migrate check|previewgenerateserveserve options:
--host <host>: bind host, default 127.0.0.1--port <port>: bind port, default 8765--write-token <token>: bearer token for write endpoints; defaults to OKF_WRITE_TOKEN--proposal-root <path>: proposal JSON directory; defaults to .okf-proposals under the selected local root or projectThe npm-based examples below use the current published release. A source checkout can invoke its executable bin/okf-mcp.js with the same arguments.
Example client configuration:
Project config mode, with read-only project helpers but without proposal mutations:
Add --authoring to enable proposal creation, acceptance, and rejection. For a smaller direct-write surface, add --write --actor <actor> to expose read-only okf_validate_changes and validated-batch okf_apply_changes; add --git-commit to commit each successful batch when the catalog is in a clean Git worktree. Add --allow-remote-tool to let MCP clients load arbitrary supported public remote bundles at runtime. Configured remote bundles remain readable without that runtime-loading flag.
The stdio server uses @modelcontextprotocol/server v2. It serves the modern
2026-07-28 MCP revision and the SDK's compatibility path for 2025-era
clients, including 2025-11-25. The SDK owns protocol negotiation, framing,
resource dispatch, tool dispatch, and advertised-schema validation.
Expected failures from a known tool, such as a missing concept, a read-only
bundle, a failed remote fetch, invalid arguments, or a proposal conflict, are
returned as MCP tool results with isError: true. Calls to tools that are not
enabled are rejected by SDK dispatch. Unexpected implementation errors are
masked instead of exposing internal details.
server.json describes the npm package as the stdio server
io.github.mfdaves/okf-mcp. Registry-aware clients should prompt for an
absolute OKF root path, pass it through --root, and append the fixed mcp
command.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/okf-mcp)<a href="https://allmcps.com/mcp/okf-mcp"><img src="https://allmcps.com/api/badge/okf-mcp?style=directory" alt="Okf MCP on AllMCPs" /></a>