Skip to main content
Glama
CAPABILITIES.md13.9 kB
# Thoughtbox MCP Server - Capabilities > Auto-generated documentation of all server capabilities. > Generated: 2025-12-09T21:14:43.531Z ## Overview **Package:** `@kastalien-research/thoughtbox` **MCP Name:** `io.github.Kastalien-Research/thoughtbox` **Version:** 1.0.1 Thoughtbox is an MCP server that provides cognitive enhancement tools for LLM agents. It offers infrastructure for structured reasoning, not intelligence - the server serves process scaffolds that tell agents HOW to think, not WHAT to think. --- ## Tools The server provides 3 tools: ### 1. `thoughtbox` - Step-by-Step Thinking Step-by-step thinking tool for complex problem-solving. Supports flexible reasoning: forward thinking (1→N), backward thinking (N→1), branching, and revision. Adjust your approach dynamically as understanding deepens. Use for: - Multi-step analysis and planning - Problems requiring course correction - Hypothesis generation and testing - System design and architecture decisions #### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `thought` | string | Yes | Your current thinking step | | `nextThoughtNeeded` | boolean | Yes | Whether another thought step is needed | | `thoughtNumber` | integer | Yes | Current thought number (can be 1→N for forward thinking, or N→1 for backward/goal-driven thinking) | | `totalThoughts` | integer | Yes | Estimated total thoughts needed | | `isRevision` | boolean | No | Whether this revises previous thinking | | `revisesThought` | integer | No | Which thought is being reconsidered | | `branchFromThought` | integer | No | Branching point thought number | | `branchId` | string | No | Branch identifier | | `needsMoreThoughts` | boolean | No | If more thoughts are needed | | `includeGuide` | boolean | No | Request the patterns cookbook guide as embedded resource | ### 2. `notebook` - Literate Programming Toolhost Notebook toolhost for literate programming with JavaScript/TypeScript. Create, manage, and execute interactive notebooks with markdown documentation and executable code cells. Each notebook runs in an isolated environment with its own package.json and workspace. Features: - Pre-structured templates for guided workflows - Isolated execution environments - Full execution support with output capture #### Available Operations (10) | Operation | Category | Description | |-----------|----------|-------------| | `create` | notebook-management | Create a new headless notebook for literate programming with JavaScript or TypeScript support. Optionally use a pre-structured template for guided workflows. | | `list` | notebook-management | List all active notebooks with their metadata | | `load` | notebook-management | Load a notebook from .src.md format. | | `add_cell` | cell-operations | Add a cell to a notebook (title, markdown, or executable code) | | `update_cell` | cell-operations | Update the content of an existing cell | | `run_cell` | execution | Execute a code cell and capture output (stdout, stderr, exit code) | | `install_deps` | execution | Install npm dependencies defined in the notebook's package.json | | `list_cells` | cell-operations | List all cells in a notebook with their metadata | | `get_cell` | cell-operations | Get complete details of a specific cell including content and execution results | | `export` | notebook-management | Export a notebook to .src.md format. | #### Available Templates - `sequential-feynman` ### 3. `mental_models` - Structured Reasoning Toolhost Access 15 mental models for structured reasoning. Each model provides a complete prompt with process steps, examples, and pitfalls. Mental models are process scaffolds that tell you HOW to think about a problem, not WHAT to think. #### Available Operations (4) | Operation | Category | Description | |-----------|----------|-------------| | `get_model` | retrieval | Retrieve the full prompt content for a specific mental model | | `list_models` | discovery | List all available mental models, optionally filtered by tag | | `list_tags` | discovery | List all available tags with their descriptions | | `get_capability_graph` | discovery | Get a structured representation of all Thoughtbox capabilities (tools, operations, mental models) for initializing a knowledge graph. Use with memory_create_entities and memory_create_relations to make the server's capabilities salient. | #### Available Tags (9) | Tag | Description | |-----|-------------| | `debugging` | Finding and fixing issues in code, logic, or systems | | `planning` | Breaking down work, sequencing tasks, project organization | | `decision-making` | Choosing between options under uncertainty | | `risk-analysis` | Identifying what could go wrong and how to prevent it | | `estimation` | Making reasonable guesses with limited information | | `prioritization` | Deciding what to do first, resource allocation | | `communication` | Explaining clearly to humans, documentation | | `architecture` | System design, component relationships, structure | | `validation` | Checking assumptions, testing hypotheses, verification | #### Mental Models (15) | Name | Title | Tags | |------|-------|------| | `rubber-duck` | Rubber Duck Debugging | debugging, communication | | `five-whys` | Five Whys | debugging, validation | | `pre-mortem` | Pre-mortem Analysis | risk-analysis, planning | | `assumption-surfacing` | Assumption Surfacing | validation, planning | | `steelmanning` | Steelmanning | decision-making, validation | | `trade-off-matrix` | Trade-off Matrix | decision-making, prioritization | | `fermi-estimation` | Fermi Estimation | estimation | | `abstraction-laddering` | Abstraction Laddering | architecture, communication | | `decomposition` | Decomposition | planning, architecture | | `adversarial-thinking` | Adversarial Thinking | risk-analysis, validation | | `opportunity-cost` | Opportunity Cost Analysis | decision-making, prioritization | | `constraint-relaxation` | Constraint Relaxation | planning, architecture | | `time-horizon-shifting` | Time Horizon Shifting | planning, decision-making | | `impact-effort-grid` | Impact/Effort Grid | prioritization | | `inversion` | Inversion | risk-analysis, planning | --- ## Prompts The server provides 2 prompt templates: ### 1. `list_mcp_assets` **Description:** Overview of all MCP capabilities, tools, resources, and quickstart guide No arguments required. ### 2. `interleaved-thinking` **Description:** Use this Thoughtbox server as a reasoning workspace to alternate between internal reasoning steps and external tool/action invocation. Enables structured multi-phase execution with tooling inventory, sufficiency assessment, strategy development, and execution. #### Arguments | Name | Required | Description | |------|----------|-------------| | `task` | Yes | The task to complete using interleaved thinking approach | | `thoughts_limit` | No | Maximum number of thoughts to use (default: 100) | | `clear_folder` | No | Whether to clear the .interleaved-thinking folder after completion, keeping only final-answer.md (default: false) | --- ## Resources ### Static Resources | URI | Name | MIME Type | |-----|------|-----------| | `system://status` | Notebook Server Status | application/json | | `thoughtbox://notebook/operations` | Notebook Operations Catalog | application/json | | `thoughtbox://patterns-cookbook` | Thoughtbox Patterns Cookbook | text/markdown | | `thoughtbox://architecture` | Server Architecture Guide | text/markdown | | `thoughtbox://mental-models/operations` | Mental Models Operations Catalog | application/json | | `thoughtbox://mental-models` | Mental Models Root | application/json | ### Tag-based Resources - `thoughtbox://mental-models/debugging` - `thoughtbox://mental-models/planning` - `thoughtbox://mental-models/decision-making` - `thoughtbox://mental-models/risk-analysis` - `thoughtbox://mental-models/estimation` - `thoughtbox://mental-models/prioritization` - `thoughtbox://mental-models/communication` - `thoughtbox://mental-models/architecture` - `thoughtbox://mental-models/validation` ### Resource Templates | URI Template | Description | |--------------|-------------| | `thoughtbox://mental-models/{tag}/{model}` | Browse mental models by tag | | `thoughtbox://mental-models/{tag}` | List models under a specific tag | | `thoughtbox://interleaved/{mode}` | IRCoT-style interleaved reasoning guides (modes: research, analysis, development) | --- ## Notebook Operations Detail ### Notebook Management #### `create` - Create Notebook Create a new headless notebook for literate programming with JavaScript or TypeScript support. Optionally use a pre-structured template for guided workflows. **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `title` | string | Yes | Notebook title (or topic name when using templates) | | `language` | enum: javascript, typescript | Yes | Programming language for the notebook | | `template` | enum: sequential-feynman | No | Optional: Load a pre-structured template. 'sequential-feynman' provides guided structure for deep learning workflows with Feynman Technique. | **Example:** ```json { "title": "Data Analysis Example", "language": "typescript" } ``` #### `list` - List Notebooks List all active notebooks with their metadata **Example:** ```json {} ``` #### `load` - Load Notebook Load a notebook from .src.md format. Accepts either a filesystem path OR content string (exactly one required). - STDIO mode: Provide 'path' to read from local filesystem - HTTP mode: Provide 'content' string (e.g., from previous export) Both approaches create an identical in-memory notebook. **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `path` | string | No | Filesystem path to .src.md file (option 1) | | `content` | string | No | Raw .src.md file content as string (option 2) | **Example:** ```json { "path": "/path/to/notebook.src.md" } ``` #### `export` - Export Notebook Export a notebook to .src.md format. Always returns the notebook content as a string. Optionally writes to a filesystem path if provided. - STDIO mode: Provide 'path' to write to local filesystem (content still returned) - HTTP mode: Omit 'path', use returned 'content' directly Both modes always receive the content, ensuring transport transparency. **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | The ID of the notebook to export | | `path` | string | No | Optional: Filesystem path to write .src.md file (typically used in STDIO mode) | **Example:** ```json { "notebookId": "abc123", "path": "/path/to/output.src.md" } ``` ### Cell Operations #### `add_cell` - Add Cell Add a cell to a notebook (title, markdown, or executable code) **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | Notebook ID | | `cellType` | enum: title, markdown, code | Yes | Type of cell to add | | `content` | string | Yes | Cell content (text for title/markdown, source code for code) | | `filename` | string | No | Filename for code cells (e.g., 'example.js', 'utils.ts') | | `position` | integer | No | Optional position to insert cell (0-indexed), appends if not specified | **Example:** ```json { "notebookId": "abc123", "cellType": "code", "content": "console.log('Hello, world!');", "filename": "hello.js" } ``` #### `update_cell` - Update Cell Update the content of an existing cell **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | Notebook ID | | `cellId` | string | Yes | Cell ID | | `content` | string | Yes | New content for the cell | **Example:** ```json { "notebookId": "abc123", "cellId": "cell456", "content": "console.log('Updated!');" } ``` #### `list_cells` - List Cells List all cells in a notebook with their metadata **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | Notebook ID | **Example:** ```json { "notebookId": "abc123" } ``` #### `get_cell` - Get Cell Get complete details of a specific cell including content and execution results **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | Notebook ID | | `cellId` | string | Yes | Cell ID | **Example:** ```json { "notebookId": "abc123", "cellId": "cell456" } ``` ### Execution #### `run_cell` - Run Cell Execute a code cell and capture output (stdout, stderr, exit code) **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | Notebook ID | | `cellId` | string | Yes | Cell ID to execute | **Example:** ```json { "notebookId": "abc123", "cellId": "cell456" } ``` #### `install_deps` - Install Dependencies Install npm dependencies defined in the notebook's package.json **Parameters:** | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `notebookId` | string | Yes | Notebook ID | **Example:** ```json { "notebookId": "abc123" } ``` --- ## Configuration ### Environment Variables - `DISABLE_THOUGHT_LOGGING` - Set to "true" to disable thought output to stderr ### Smithery Configuration ```typescript { disableThoughtLogging: boolean // default: false } ``` --- ## Summary Statistics - **Tools:** 3 (thoughtbox, notebook, mental_models) - **Notebook Operations:** 10 - **Mental Models Operations:** 4 - **Mental Models:** 15 - **Tags:** 9 - **Prompts:** 2 - **Static Resources:** 6+ - **Resource Templates:** 3

Latest Blog Posts

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/glassBead-tc/Thoughtbox'

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