These are the tools the MCP server offers, all of them read-only. Each tool’s
page has the description your assistant receives when it connects, the
tool’s parameters, and what it returns. You ask questions; your assistant
chooses which tools to call, and with what.
| Tool |
What it gives |
check_freshness |
Concepts that need attention: stale (past stale_after), draft, unverified, and deprecated, across every tree or some. |
get_concept |
A concept’s markdown body and frontmatter, with its provenance (sources, generated, verified), trust tier, status, staleness, links, and backlinks. |
get_inventory |
Every type, tag, and frontmatter key a tree uses, with counts, status and trust-tier totals, and likely near-duplicates (e.g. Policy and Policies). |
get_links |
The concepts a concept links to, the concepts that link to it (backlinks), and the external URLs it cites. |
list_directory |
A directory of a tree: its index.md (when it has one), its subdirectories, and the concepts directly in it. |
list_trees |
The trees in the account’s Forest: each one’s slug (which concept IDs start with), name, description, and source. |
list_types |
The kinds of concept in the Forest (their type), across every tree or some: how many concepts have each, and which trees have them. |
search_concepts |
Keyword search over concepts’ titles, descriptions, tags, IDs, and bodies, across every tree or some. |
Each tool returns one JSON object, both as structured content and as the same
JSON in text. The fields on each tool’s page are what its result has today;
more may be added, so a client should ignore fields it doesn’t know.
The shapes several tools return, which their pages link to.
| Field |
Type |
Always |
Description |
id |
string |
Yes |
The account’s ID. |
name |
string |
Yes |
The account’s name. |
url |
string |
Yes |
The Forest’s home page in OKForest. |
| Field |
Type |
Always |
Description |
id |
string |
Yes |
The linked concept’s ID. |
title |
string |
No |
Its title, when it has one. |
url |
string |
Yes |
Its page in OKForest. |
| Field |
Type |
Always |
Description |
id |
string |
Yes |
The concept’s ID: its tree’s slug, a colon, and its path without .md. |
tree |
string |
Yes |
The slug of the tree it’s in. |
path |
string |
Yes |
Its file’s path in the tree. |
url |
string |
Yes |
The concept’s page in OKForest. |
type |
string |
No |
Its type, when it has one. |
title |
string |
No |
Its title, when it has one. |
description |
string |
No |
Its description, when it has one. |
tags |
list of strings |
Yes |
Its tags. |
status |
draft | stable | deprecated |
Yes |
Its lifecycle status; stable when it gives none. |
stale |
boolean |
Yes |
Whether it’s past its stale_after date. |
trustTier |
unverified | machine-confirmed | human-reviewed |
Yes |
How it has been verified, from its verified entries. |
| Field |
Type |
Always |
Description |
value |
string |
Yes |
The value, as written. |
count |
number |
Yes |
How many concepts use it. |
| Field |
Type |
Always |
Description |
slug |
string |
Yes |
Its slug: what its concept IDs start with, and what tree and trees take. |
name |
string |
No |
Its name, when it has one. |
description |
string |
No |
Its description, when it has one. |
repo |
string |
Yes |
The GitHub repository it’s read from, as owner/name. |
folder |
string |
Yes |
The folder in the repository it’s in; empty for the root. |
access |
installation | public |
Yes |
installation when read through the OKForest GitHub App, public when read as a public repository. |
url |
string |
Yes |
The tree’s page in OKForest. |
| Field |
Type |
Always |
Description |
slug |
string |
Yes |
The tree’s slug, which its concept IDs start with. |
repo |
string |
Yes |
The GitHub repository it’s read from, as owner/name. |
commit |
string |
Yes |
The commit it was read at. |
url |
string |
Yes |
The tree’s page in OKForest. |