Model Context Protocol server for Open Knowledge Format (OKF) bundles, providing tools to parse, validate, assemble, and manage knowledge concepts
14 tools with mixed quality. All have descriptions (10-200 chars, mostly adequate), but input schemas lack critical details: no enums for constrained fields (e.g., 'direction' in assemble_context accepts 'outbound'/'inbound'/'bidirectional' but no enum), no min/max bounds on numeric params (depth, max_chars unbounded), no format specs for connection strings. Parameter descriptions are present but generic ('Path to...', 'Database connection string'). Output schemas are not documented anywhere in the code. Error handling is absent, no recovery guidance, no categorization. Tools like harvest_* expose api_key as a parameter (security violation). No tool annotations (readOnlyHint/destructiveHint). Naming is verb-first and clear (parse_, validate_, harvest_, merge_, etc.), which is a strength. Composition is reasonable, tools are single-purpose. However, lack of schema rigor, missing output documentation, and credential exposure in parameters are major gaps.
Assemble context around a concept by traversing bundle graph links
Handle OKF Hub authentication via browser-based device login flow or token
Compare two OKF bundles and print structural changes
Export OKF bundle to Schema.org JSON-LD format
Compile an OKF bundle into interactive HTML documentation portal
Harvest database schemas (PostgreSQL, Spanner, BigQuery, MySQL) into OKF concepts
Harvest git repository history, commits, and contributors into OKF concepts
Harvest OpenAPI v2/v3 specification endpoints into OKF concepts
API credentials (api_key, Gemini API key) exposed as tool parameters in harvest_* and validate_bundle tools. Credentials in parameters leak into agent logs and prompt history.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does parse_bundle return? What fields does harvest_database output contain?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Harvest Protobuf .proto messages and services into OKF concepts
Harvest documentation websites into OKF bundles via web crawling
Execute linting checks on an OKF bundle for validation and trust signal metrics
Merge two OKF bundles together based on a specified strategy
Parse an OKF knowledge bundle from a local path or git remote URL
Validate an OKF bundle against schema and structural rules
Constrained parameters lack enum declarations. 'direction' in assemble_context accepts 'outbound'|'inbound'|'bidirectional' but is a free-form string. 'strategy' in merge_bundles accepts 'union'|'ours'|'theirs' but no enum. 'driver' in harvest_database accepts 'postgres'|'spanner'|'bigquery'|'mysql' but no enum. LLMs will hallucinate invalid values.
Numeric parameters (depth, max_chars in assemble_context) lack min/max bounds. No guidance on valid ranges. LLMs may pass absurd values (depth=999999, max_chars=999999999) causing timeouts or memory exhaustion.
No error handling or recovery guidance. Tools provide no indication of what to do on failure (retryable? user-fixable? fatal?). No actionable error messages documented.