Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Validate, search, graph, and safely author local Open Knowledge Format bundles.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"okf": {
"command": "npx",
"args": [
"-y",
"@mfdaves/okf-mcp",
"--project",
"your-value",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add okf -- npx -y @mfdaves/okf-mcp --project your-value mcpThis one needs values on its command line, so copy the settings and fill them in.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"okf": {
"command": "npx",
"args": [
"-y",
"@mfdaves/okf-mcp",
"--project",
"your-value",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one needs values on its command line, so copy the settings and fill them in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"okf": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mfdaves/okf-mcp",
"--project",
"your-value",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account mfdaves, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.3) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
okf-mcp publishes Open Knowledge Format v0.2 from the systems that already hold the knowledge, and serves the result to agents. It is a local-first consumer, validator, graph index, CLI, and MCP server.
The part that is hard is writing to a catalog safely. A configured producer reads an external source and returns a candidate bundle; okf-mcp validates it, then publishes it under an ownership manifest that records exactly which files it owns. Hand-authored content is never adopted, a source that did not change rewrites nothing, and no producer output escapes its bundle. @mfdaves/okf-postgres reads PostgreSQL catalogs this way without reading a single table row.
Reading is the ordinary half. 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:
git clone --branch v0.12.0-rc.1 https://github.com/mfdaves/okf-mcp.git
cd okf-mcp npm ci node bin/okf-mcp.js --root ./path/to/okf validate
Pin the published version for reproducible use:
npx -y @mfdaves/okf-mcp@0.12.0-rc.1 --version
npx -y @mfdaves/okf-mcp@0.12.0-rc.1 --root ./path/to/okf validate
For a persistent installation:
npm install --global @mfdaves/okf-mcp@0.12.0-rc.1
okf --version okf --root ./path/to/okf validate okf-mcp --root ./path/to/okf mcp
To work from the current source branch:
git clone https://github.com/mfdaves/okf-mcp.git
cd okf-mcp npm ci npm test node bin/okf-mcp.js --version
--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/ / /tree/ / . 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:
okf --root okf/okf-mcp validate
okf --root okf/okf-mcp search "proposal" okf --root okf/okf-mcp concept overview/okf-mcp
Load the reference bundle directly from the current source branch:
okf --remote-bundle okf-mcp=https://github.com/mfdaves/okf-mcp/tree/main/okf/okf-mcp --inspect
The published v0.8.0 tag retains its original okf/bundles/okf-mcp path. The shorter okf/okf-mcp path was prepared in the unpublished 0.8.1 maintenance checkpoint and ships with v0.9.0; the immutable v0.8.0 release remains unchanged.
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 external metadata producers, or enforce a project-wide relation vocabulary:
project: Example
strictLinks: false bundles:
relationTypes:
remoteBundles:
plugins:
producers:
Run project commands:
okf --project okf.project.yaml validate
okf --project okf.project.yaml search "orders" okf --project okf.project.yaml graph mermaid okf --project okf.project.yaml generate okf --project okf.project.yaml producer list okf --project okf.project.yaml producer preview main-database okf --project okf.project.yaml producer run main-database --write --actor process:nightly-refresh okf --project okf.project.yaml mcp okf --project okf.project.yaml mcp --authoring okf --project okf.project.yaml mcp --allow-remote-tool OKF_WRITE_TOKEN=change-me okf --project okf.project.yaml serve okf --remote-bundle shared=https://github.com/example/okf-atlas/tree/main/bundles/shared --inspect
Commands:
mcpvalidategraph [json|dot|mermaid]search concept neighbors paths provenance edge-kindscomputation inspect|prepare|check-receiptasset source migrate check|previewgenerateproducer list|preview|runserveProducers are separate from the built-in plugins: generators. A producer reads metadata from an external source and returns an in-memory candidate OKF bundle; okf-mcp validates and publishes that candidate. Install each producer package alongside the project, then allowlist its exact bare package name in the trusted project configuration. MCP callers can select a configured producer but cannot replace its package, configuration, credentials, queries, bundle, or output paths.
The package must be installed under a node_modules directory belonging to the project, resolved by its exact bare name. Ordinary registry installs, npm workspaces, npm link, and store-backed layouts such as pnpm all satisfy this; a path in configuration never does.
The package must export the versioned okfProducer API. Producer API v1 targets OKF v0.2 and separates validateConfig() from side-effect-free destination generation. Candidate concepts require native generated and non-empty sources provenance. The host rejects unsafe paths, malformed concepts, unresolved links or typed relations, unowned file collisions, locally modified managed files, secret values in output, and any candidate that would leave the complete project invalid.
Both interfaces run the same host. Use the CLI for scheduled refreshes:
okf --project okf.project.yaml producer preview main-database
okf --project okf.project.yaml producer run main-database --write --actor process:nightly-refresh
producer preview exits 1 when the candidate is invalid; producer run exits 1 when nothing was published. Both print the same receipt the MCP tools return.
For a configured project, MCP exposes:
okf_list_producers: list configuration without loading package code or reading the sourceokf_preview_producer: read source metadata and return a validated, non-writing diffokf_run_producer: regenerate under the shared writer queue and publish with revision checks and rollback; available only with --write plus a truthful --actor using human: , process: , or provider/model syntaxPreview and run accept only the configured producer name plus optional receipt detail. Receipts include bounded numeric source-object summaries and publication-diff counts. Publication records owned relative paths and SHA-256 digests in the bundle-local .okf-producer.json. Only unchanged paths owned by the prior manifest can be updated or removed; hand-authored content is never adopted implicitly. The manifest contains no producer configuration, credentials, or connection details.
Two rules keep a managed bundle stable across repeated runs:
generated.at on every run. The host compares each candidate against the published file ignoring that stamp, so a source that did not change reports unchanged and leaves the bytes, the timestamps, and the manifest untouched. Publication-diff counts therefore describe the source, not the run.Only the beginning is shown; read the rest in the repo