Skip to main content
Glama
LogicStamp

logicstamp-mcp

Official
by LogicStamp

Version Beta License Node CI

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.


LogicStamp MCP Workflow 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

  1. logicstamp_refresh_snapshot - Analyze project and create snapshot

  2. logicstamp_list_bundles - List available component bundles

  3. logicstamp_read_bundle - Read full component contract + graph

  4. logicstamp_compare_snapshot - Detect changes after edits

  5. logicstamp_compare_modes - Generate token cost comparison across all modes

  6. logicstamp_read_logicstamp_docs - Read LogicStamp documentation

  7. logicstamp_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 --watch is running and skips regeneration (context is already fresh)

Prerequisites

  1. Node.js >= 20

  2. LogicStamp Context CLI - The stamp command must be installed and available in PATH

    npm 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.

  1. Install prerequisites (if not already installed):

    npm install -g logicstamp-context  # Required: LogicStamp CLI
    npm install -g logicstamp-mcp       # MCP server
  2. Configure 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: -y tells npx not 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:

  3. Restart your MCP client (Cursor/Claude Desktop) or verify with claude mcp list (Claude CLI)

  4. Start using LogicStamp:

    cd /path/to/your/react-project
    claude  # or open Cursor

    Ask 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: projectPath is REQUIRED - must be an absolute path to the project root. Omitting this parameter can cause the server to hang.

  • Watch Mode Optimization: Set skipIfWatchActive: true to skip regeneration when watch mode is running. When watch mode (stamp context --watch) is active, context is already being kept fresh - no need to regenerate

  • Depth 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: bundles array with metadata

  • Call 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 when forceRegenerate is true (default: false)

    • depth (optional): Dependency traversal depth. Only used when forceRegenerate is true. IMPORTANT: By default, dependency graphs include nested components (depth=2). To include only direct dependencies, set depth: 1. The default depth=2 ensures nested components are included in dependency graphs.

    • forceRegenerate (optional): Force regeneration of context before comparing. When false, reads existing context_main.json from disk (fast). When true, runs stamp context to regenerate (default: false)

    • projectPath (optional): Project path (defaults to current directory)

    • baseline (optional): Comparison baseline: disk (default), snapshot, or custom path

    • cleanCache (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. Set forceRegenerate: true to ensure fresh context or when context_main.json is 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), message

  • Use this to check if stamp context --watch is running before calling refresh_snapshot

  • When 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:

  1. Calls logicstamp_refresh_snapshot first

  2. Uses bundles instead of raw source files when possible

  3. Follows the recommended LogicStamp workflow

Documentation

MCP-Specific Docs (This Repo)

Canonical LogicStamp Docs (Redundant Sources)

Full CLI & Context Documentation:

Key Topics (both primary and fallback links):

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_docs tool 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-mcp

  • Test 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_snapshot first before using other tools

For detailed troubleshooting, see:

Development

Build

npm install
npm run build

Run 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.js

After global installation:

npx logicstamp-mcp

Note: 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 dev

For development details, see MCP Integration Guide.

Architecture

The MCP server follows these design principles:

  1. Thin Wrapper - Shells out to existing stamp CLI

  2. Stateful Snapshots - Tracks context before/after edits

  3. Read-Only - Server never writes to project files

  4. 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 context command - Must be installed and available in PATH:

    • The CLI generates context_main.json files

    • The MCP server reads these JSON files directly (no special flags required)

Need Help?

License

MIT


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.

Links: Website · GitHub · CLI · Changelog

Available Tools

7 tools
logicstamp_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).

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoAbsolute path to project root (default: current working directory)
cleanCacheNoManually 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

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNoAnalysis profile (only used if forceRegenerate: true). llm-chat=balanced (default), llm-safe=conservative, ci-strict=contracts onlyllm-chat
modeNoCode inclusion mode (only used if forceRegenerate: true). none=contracts only, header=contracts+JSDoc (default), full=complete sourceheader
includeStyleNoInclude 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).
depthNoDependency 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.
forceRegenerateNoForce 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).
projectPathNoAbsolute path to project root (default: current working directory)
baselineNoComparison baseline: "disk" (current snapshot, default), "snapshot" (stored snapshot), or "git:<ref>" (future: git baseline)disk
cleanCacheNoManually 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

A4.9/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
snapshotIdNoSnapshot ID from logicstamp_refresh_snapshot. Optional if watch mode is active - use projectPath instead for direct access.
projectPathNoAbsolute path to project root. Use this instead of snapshotId when watch mode is active for instant access to fresh context.
folderPrefixNoFilter bundles by folder path prefix (optional, e.g., "src/components" to see only that folder)

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
snapshotIdNoSnapshot ID from logicstamp_refresh_snapshot. Optional if watch mode is active - use projectPath instead for direct access.
projectPathNoAbsolute path to project root. Use this instead of snapshotId when watch mode is active for instant access to fresh context.
bundlePathYesRelative 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.
rootComponentNoSpecific 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

A4.5/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNoAnalysis profile: llm-chat=balanced (default), llm-safe=conservative (max 30 nodes), ci-strict=contracts only, strict depsllm-chat
modeNoCode inclusion mode: none=contracts only (~79% token savings), header=contracts+JSDoc headers (~65% savings, recommended), full=complete source code (no savings)header
includeStyleNoExtract 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.
depthNoDependency 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.
projectPathYesCRITICAL: 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.
cleanCacheNoManually 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.
skipIfWatchActiveNoSkip 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

A4.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesCRITICAL: Absolute path to project root. REQUIRED - must always be provided.
includeRecentLogsNoInclude recent watch log entries showing what changed (default: false). Only available if watch mode was started with --log-file flag.
logLimitNoMaximum number of recent log entries to return (default: 5)

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 7 tool updatesv0.2.4
    • First observedlogicstamp_compare_modes
    • First observedlogicstamp_compare_snapshot
    • First observedlogicstamp_list_bundles
    • First observedlogicstamp_read_bundle
    • First observedlogicstamp_read_logicstamp_docs
    • First observedlogicstamp_refresh_snapshot
    • First observedlogicstamp_watch_status

TDQS

A4.7/5.0
Disambiguation5/5

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.

Naming Consistency5/5

All tools follow a consistent 'logicstamp_verb_noun' pattern (e.g., compare_modes, list_bundles, read_bundle). Naming is predictable and uniform.

Tool Count5/5

7 tools cover the full workflow for code analysis (watch → refresh → list → read → compare) without excess. Well-scoped for the domain.

Completeness5/5

The tool surface provides complete coverage of the intended workflow: status checking, snapshot generation, bundle listing/reading, comparisons, and documentation. No obvious gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that transforms codebases into intelligent, queryable knowledge bases, enabling AI assistants to perform semantic search, explore architecture, and analyze code relationships.
    166
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Universal MCP server that analyzes any codebase and provides structured context to AI assistants. Dynamic, accurate, and token-efficient.
    14
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.
    2
    MIT

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/LogicStamp/logicstamp-mcp'

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