okf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OKF_BUNDLE_PATH | No | Path to the OKF knowledge bundle directory. Defaults to './bundle'. | ./bundle |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_conceptsA | List all concepts in the bundle (or a subdirectory). Returns concept_id, type, title, description, tags, and timestamp for each concept. Reserved files (index.md, log.md) are excluded. |
| get_conceptA | Retrieve a full concept document by its ID. Returns the concept's frontmatter metadata and its markdown body. |
| get_indexA | Get the index.md content for a directory in the bundle. Index files list the directory's concepts for progressive disclosure. Returns empty string if no index exists. |
| get_logA | Get the log.md content for a directory in the bundle. Log files contain the chronological history of changes. Returns empty string if no log exists. |
| search_conceptsA | Search concepts by full-text query, tags, and/or type. Case-insensitive substring search across concept IDs, titles, descriptions, and body content. All provided filters are ANDed together. |
| create_conceptA | Create a new OKF concept document. Fails if the concept already exists — use update_concept to modify existing ones. |
| update_conceptA | Update an existing OKF concept document. Merges frontmatter_updates into existing metadata and refreshes the timestamp. Pass body=null to keep the existing body unchanged. Set a frontmatter key to null to remove it. |
| delete_conceptA | Delete a concept document from the bundle. Also removes any parent directories that become empty after deletion (stopping at the bundle root). |
| update_indexB | Create or overwrite an index.md file for a directory. Index files have no frontmatter (except the bundle root which may include okf_version) and list the directory's concepts for progressive disclosure. See OKF spec §6 for the recommended format. |
| generate_indexA | Auto-generate an index.md for a directory from existing concept frontmatter. Scans only the immediate children of the directory (one level deep). Writes and returns the generated index content. |
| append_log_entryA | Append a dated entry to the log.md file for a directory. Entries are grouped under today's ISO 8601 date heading, newest first. Creates log.md if it does not exist. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct resource or action, but update_index and generate_index both write index.md and could be confused. Otherwise, get_concept, get_index, get_log, search, CRUD, and list are clearly separated.
All tools follow a consistent verb_noun pattern in snake_case, e.g., get_concept, create_concept, update_index, append_log_entry. The only minor deviation is list_concepts using plural, but the pattern remains highly predictable.
With 11 tools, the set is well-scoped for managing an OKF bundle. It covers concept CRUD, search, index handling, and log entries without excessive specialization or redundancy.
The server provides thorough coverage for concept lifecycle (create, read, update, delete, list, search) plus index and log management. Missing delete_index/log is not a gap since those files are overwritten or managed through other tools.