Repository navigation
MCP Tools
A client only sees the tools its token's scopes allow. Over stdio, every tool is available.
| Tool | Scope | Purpose |
|---|---|---|
list_projects |
read | Projects with counts, bound git repositories, and routing metadata (teams, domains, audience, keywords, owners); call first to pick a project (pass repository in a git repo; or team and/or query, or no arguments) |
orient |
read | Call before answering any question about how the organization works: processes, policies, customers, products, campaigns (question max 512 chars, limit max 50); returns ranked projects, concepts, and working rules. The hub project (HUB_PROJECT) is always listed when it exists, also when project narrows the search |
get_index |
read | Directory listing: concepts by type, files, subdirectories |
read_concept |
read | Frontmatter, body, derived trust/staleness, links (outbound includes cross-project targets with project, id, exists; inbound includes okf://<project>/<id>), lint issues (including unresolved_conflict), revision
|
search_concepts |
read | Keyword search (query max 512 chars) with filters; omitting project searches every project and returns project for read_concept
|
get_history |
read | Git history of a concept or project |
read_file |
read | Any text file verbatim (including index.md, log.md, assets) |
lint_project |
read | OKF conformance report, plus an unresolved_conflict warning per file of each unresolved conflict |
list_conflicts |
read | The project's unresolved conflicts: id, changed files (change, divergent), and the commits that made them |
read_conflict |
read | One file of a conflict: preserved, base, and current (with revision); null = absent on that side |
submit_feedback |
read | Prefilled public GitHub issue link for feedback about ok-fine; the user submits it |
create_project |
write | New bundle with overview.md, log.md, index.md
|
write_concept |
write | Create or replace a concept (whole frontmatter and body) |
verify_concept |
write | Append a verification, raising the trust tier |
delete_concept |
write | Remove a concept |
write_file |
write | Create or replace a non-markdown asset |
delete_file |
write | Remove an asset |
resolve_conflict |
write | Discard this project's part of a conflict after merging; paths must list every file of the conflict |
delete_project |
admin | Remove a whole bundle (confirm must repeat the name) |
sync_now |
admin | Fetch, rebase, and push to the git remote now |
search_concepts hides deprecated concepts unless status: "deprecated" is requested. Omitting project searches across all projects. The query parameter is limited to 512 characters.
read_concept returns a revision (git blob SHA). Pass it back as expectedRevision:
- omitted: unconditional
- a string: must match the current revision (
revision_conflictwithdetails.currentRevisionotherwise); accepted bywrite_concept,write_file,verify_concept,delete_concept, anddelete_file -
null: create-only, the target must not exist yet (already_existsotherwise); accepted bywrite_conceptandwrite_fileonly
Writes reach a concept through one server in order, so two sessions on the same server never conflict in git;
expectedRevision catches the overlap (only when the client passes it). Separate ok-fine instances sharing a git
remote can: when ok-fine cannot rebase its accepted writes onto the remote, it keeps them as a conflict for each
project they touch (see Git storage).
-
lint_project, orread_concepton an affected concept, reportsunresolved_conflictwith the conflict id. -
read_conflictreturns thepreservedwrite, the commonbase, and thecurrentcontent with itsrevision. - Write the merge with
write_concept/write_fileandexpectedRevisionset to thatrevision. -
resolve_conflictwith every file path of the conflict inpaths. It fails withbad_request(details.unacknowledged) when a file is missing, and withnot_foundwhen the conflict was already resolved.
Generated from wiki/ in ferrule-io/ok-fine on every release. Edit pages there; changes made in the wiki UI are overwritten.