logicstamp-mcp
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@logicstamp-mcpshow me the dependency graph for the Button component"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Model Context Protocol (MCP) server for LogicStamp Context, the Context Compiler for TypeScript - exposing deterministic architectural contracts to AI agents via secure, structured context delivery.
Example workflow: stamp context --strict-watch generates context bundles that MCP-powered assistants use to explain component architecture (ThemeContext shown here).
Overview
This MCP server provides AI assistants with structured access to your codebase through LogicStamp Context's analysis engine. It acts as a thin wrapper around the stamp CLI, offering:
Snapshot-based analysis - Capture codebase state before making edits
Component contracts - Extract props, state, hooks, and dependencies
Style metadata - Extract Tailwind classes, SCSS modules, framer-motion animations, color palettes, layout patterns
Dependency graphs - Understand component relationships
Drift detection - Verify changes after modifications
Token optimization - Control context size with configurable code inclusion modes
Related MCP server: reposynapse
⚡ Features
7 Tools
logicstamp_refresh_snapshot- Analyze project and create snapshotlogicstamp_list_bundles- List available component bundleslogicstamp_read_bundle- Read full component contract + graphlogicstamp_compare_snapshot- Detect changes after editslogicstamp_compare_modes- Generate token cost comparison across all modeslogicstamp_read_logicstamp_docs- Read LogicStamp documentationlogicstamp_watch_status- Check if watch mode is active (for incremental rebuilds)
Key Benefits
Context-Aware Edits - AI reads actual component contracts before modifying
Self-Verification - AI verifies its own changes via drift detection
Token-Efficient - Only load bundles relevant to the task
Safe by Default - Changes must pass drift check before approval
Watch Mode Aware - Detects when
stamp context --watchis running and skips regeneration (context is already fresh)
Prerequisites
Node.js >= 20
LogicStamp Context CLI - The
stampcommand must be installed and available in PATHnpm install -g logicstamp-context
Quick Start
Setup is done once - After configuring the MCP server, it will be available in all your projects. The MCP client automatically starts the server when needed - you don't need to start it manually.
Install prerequisites (if not already installed):
npm install -g logicstamp-context # Required: LogicStamp CLI npm install -g logicstamp-mcp # MCP serverConfigure your MCP client (one-time setup) - Create a config file for your platform:
For Cursor: Create
~/.cursor/mcp.json(macOS/Linux) or%USERPROFILE%\.cursor\mcp.json(Windows)For Claude CLI: Create
~/.claude.json(macOS/Linux) or%USERPROFILE%\.claude.json(Windows)For Claude Desktop: Create
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)Add this configuration:
{ "mcpServers": { "logicstamp": { "command": "npx", "args": ["-y", "logicstamp-mcp"] } } }Note:
-ytellsnpxnot to prompt (MCP clients often run the server without a terminal, so prompts can hang). Some clients may require"type": "stdio"— if the above does not work, add it to the config. See integration guides for platform-specific details:Claude CLI Integration - For Claude Code users
Claude Desktop Integration - For Claude Desktop users
Cursor Integration - For Cursor IDE users
Restart your MCP client (Cursor/Claude Desktop) or verify with
claude mcp list(Claude CLI)Start using LogicStamp:
cd /path/to/your/react-project claude # or open CursorAsk your AI assistant: "Can you analyze my React project using LogicStamp?"
For detailed setup instructions, see the Quick Start Guide.
Usage Example
You: "Analyze the Button component in my project"
AI:
1. Uses logicstamp_refresh_snapshot to create snapshot
2. Uses logicstamp_list_bundles to find Button component
3. Uses logicstamp_read_bundle to read Button's contract
4. Provides detailed analysis of Button's props, state, hooks, etc.For more examples and workflows, see Usage Examples in the MCP Integration Guide.
Tool Reference
The MCP server provides 7 tools. For complete API documentation with input/output examples, see the MCP Integration Guide.
logicstamp_refresh_snapshot - Create a snapshot of the current codebase state (STEP 1)
Parameters:
profile(optional),mode(optional),includeStyle(optional),depth(optional),projectPath(required),cleanCache(optional),skipIfWatchActive(optional)Returns:
snapshotId,summary,folders,watchMode(if active)Always call this first when analyzing a new repo
Note:
projectPathis REQUIRED - must be an absolute path to the project root. Omitting this parameter can cause the server to hang.Watch Mode Optimization: Set
skipIfWatchActive: trueto skip regeneration when watch mode is running. When watch mode (stamp context --watch) is active, context is already being kept fresh - no need to regenerateDepth Parameter: By default, dependency graphs include nested components (depth=2). To include only direct dependencies, explicitly set
depth: 1. The default depth=2 ensures nested components are included in dependency graphs.Cache is automatically cleaned if corruption is detected
logicstamp_list_bundles - List available bundles for selective loading (STEP 2)
Parameters:
snapshotId(required),folderPrefix(optional)Returns:
bundlesarray with metadataCall this after refresh_snapshot to discover available bundles
logicstamp_read_bundle - Read full component contract and dependency graph (STEP 3)
Parameters:
snapshotId(required),bundlePath(required),rootComponent(optional)Returns: Complete bundle with contracts and dependency graph
This is where the valuable data is - prefer bundles over raw source files
logicstamp_compare_snapshot - Detect changes after edits
Parameters:
profile(optional): Analysis profile (default:llm-chat)mode(optional): Code inclusion mode (default:header)includeStyle(optional): Include style metadata in comparison. Only takes effect whenforceRegenerateistrue(default:false)depth(optional): Dependency traversal depth. Only used whenforceRegenerateistrue. IMPORTANT: By default, dependency graphs include nested components (depth=2). To include only direct dependencies, setdepth: 1. The default depth=2 ensures nested components are included in dependency graphs.forceRegenerate(optional): Force regeneration of context before comparing. Whenfalse, reads existingcontext_main.jsonfrom disk (fast). Whentrue, runsstamp contextto regenerate (default:false)projectPath(optional): Project path (defaults to current directory)baseline(optional): Comparison baseline:disk(default),snapshot, or custom pathcleanCache(optional): Force cache cleanup (default:false, auto-detects corruption)
Returns: Comparison result with change details
Note: By default (
forceRegenerate: false), reads from disk for fast comparison. SetforceRegenerate: trueto ensure fresh context or whencontext_main.jsonis missing.
logicstamp_compare_modes - Generate token cost comparison across all modes
Parameters:
projectPath(optional),cleanCache(optional)Returns: Token counts for all modes (none/header/header+style/full), savings percentages, file statistics
Use this to understand token costs before generating context or when user asks about token budgets/optimization
logicstamp_read_logicstamp_docs - Read LogicStamp documentation
Parameters: None
Returns: Complete LogicStamp documentation bundle
Use this when confused - explains LogicStamp, workflow, and best practices
logicstamp_watch_status - Check if watch mode is active
Parameters:
projectPath(required),includeRecentLogs(optional),logLimit(optional)Returns:
watchModeActive,status(if active),recentLogs(if requested),messageUse this to check if
stamp context --watchis running before calling refresh_snapshotWhen watch mode is active: Context is being kept fresh automatically via incremental rebuilds - you can skip regeneration and just read existing bundles
Startup Ritual
When starting work with a new project, use the Startup Ritual to guide the AI through the recommended workflow. This ensures the AI:
Calls
logicstamp_refresh_snapshotfirstUses bundles instead of raw source files when possible
Follows the recommended LogicStamp workflow
Documentation
MCP-Specific Docs (This Repo)
Quick Start Guide - Get up and running in minutes
Startup Ritual - Recommended message to paste when starting with a new project
MCP Integration Guide - Complete API reference and architecture
Integration Guides - Platform-specific setup (Claude CLI, Claude Desktop, Cursor)
Canonical LogicStamp Docs (Redundant Sources)
Full CLI & Context Documentation:
Primary: logicstamp.dev/docs/cli/context - Complete documentation (landing page, best UX)
Fallback: CLI Repository Docs - GitHub docs (always available, versioned)
Key Topics (both primary and fallback links):
Topic | Primary (Landing Page) | Fallback (GitHub) |
Usage Guide | ||
UIF Contracts | ||
Schema Reference | ||
CLI Commands | ||
Compare Modes | ||
Limitations |
Note:
Docs are maintained in the CLI repo and synced to the landing page
If the landing page is unavailable, use the GitHub links as fallback
The
logicstamp_read_logicstamp_docstool returns an embedded LLM-focused doc snapshot (docs/logicstamp-for-llms.md) for offline use
Troubleshooting
Common Issues
"stamp: command not found"
Install LogicStamp Context CLI:
npm install -g logicstamp-context
Server doesn't show up
Verify installation:
npm list -g logicstamp-mcpTest server manually:
npx logicstamp-mcp(should wait for stdin, press Ctrl+C to exit)Check configuration in your MCP client (see integration guides)
Restart your MCP client completely
"Snapshot not found"
Always call
logicstamp_refresh_snapshotfirst before using other tools
For detailed troubleshooting, see:
Platform-specific troubleshooting in integration guides
MCP Integration Guide for architecture details
Development
Build
npm install
npm run buildRun the Server
Important: You don't need to start the MCP server manually. Once configured, your MCP client (Cursor, Claude Desktop, etc.) automatically starts the server when needed. The commands below are only for testing/debugging.
For testing/debugging only:
After building from source:
npm start
# or directly
node dist/index.jsAfter global installation:
npx logicstamp-mcpNote: The server runs via stdio (standard input/output) and waits for MCP protocol messages. When configured with an MCP client (Claude CLI, Cursor, etc.), the client automatically starts the server - you don't need to run it manually. The commands above are useful for:
Testing the server during development
Debugging connection issues
Verifying the server starts correctly
When running manually, the server will wait for stdin input. Press Ctrl+C to exit.
Watch Mode
npm run devFor development details, see MCP Integration Guide.
Architecture
The MCP server follows these design principles:
Thin Wrapper - Shells out to existing
stampCLIStateful Snapshots - Tracks context before/after edits
Read-Only - Server never writes to project files
Token-Efficient - Selective bundle loading
For detailed architecture documentation, see MCP Integration Guide.
Requirements
The LogicStamp MCP server requires:
Node.js >= 20
TypeScript codebase (React, Next.js, Vue (TS/TSX), Express, or NestJS)
stamp contextcommand - Must be installed and available in PATH:The CLI generates
context_main.jsonfilesThe MCP server reads these JSON files directly (no special flags required)
Need Help?
Roadmap - logicstamp.dev/roadmap
License
The LogicStamp Fox mascot and related brand assets are © 2025 Amit Levi. These assets may not be used for third-party branding without permission.
Issues and PRs welcome! See CONTRIBUTING.md for guidelines.
This project follows a Code of Conduct.
Available Tools
7 toolslogicstamp_compare_modesA
Generates token cost comparison across all modes (none/header/header+style/full) to help choose optimal mode. Executes stamp context --compare-modes --stats and returns token counts (GPT-4o-mini/Claude), savings vs raw source (~70% for header) and vs full context, file stats. Modes: none (~79% savings), header (~65%, recommended), header+style (~52%), full (no savings). Use before generating context, when user asks about token budgets, or to evaluate style metadata impact. Performance: Takes 2-3x longer (regenerates with/without style for accuracy).
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Absolute path to project root (default: current working directory) | |
| cleanCache | No | Manually force cleanup of .logicstamp cache folder. Default: false (auto-detects corruption/mismatch). Set to true to force cache reset. Use only when experiencing cache-related issues. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details execution command, returned data (token counts, savings, file stats), explains mode savings percentages, and notes performance impact (2-3x longer). Fully transparent about behavior and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences, front-loaded with purpose. Second sentence packs many details but remains readable. Slightly verbose but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given schema covers all params, no output schema, and moderate complexity, the description fully explains purpose, modes, usage, performance, and expected output. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. Description does not add any extra meaning about parameters beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it 'generates token cost comparison across all modes' to help choose optimal mode. The verb and resource are specific. Siblings like logicstamp_compare_snapshot are different, so this tool is clearly distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly says 'Use before generating context, when user asks about token budgets, or to evaluate style metadata impact.' Provides clear when-to-use context, though doesn't explicitly list when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logicstamp_compare_snapshotA
Compares current snapshot with baseline to detect changes. Reads context_main.json and folder context.json files. Detects: ADDED/REMOVED/CHANGED/UNCHANGED folders/components (props, hooks, imports, semantic hash changes). Returns structured diff with token deltas. Use after editing files to verify changes (like Jest snapshots - detects contract drift, not just file changes). Default (forceRegenerate=false): Reads from disk (fast, assumes fresh). Set forceRegenerate=true to regenerate before comparing. Style: Set includeStyle=true (with forceRegenerate=true) to include style metadata. Depth: Set depth when forceRegenerate=true (default=2 nested, 1=direct only). Baseline: "disk" (current snapshot, default), "snapshot" (stored), or "git:" (future). Error: If context_main.json missing and forceRegenerate=false, fails - run refresh_snapshot first or use forceRegenerate=true.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Analysis profile (only used if forceRegenerate: true). llm-chat=balanced (default), llm-safe=conservative, ci-strict=contracts only | llm-chat |
| mode | No | Code inclusion mode (only used if forceRegenerate: true). none=contracts only, header=contracts+JSDoc (default), full=complete source | header |
| includeStyle | No | Include style metadata in comparison (only takes effect when forceRegenerate: true). Extracts Tailwind classes, SCSS, layout patterns, colors, spacing, animations. If forceRegenerate is false, compares whatever is on disk (may not have style metadata). | |
| depth | No | Dependency traversal depth. Default: 2 (includes nested components, e.g., App → Hero → Button). Set to 1 for direct dependencies only (e.g., App → Hero). Only used when forceRegenerate: true. | |
| forceRegenerate | No | Force regeneration before comparing. When true, runs `stamp context` (with --include-style if includeStyle is true) to generate fresh context files. When false, reads existing context_main.json from disk (fast, assumes context is fresh). | |
| projectPath | No | Absolute path to project root (default: current working directory) | |
| baseline | No | Comparison baseline: "disk" (current snapshot, default), "snapshot" (stored snapshot), or "git:<ref>" (future: git baseline) | disk |
| cleanCache | No | Manually force cleanup of .logicstamp cache folder. Default: false (auto-detects corruption/mismatch). Set to true to force cache reset. Use only when experiencing cache-related issues. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral traits: it reads context_main.json and folder context.json, returns a structured diff with token deltas, and details parameter effects (e.g., forceRegenerate triggering regeneration, baseline options). It also describes error conditions when files are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is packed with information but remains concise and well-structured. It begins with a clear one-line purpose, then logically flows into parameter details and use cases, avoiding unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is complete. It covers return type (structured diff with token deltas), error handling (missing context_main.json), and all parameter interactions, providing a fully sufficient guide for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters are described in the schema (100% coverage), and the description adds significant context beyond the schema—e.g., explaining default behaviors, examples for depth, and the effect of baseline values. This extra explanation enhances meaning without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Compares current snapshot with baseline to detect changes' and specifies the types of changes detected (ADDED/REMOVED/CHANGED/UNCHANGED). It uses concrete verbs and resources, and distinguishes itself from sibling tools like logicstamp_refresh_snapshot by noting that it reads from disk or regenerates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use after editing files to verify changes' and provides a comparison to Jest snapshots. It also advises when not to use it: if context_main.json is missing and forceRegenerate is false, the agent should first run refresh_snapshot or set forceRegenerate=true.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logicstamp_list_bundlesA
⚠️ CRITICAL: Do NOT use sleep() delays before calling this tool. When watch mode is active, bundles are already fresh - call this tool directly without any waiting. Lists all ROOT bundles from context_main.json. Returns bundle catalog (component names, file paths, bundle paths, token estimates). IMPORTANT: LogicStamp organizes components into ROOT components (have their own bundles, listed here) and DEPENDENCIES (included in importing root's bundle.graph.nodes[], not listed here). If a component isn't in this list, it's a dependency - find which root imports it, then read that root's bundle to see the dependency contract in bundle.graph.nodes[]. Use bundle paths in read_bundle to get component contracts. Watch mode: Use projectPath directly (no snapshotId needed). Filter: folderPrefix="src/components" to filter by directory. Next: read_bundle(snapshotId|projectPath, bundlePath). The tool handles race conditions internally - no external sleep() delays needed.
| Name | Required | Description | Default |
|---|---|---|---|
| snapshotId | No | Snapshot ID from logicstamp_refresh_snapshot. Optional if watch mode is active - use projectPath instead for direct access. | |
| projectPath | No | Absolute path to project root. Use this instead of snapshotId when watch mode is active for instant access to fresh context. | |
| folderPrefix | No | Filter bundles by folder path prefix (optional, e.g., "src/components" to see only that folder) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It explains that bundles are fresh in watch mode, that it lists only root bundles (not dependencies), and that it handles race conditions internally. Lacks an explicit statement that it is read-only, but the context is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a critical warning and structured with bullet points. While somewhat verbose, every sentence adds essential information. Could be slightly trimmed but overall effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains what the tool returns (bundle catalog with fields). It also provides context about dependencies, next steps, and all three parameters, making it complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds value by explaining when to use each parameter (e.g., snapshotId vs projectPath based on watch mode) and provides an example for folderPrefix, going beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all ROOT bundles from context_main.json, returns a bundle catalog with specific fields, and distinguishes between root components and dependencies. It also explains what to do if a component is missing, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit critical guidance: not to use sleep() delays, when to use projectPath vs snapshotId, how to filter with folderPrefix, and what tool to call next (read_bundle). This differentiates it from siblings like logicstamp_read_bundle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logicstamp_read_bundleA
⚠️ CRITICAL: Do NOT use sleep() delays before calling this tool. When watch mode is active, bundles are already fresh - call this tool directly without any waiting. Reads bundle/index file to get component contracts and dependency graphs. Reads context_main.json (project overview) or folder context.json (component contracts). These are pre-parsed summaries optimized for AI - PREFER over raw .ts/.tsx files. ROOT vs DEPENDENCY: Root components have their own bundles (use rootComponent param). Dependencies appear in bundle.graph.nodes[] of the root that imports them. If a component isn't found as root, it's a dependency - read bundles that might import it and check bundle.graph.nodes[] for the dependency contract. Bundle contains: entryId, graph.nodes[] (UIFContract for root + dependencies), graph.edges[] (dependencies), meta.missing[] (unresolved). UIFContract: kind, description, props, emits, state, exports, semanticHash, optional style metadata. Watch mode: Use projectPath directly (no snapshotId needed). Use bundlePath="context_main.json" for overview, or folder paths from list_bundles for details. The tool handles race conditions internally with retry logic (200-500ms delays + exponential backoff built-in). No external sleep() delays needed.
| Name | Required | Description | Default |
|---|---|---|---|
| snapshotId | No | Snapshot ID from logicstamp_refresh_snapshot. Optional if watch mode is active - use projectPath instead for direct access. | |
| projectPath | No | Absolute path to project root. Use this instead of snapshotId when watch mode is active for instant access to fresh context. | |
| bundlePath | Yes | Relative path to context.json file or context_main.json from project root. Use "context_main.json" for project overview, or folder paths like "src/components/context.json" for component bundles. | |
| rootComponent | No | Specific ROOT component name to filter within the bundle file (optional). Only works for root components (listed in list_bundles). If omitted, returns the first bundle. Note: Dependencies appear in bundle.graph.nodes[] of the root that imports them, not as separate root bundles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and delivers: it discloses internal retry logic, race condition handling, and the pre-parsed nature of the data. It clearly indicates a read-only operation without mutating state, meeting transparency needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While lengthy, the description is well-structured with a critical warning upfront, followed by operational details. Every sentence adds unique value, though it could be slightly condensed without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and moderate complexity, the description covers all essential aspects: usage scenarios, parameter relationships, output structure details (graph, edges, meta, UIFContract), and special behaviors. It is fully actionable for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline of 3. Description adds significant value by explaining the interplay between snapshotId and projectPath, how bundlePath relates to context files, and the rootComponent constraint. This goes well beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads bundle/index files for component contracts and dependency graphs, and differentiates between root and dependency components. Although it doesn't explicitly contrast with sibling tools, the purpose is specific and well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Excellent guidance: explicitly warns against using sleep delays, explains when to use snapshotId vs projectPath, distinguishes root vs dependency lookup, and describes internal retry logic. This fully informs the agent about when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logicstamp_read_logicstamp_docsA
Returns comprehensive LogicStamp documentation (logicstamp-for-llms.md guide, usage, UIF contracts, schema, CLI commands, limitations). Returns complete doc bundle with key concepts, workflow instructions, and best practices. Use when: unsure how LogicStamp works, starting new project, need bundle structure/contract format, or want recommended workflow. Escape hatch: if confused about LogicStamp, call this first. Explains: what LogicStamp is, why bundles over raw code, workflow (refresh → list → read), bundle structure, best practices.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It transparently describes the tool's output (documentation bundle) and content areas (what LogicStamp is, workflow, best practices). It does not mention side effects or authorization, but as a read-only documentation tool, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose. However, it repeats some information (e.g., 'Explains' section overlaps with earlier list) and could be slightly more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully covers what the tool does, when to use it, and what it returns. It addresses all likely information needs for an agent selecting this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description only needs to explain the tool's function. It does so comprehensively, listing the documentation contents and use cases, adding significant meaning beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns comprehensive LogicStamp documentation, listing specific contents (guide, usage, contracts, schema, CLI, limitations). It distinguishes from sibling tools that focus on comparing modes, snapshots, or reading specific bundles, establishing unique value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('unsure how LogicStamp works, starting new project, need bundle structure/contract format') and includes an 'escape hatch' for confusion. While it provides clear context, it does not explicitly state when not to use it or alternatives, though sibling differentiation is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logicstamp_refresh_snapshotA
⚠️ CRITICAL: Do NOT use sleep() delays. After calling this tool, bundles are immediately available. When watch mode is active, skip this tool entirely and read bundles directly - they're already fresh. ⚠️ FIRST: Call logicstamp_watch_status! If watch mode is ACTIVE → SKIP this tool, go to list_bundles → read_bundle (context is fresh). Use when: watch mode INACTIVE, first-time analysis, or after large changes. Default skipIfWatchActive=true (auto-skips regeneration if watch mode active). WHAT IT DOES: Runs stamp context to analyze React/TypeScript/Node.js codebases (Next.js, Express.js, NestJS) and generate structured context files (context_main.json + per-folder context.json bundles). These are STRUCTURED DATA, not raw source. SLOW compared to reading existing context. WHAT YOU GET: Summary statistics (component counts, token estimates, folder structure) and a snapshotId. If watch mode is active, also includes watchMode status. IMPORTANT: This summary does NOT include component details, props, dependencies, or style metadata. WHAT TO DO NEXT: list_bundles(snapshotId|projectPath) → read_bundle(snapshotId|projectPath, bundlePath). Use projectPath when watch mode is active (no snapshotId needed). STYLE METADATA: Set includeStyle=true to extract visual/design info (Tailwind/SCSS/animations/colors/spacing). Appears in bundle "style" field, NOT in summary. Use for design system analysis or when user asks about styling/colors/animations. DEPTH PARAMETER: Default depth=2 includes nested components (App → Hero → Button) with contracts and styles. Set depth=1 for direct dependencies only (App → Hero). PREFER BUNDLES OVER RAW CODE: These bundles are pre-parsed summaries optimized for AI - use them instead of reading raw .ts/.tsx files when possible. If you're unsure how LogicStamp works, call logicstamp_read_logicstamp_docs first.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Analysis profile: llm-chat=balanced (default), llm-safe=conservative (max 30 nodes), ci-strict=contracts only, strict deps | llm-chat |
| mode | No | Code inclusion mode: none=contracts only (~79% token savings), header=contracts+JSDoc headers (~65% savings, recommended), full=complete source code (no savings) | header |
| includeStyle | No | Extract style metadata (Tailwind, SCSS, Material UI, animations, layout patterns). Equivalent to `stamp context style` or `stamp context --include-style`. Style data appears in component contracts when reading bundles, NOT in the summary. | |
| depth | No | Dependency traversal depth. Default: 2 (includes nested components, e.g., App → Hero → Button). Set to 1 for direct dependencies only (e.g., App → Hero). Depth=2 is recommended for React projects with component hierarchies. | |
| projectPath | Yes | CRITICAL: Absolute path to project root. REQUIRED - must always be provided. When stamp init has been run, MCP clients may omit this, causing hangs. This parameter is REQUIRED for the tool to work correctly. | |
| cleanCache | No | Manually force cleanup of .logicstamp cache folder. Default: false (auto-detects corruption/mismatch). Set to true to force cache reset. Use only when experiencing cache-related issues. | |
| skipIfWatchActive | No | Skip regeneration if watch mode is active (default: true). When true and watch mode is running, skips expensive regeneration and reads existing context files instantly. Set to false only if you need to force regeneration even when watch mode is active. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool is slow, generates structured data not raw source, and that the summary lacks component details. It also warns about the critical `projectPath` requirement and that omitting it causes hangs. However, it doesn't explicitly mention potential side effects like file overwrites, though it implies safety through auto-detection and cache cleanup options.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with emojis, bold text, and clear sections. It front-loads the critical warning. Some redundancy exists (e.g., multiple 'CRITICAL' markers), but every sentence adds value. It could be slightly more concise without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, 1 required, and no output schema, the description covers everything adequately. It explains the tool's output (summary statistics, snapshotId), what it doesn't include (component details), and the next steps (list_bundles, read_bundle). It also addresses style metadata and depth parameter effects. For a complex tool, this is very complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds substantial value beyond the schema. It explains the workflow, provides examples for depth, warns about projectPath being required despite being in the schema, and clarifies the skipIfWatchActive behavior. This exceeds the baseline expectation for a fully covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it runs `stamp context` to analyze React/TypeScript/Node.js codebases and generate structured context files. It distinguishes itself from siblings by specifying when to use it versus `logicstamp_watch_status` and when to skip and use `list_bundles`/`read_bundle` directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use (watch mode inactive, first-time analysis, after large changes) and when-not-to-use (watch mode active, skip and read bundles directly). It instructs to first call `logicstamp_watch_status` and names alternatives like `list_bundles` and `read_bundle`. The default `skipIfWatchActive=true` is explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logicstamp_watch_statusA
⚠️ CRITICAL: Do NOT use sleep() delays before calling LogicStamp tools when watch mode is active. Watch mode keeps bundles fresh automatically - just read them directly. ⚠️ CALL THIS FIRST before any other LogicStamp tool! Checks if watch mode (stamp context --watch) is active. If ACTIVE: SKIP refresh_snapshot, go to list_bundles → read_bundle (context fresh via incremental rebuilds). If INACTIVE: Call refresh_snapshot first. Enables zero-cost instant context access when watch mode running. Reads .logicstamp/context_watch-status.json and verifies process is running. Watch features: Incremental rebuilds (affected bundles only), change detection (props/hooks/state/components), debouncing (500ms), optional log file. Strict watch mode (stamp context --watch --strict-watch): Also detects breaking changes. Returns strictWatch=true when enabled. Detection: Reads strictWatch field from .logicstamp/context_watch-status.json file (when LogicStamp CLI includes it). Set includeRecentLogs=true to see recent regeneration events. When watch mode is active, bundles are already fresh - read them directly without any sleep() delays. The tools handle race conditions internally.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | CRITICAL: Absolute path to project root. REQUIRED - must always be provided. | |
| includeRecentLogs | No | Include recent watch log entries showing what changed (default: false). Only available if watch mode was started with --log-file flag. | |
| logLimit | No | Maximum number of recent log entries to return (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and excels. It discloses internal behavior: reads .logicstamp/context_watch-status.json, verifies process running, describes watch features (incremental rebuilds, change detection, debouncing, optional log file), strict watch mode detection, and that tools handle race conditions internally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a critical warning and structured with sections, but it is verbose and repetitive (e.g., multiple mentions of not using sleep). Some sentences could be consolidated without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully explains what the tool returns (status info). It covers workflow integration, prerequisites, edge cases (strict watch, log file requirement), and internal behavior, making it complete for the tool's role in a set of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the contextual use of includeRecentLogs (to see recent regeneration events) and logLimit (maximum entries), and emphasizes the requirement for projectPath. This extra context justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if watch mode is active, and provides explicit instructions on workflow integration with sibling tools like refresh_snapshot, list_bundles, and read_bundle. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to call this first before any other LogicStamp tool, and provides detailed conditional guidance: if active, skip refresh_snapshot; if inactive, call it. It also warns against using sleep() delays, offering clear when-to-use and when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.2.4- First observed
logicstamp_compare_modes - First observed
logicstamp_compare_snapshot - First observed
logicstamp_list_bundles - First observed
logicstamp_read_bundle - First observed
logicstamp_read_logicstamp_docs - First observed
logicstamp_refresh_snapshot - First observed
logicstamp_watch_status
TDQS
Each tool has a clearly distinct purpose: watch status check, refresh, list bundles, read bundles, compare modes, compare snapshots, and docs retrieval. No overlap or ambiguity.
All tools follow a consistent 'logicstamp_verb_noun' pattern (e.g., compare_modes, list_bundles, read_bundle). Naming is predictable and uniform.
7 tools cover the full workflow for code analysis (watch → refresh → list → read → compare) without excess. Well-scoped for the domain.
The tool surface provides complete coverage of the intended workflow: status checking, snapshot generation, bundle listing/reading, comparisons, and documentation. No obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
An MCP server that gives your AI access to the source code and docs of all public github repos
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that transforms codebases into intelligent, queryable knowledge bases, enabling AI assistants to perform semantic search, explore architecture, and analyze code relationships.166-
- AlicenseNot gradedqualityDmaintenanceUniversal MCP server that analyzes any codebase and provides structured context to AI assistants. Dynamic, accurate, and token-efficient.14MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.2MIT

Vibgrate AI Contextofficial
AlicenseNot gradedqualityAmaintenanceLocal-first MCP server that gives AI assistants codebase intelligence—code graph, drift analysis, vulnerability attribution, and version-correct library docs—all from the user's machine.1,5293Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/LogicStamp/logicstamp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server