okft
Provides tools for AI agents to navigate and query OKF knowledge bundles through overview, read, search, and list operations.
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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。