okft

okft

Provides tools for AI agents to navigate and query OKF knowledge bundles through overview, read, search, and list operations.

Category
Visit Server

README

okft

Lint and serve Open Knowledge Format (OKF) bundles.

OKF is Google's open spec for representing organizational knowledge as a directory of markdown files with YAML frontmatter — a knowledge graph that both humans and AI agents can read natively. okft covers the two sides of keeping a bundle healthy and useful:

  • okft lint — validate a bundle against the OKF v0.1 spec, plus hygiene checks (broken links, orphaned concepts, malformed timestamps). Wire it into CI so your knowledge bundle can't rot silently.
  • okft serve — expose a bundle to any MCP-capable AI agent (Claude, Gemini CLI, Cursor, …) as a set of navigation tools: overview, read, search, list. Deterministic graph traversal, no embeddings, no database.

Install

pip install okft          # lint only
pip install 'okft[serve]' # lint + MCP server

Lint

okft lint path/to/bundle
analytics/tables/orders.md:1 error E003 frontmatter must include a non-empty `type` field
analytics/metrics/churn.md:24 warning W001 link target does not resolve in bundle: /analytics/tables/order
engineering/runbook.md:1 warning W004 concept is never linked from any other document

12 concepts checked: 1 error(s), 2 warning(s)

Exit code is 1 on errors (or on warnings with --strict), so it drops straight into CI. --format json emits machine-readable findings.

Rules

Code Severity Check
E001 error concept file has no YAML frontmatter block
E002 error frontmatter is not parseable YAML
E003 error missing or empty type field
E004 error reserved file (index.md / log.md) has frontmatter
W001 warning link target does not resolve inside the bundle¹
W002 warning timestamp is not ISO 8601
W003 warning tags is not a list of strings
W004 warning orphan concept — nothing links to it (--no-orphans to skip)
W005 warning bundle root has no index.md
W006 warning log.md headings are not ISO 8601 dates
W007 warning concept has no title

¹ The spec requires consumers to tolerate broken links, so they are warnings, never conformance errors.

Both standard markdown links (/analytics/tables/customers.md, relative paths) and [[wiki-style]] links are resolved.

Serve to an AI agent

okft serve path/to/bundle

Runs an MCP server (stdio) with four tools:

Tool Purpose
okf_overview root index + every concept grouped by type
okf_read one concept: frontmatter, body, outbound & inbound links
okf_search ranked full-text search with snippets
okf_list filter concepts by type and/or tag

Register it with Claude Code:

claude mcp add acme-brain -- okft serve /path/to/bundle

or in any MCP client config:

{
  "mcpServers": {
    "acme-brain": { "command": "okft", "args": ["serve", "/path/to/bundle"] }
  }
}

Try it

A small example bundle ships in examples/acme_brain:

okft lint examples/acme_brain
okft serve examples/acme_brain

CI example (GitHub Actions)

- uses: actions/setup-python@v5
  with: { python-version: "3.12" }
- run: pip install okft
- run: okft lint knowledge/ --strict

Status

Tracks OKF v0.1. The spec is young and so is this tool — issues and PRs welcome, especially reports of real-world bundles that lint incorrectly.

License

Apache-2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured