get_outline
Retrieve document structure and section IDs to identify content sections before editing, reducing token usage by accessing only metadata instead of full content.
Instructions
Get document outline (structure without blocks).
**BEST PRACTICE: Always use this FIRST before editing documents!**
- See what sections exist
- Find section/block IDs for editing
- Saves tokens by not loading full content
Returns lightweight document structure with metadata, info, and section tree.
Significantly reduces token consumption compared to reading full document.
Args:
project_id: Project identifier
feature_id: Feature identifier (for RBT documents)
doc_type: Document type - REQ/BP/TASK (for RBT documents)
file_path: File path relative to docs/ (for general documents)
**For TASK documents: supports fuzzy matching! Just provide the index number.**
Returns:
Document outline JSON with metadata, info, title, and sections
Example:
# RBT document
get_outline(project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP")
# TASK document (FUZZY SEARCH - just use the index!)
get_outline(project_id="knowledge-smith", feature_id="rbt-mcp-tool",
doc_type="TASK", file_path="001") # Matches TASK-001-*.md
# General document
get_outline(project_id="knowledge-smith", file_path="architecture/overview.md")
@REQ: REQ-rbt-mcp-tool
@BP: BP-rbt-mcp-tool
@TASK: TASK-005-GetOutlineTool-Server-Setup
Input Schema
Name | Required | Description | Default |
---|---|---|---|
doc_type | No | ||
feature_id | No | ||
file_path | No | ||
project_id | Yes |
Input Schema (JSON Schema)
{
"properties": {
"doc_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Doc Type"
},
"feature_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Feature Id"
},
"file_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "File Path"
},
"project_id": {
"title": "Project Id",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
}