Skip to main content
Glama
mettamatt

Code Reasoning MCP Server

Code Reasoning MCP Server

A Model Context Protocol (MCP) server that enhances Claude's ability to solve complex programming tasks through structured, step-by-step thinking.

npm version License: MIT CI

Quick Installation

  1. Configure Claude Desktop by editing:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

    {
      "mcpServers": {
        "code-reasoning": {
          "command": "npx",
          "args": ["-y", "@mettamatt/code-reasoning"]
        }
      }
    }
  2. Configure VS Code:

{
  "mcp": {
    "servers": {
      "code-reasoning": {
        "command": "npx",
        "args": ["-y", "@mettamatt/code-reasoning"]
      }
    }
  }
}

Related MCP server: Sequential Thinking MCP Server

Usage

  1. To trigger this MCP, append this to your chat messages:

    Use sequential thinking to reason about this.
  2. Use ready-to-go prompts that trigger Code-Reasoning:

Code Reasoning Prompts

  • Click the "+" icon in the Claude Desktop chat window, or in Claude Code type /help to see the specific commands.

  • Select "Add from Code Reasoning" from the available tools

  • Choose a prompt template and fill in the required information

  • Submit the form to add the prompt to your chat message and hit return

See the Prompts Guide for details on using the prompt templates.

Command Line Options

  • --debug: Enable detailed logging

  • --help or -h: Show help information

Key Features

  • Programming Focus: Optimized for coding tasks and problem-solving

  • Structured Thinking: Break down complex problems into manageable steps

  • Thought Branching: Explore multiple solution paths in parallel

  • Thought Revision: Refine earlier reasoning as understanding improves

  • Safety Limits: Automatically stops after 20 thought steps to prevent loops

  • Ready-to-Use Prompts: Pre-defined templates for common development tasks

Documentation

Detailed documentation available in the docs directory:

Project Structure

├── index.ts                  # Entry point
├── src/                      # Implementation source files
└── test/                     # Placeholder for future test utilities

License

This project is licensed under the MIT License. See the LICENSE file for details.

Available Tools

1 tool
code-reasoningA

🧠 Code Reasoning Tool (using sequential thinking)

Purpose → break complex problems into self-auditing, exploratory thought steps that can branch, revise, or back-track until a single, well-supported answer emerges.


WHEN TO CALL

• Multi-step planning, design, debugging, or open-ended analysis
• Whenever further private reasoning or hypothesis testing is required before replying to the user


ENCOURAGED PRACTICES

🔍 Question aggressively – ask "What am I missing?" after each step
🔄 Revise freely – mark is_revision=true even late in the chain
🌿 Branch often – explore plausible alternatives in parallel; you can merge or discard branches later
↩️ Back-track – if a path looks wrong, start a new branch from an earlier thought
Admit uncertainty – explicitly note unknowns and schedule extra thoughts to resolve them


MUST DO

✅ Put every private reasoning step in thought
✅ Keep thought_number correct; update total_thoughts when scope changes
✅ Use is_revision & branch_from_thought/branch_id precisely
✅ Set next_thought_needed=false only when all open questions are resolved
✅ Abort and summarise if thought_number > 20


DO NOT

⛔️ Reveal the content of thought to the end-user
⛔️ Continue thinking once next_thought_needed=false
⛔️ Assume thoughts must proceed strictly linearly – branching is first-class


PARAMETER CHEAT-SHEET

thought (string) – current reasoning step
next_thought_needed (boolean) – request further thinking?
thought_number (int ≥ 1) – 1-based counter
total_thoughts (int ≥ 1) – mutable estimate
is_revision, revises_thought (int) – mark corrections
branch_from_thought, branch_id – manage alternative paths
needs_more_thoughts (boolean) – optional hint that more thoughts may follow

All JSON keys must use lower_snake_case.


EXAMPLE ✔️

{
  "thought": "List solution candidates and pick the most promising",
  "thought_number": 1,
  "total_thoughts": 4,
  "next_thought_needed": true
}

