Skip to main content
Glama

RBT Document Editor

by leo7nel23

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
RBT_ROOT_DIRYesThe path to your RBT documents directory

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
get_outline
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
read_content
Read section or block by ID. **KEY FEATURE: Read ONLY what you need!** - Read a single block (blk-*) β†’ saves tokens, don't read the whole section - Read a section (sec-*) β†’ gets section + all its blocks **TIP: Use get_outline() first to find available IDs** Automatically determines content type based on ID prefix: - sec-* β†’ reads section with blocks and nested sections - blk-* β†’ reads single block data Args: project_id: Project identifier content_id: Content ID (section or block ID starting with 'sec-' or 'blk-') 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) Returns: Content data (section or block) Example: # Read section read_content( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP", content_id="sec-components" ) # Read block read_content( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP", content_id="blk-component-table" ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-006-ReadSectionTool
update_section_summary
Update section summary text. Args: project_id: Project identifier section_id: Section ID to update new_summary: New summary text 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) Returns: Success message Example: update_section_summary( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP", section_id="sec-components", new_summary="Updated component specifications with new requirements" ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-007-UpdateSectionSummaryTool-Server-Setup
create_section
Create new section under specified parent. Note: For RBT documents, cannot create root sections (only sub-sections). Args: project_id: Project identifier parent_id: Parent section ID title: Section title summary: Optional section summary 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) Returns: New section ID Example: create_section( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="REQ", parent_id="sec-use-cases", title="Additional Use Cases", summary="Extended scenarios for document editing" ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-008-CreateSectionTool
create_block
Create new block in specified section. **TIP: Block IDs are auto-generated, but you can identify blocks later by their content. Consider adding meaningful content/titles to make blocks easier to find with get_outline().** Args: project_id: Project identifier section_id: Section ID to add block to block_type: Block type - paragraph/code/list/table content: Content for paragraph/code blocks items: Items for list blocks language: Language for code blocks header: Header row for table blocks rows: Data rows for table blocks 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) Returns: New block ID Example: # Create paragraph create_block( project_id="knowledge-smith", file_path="docs/guide.md", section_id="sec-intro", block_type="paragraph", content="This is a new paragraph." ) # Create list create_block( project_id="knowledge-smith", file_path="docs/guide.md", section_id="sec-features", block_type="list", items=["Feature 1", "Feature 2"] ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-009-CreateBlockTool
update_block
Update existing block content based on block type. Supports updating different block types: - paragraph: content - code: content, language (optional) - list: title (optional), items - table: header, rows Args: project_id: Project identifier block_id: Block ID to update content: New content for paragraph/code blocks title: New title for list blocks items: New items for list blocks language: Programming language for code blocks header: New header for table blocks rows: New rows for table blocks 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) Returns: Success message dictionary Example: # Update paragraph block update_block( project_id="knowledge-smith", file_path="docs/guide.md", block_id="blk-paragraph-1", content="Updated paragraph content." ) # Update list block update_block( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="REQ", block_id="blk-requirements", title="**Updated Requirements**", items=["Req 1", "Req 2", "Req 3"] ) # Update code block update_block( project_id="knowledge-smith", file_path="docs/examples.md", block_id="blk-code-sample", content="def hello():\n print('Hello')", language="python" ) # Update table block update_block( project_id="knowledge-smith", feature_id="test", doc_type="BP", block_id="blk-table-data", header=["Name", "Value"], rows=[["Item1", "100"], ["Item2", "200"]] ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-010-UpdateBlockTool
delete_block
Delete block from document. Args: project_id: Project identifier block_id: Block ID to delete 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) Returns: Success message Example: delete_block( project_id="knowledge-smith", file_path="docs/guide.md", block_id="blk-paragraph-2" ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-011-DeleteBlockTool
append_list_item
Append item to list block. Args: project_id: Project identifier block_id: List block ID item: Item text to append 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) Returns: Success message Example: append_list_item( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="REQ", block_id="blk-func-req-list", item="New functional requirement item" ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-012-AppendListItemTool
update_table_row
Update specific table row. Args: project_id: Project identifier block_id: Table block ID row_index: Row index to update (0-based, excluding header) row_data: New row data (list of cell values) 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) Returns: Success message Example: update_table_row( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP", block_id="blk-component-spec-table", row_index=0, row_data=["PathResolver", "Updated description", "new input", "new output"] ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-013-UpdateTableRowTool
append_table_row
Append a new row to a table block. Args: project_id: Project identifier block_id: Table block ID row_data: Row data (list of cell values) 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) Returns: Success message Example: append_table_row( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP", block_id="blk-component-spec-table", row_data=["new_tool", "New tool description", "inputs", "outputs", "TASK-XXX", "Acceptance criteria"] ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-017-AppendTableRowTool
create_document
Create new document from template with placeholder replacement. Creates a new document by loading the appropriate template (Task/Blueprint/Requirement), auto-filling common placeholders, and saving as .new.md with complete structure. Auto-filled placeholders (from parameters): - [project-id]: From project_id parameter - [feature-id]: From feature_id parameter - [feature-name]: From feature_id parameter - [YYYY-MM-DD]: Current date (auto-generated) Custom placeholders (need to be in replacements): - [task-name]: Task name (for Task type) - [δ»»ε‹™ζ¨™ι‘Œ]/[ιœ€ζ±‚ζ¨™ι‘Œ]/[θ—εœ–ζ¨™ι‘Œ]: Document titles - Any other template-specific placeholders Args: project_id: Project identifier (auto-fills [project-id]) doc_type: Document type - "Task", "Blueprint", "Requirement" for RBT documents, or custom types like "General", "Architecture", "Guide", "API" for general documents. doc_type serves as classification for better document organization and retrieval. replacements: Dictionary of custom placeholder -> value mappings feature_id: Feature identifier (auto-fills [feature-id] and [feature-name]) file_path: File path within docs/ (for general documents) Returns: Success message with created file path Example (Task document): create_document( project_id="knowledge-smith", doc_type="Task", feature_id="rbt-mcp-tool", replacements={ "task-name": "PathResolver", "δ»»ε‹™ζ¨™ι‘Œ": "實作 PathResolver θ·―εΎ‘θ§£ζžθˆ‡ι©—θ­‰" } ) # project-id, feature-id, feature-name, date ζœƒθ‡ͺε‹•ε‘«ε…₯ Example (Blueprint document): create_document( project_id="knowledge-smith", doc_type="Blueprint", feature_id="rbt-mcp-tool", replacements={ "θ—εœ–ζ¨™ι‘Œ": "RBT ζ–‡δ»Άη·¨θΌ― MCP Tool" } ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-014-CreateDocumentTool
update_info
Update info section fields (status, update_date, dependencies). Supports partial updates - only provided fields are updated, others remain unchanged. At least one field must be provided for update. Args: project_id: Project identifier status: Optional new status value update_date: Optional new update_date value (format: YYYY-MM-DD) dependencies: Optional new dependencies list 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) Returns: Success message Example: # Update status only update_info( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="TASK", file_path="017", status="Done" ) # Update multiple fields update_info( project_id="knowledge-smith", feature_id="rbt-mcp-tool", doc_type="BP", status="In Progress", update_date="2025-10-08", dependencies=["TASK-001", "TASK-002"] ) @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-016-UpdateInfoTool
clear_cache
Clear document cache. Args: file_path: Optional file path to clear; if None, clears all cache Returns: Success message Example: # Clear specific file clear_cache(file_path="/path/to/document.md") # Clear all cache clear_cache() @REQ: REQ-rbt-mcp-tool @BP: BP-rbt-mcp-tool @TASK: TASK-015-ClearCacheTool-Server-Setup

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leo7nel23/KnowkedgeSmith-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server