EXAMPLE ✔️ (branching late)

{
  "thought": "Alternative approach: treat it as a graph-search problem",
  "thought_number": 6,
  "total_thoughts": 8,
  "branch_from_thought": 3,
  "branch_id": "B1",
  "next_thought_needed": true
}
ParametersJSON Schema
NameRequiredDescriptionDefault
branch_from_thoughtNoBranching point thought number
branch_idNoIdentifier for the current branch
is_revisionNoWhether this is a revision of a previous thought
needs_more_thoughtsNoOptional hint that more thoughts may follow
next_thought_neededYesWhether another thought step is needed
revises_thoughtNoWhich thought is being revised
thoughtYesYour current reasoning step
thought_numberYesCurrent thought number (1-based)
total_thoughtsYesEstimated total thoughts needed (can be adjusted)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure and excels at this. It provides extensive behavioral guidance including 'ENCOURAGED PRACTICES' (questioning, revising, branching, backtracking, admitting uncertainty), 'MUST DO' rules (put every step in thought, keep counters correct, use branching/revision flags precisely, set next_thought_needed=false only when resolved, abort after 20 thoughts), and 'DO NOT' prohibitions (don't reveal thoughts to user, don't continue after next_thought_needed=false, don't assume linear thinking). This comprehensively describes how the tool should be used.

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 well-structured with clear sections (Purpose, WHEN TO CALL, ENCOURAGED PRACTICES, MUST DO, DO NOT, PARAMETER CHEAT-SHEET, EXAMPLES) that make it easy to navigate. While comprehensive, it maintains focus with each section serving a clear purpose. Some sections could be slightly more concise, but overall the structure enhances readability and information retrieval.

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's complexity (9 parameters, no annotations, no output schema), the description provides exceptional contextual completeness. It covers purpose, usage guidelines, behavioral patterns, parameter semantics, and practical examples. The description fully compensates for the lack of annotations and output schema by providing comprehensive guidance on how to use this complex reasoning tool effectively.

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 description coverage is 100%, so the baseline is 3. The description adds significant value through the 'PARAMETER CHEAT-SHEET' section that provides practical guidance on parameter usage beyond the schema's basic descriptions. It explains the relationships between parameters (e.g., how is_revision and revises_thought work together, how branching parameters relate) and includes important implementation notes like 'All JSON keys must use lower_snake_case.' The examples further illustrate parameter usage in context.

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 as 'break complex problems into self-auditing, exploratory thought steps that can branch, revise, or back-track until a single, well-supported answer emerges.' This is specific (verb+resource+methodology) and distinguishes it from any potential alternatives. The 'Purpose →' section provides a concise, accurate summary of what the tool does.

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 'WHEN TO CALL' section explicitly lists scenarios for using this tool: 'Multi-step planning, design, debugging, or open-ended analysis' and 'Whenever further private reasoning or hypothesis testing is required before replying to the user.' It provides clear guidance on when this tool should be invoked versus when to respond directly to the user.

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. 1 tool updatev1.0.0
    • First observedcode-reasoning

TDQS

A4.4/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool has a clearly defined purpose for code reasoning and problem-solving, so agents cannot misselect between multiple options.

Naming Consistency5/5

Since there is only one tool named 'code-reasoning', naming consistency is inherently perfect. There are no other tools to compare against, so no inconsistencies can exist in the tool set.

Tool Count2/5

A single tool for a 'Code Reasoning MCP Server' feels too minimal for the apparent scope. While the tool is feature-rich internally, the server's purpose suggests it should offer multiple specialized reasoning tools (e.g., for debugging, design, analysis) rather than one monolithic tool, making the count inappropriate.

Completeness2/5

The server claims to handle 'code reasoning' but provides only one general-purpose tool. This creates significant gaps: there are no specialized tools for different reasoning tasks (e.g., debugging vs. design), no tools for input/output handling, and no way to manage reasoning sessions independently, leading to potential agent failures in complex workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

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/mettamatt/code-reasoning'

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