mcpField
S
shannon-thinking

shannon-thinking

Local
github.com/olaservoAI & Agents71Updated 5w ago

About shannon-thinking

shannon-thinking is an MCP server that provides a single tool, shannonthinking, for structuring problem-solving steps according to a methodology attributed to Claude Shannon. It is aimed at users who want complex problems broken into staged thoughts with explicit assumptions and confidence levels.

Key features

  1. 01Thought types for definition, constraints, model, proof and implementation
  2. 02Explicit dependencies between thought steps
  3. 03Uncertainty score recorded for each step
  4. 04Revision of earlier steps and rechecks
  5. 05Combines formal proofs with experimental validation

Use cases

  1. 01Analyzing information processing or optimization problems
  2. 02Structuring reasoning for staged engineering design work
  3. 03Recording iterative refinement of complex problems

MCP support

This project is an MCP server that exposes a single shannonthinking tool to MCP clients for recording structured thought steps.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"shannon-thinking": {
"command": "npx",
"args": [
"-y",
"server-shannon-thinking"
]
}
}
}
Run commandnpx -y server-shannon-thinking

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmserver-shannon-thinking

Tools

1

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
thoughtstringYesYour current thinking step
thoughtTypeenumYesType of thinking stepproblem_definition | constraints | model | proof | implementation
thoughtNumberintegerYesCurrent thought number
totalThoughtsintegerYesEstimated total thoughts needed
uncertaintynumberYesConfidence level (0-1)
dependenciesarrayYesThought numbers this builds upon
assumptionsarrayYesExplicit list of assumptions
nextThoughtNeededbooleanYesWhether another thought step is needed
isRevisionbooleanNoWhether this thought revises an earlier one
revisesThoughtintegerNoThe thought number being revised
recheckStepobjectNoFor marking steps that need re-examination
recheckStep.stepToRecheckenumYesWhich type of step needs re-examinationproblem_definition | constraints | model | proof | implementation
recheckStep.reasonstringYesWhy the step needs to be rechecked
recheckStep.newInformationstringNoNew information prompting the recheck
proofElementsobjectNoElements required for formal proof steps
proofElements.hypothesisstringYesThe hypothesis being tested
proofElements.validationstringYesHow the hypothesis was validated
experimentalElementsobjectNoElements for experimental validation
experimentalElements.testDescriptionstringYesDescription of the experimental test
experimentalElements.resultsstringYesResults of the experiment
experimentalElements.confidencenumberYesConfidence in the experimental results (0-1)
experimentalElements.limitationsarrayYesLimitations of the experimental validation
implementationNotesobjectNoNotes for practical implementation steps
implementationNotes.practicalConstraintsarrayYesList of practical limitations and constraints
implementationNotes.proposedSolutionstringYesDetailed implementation proposal

Details

From the project README

shannon-thinking

An MCP server demonstrating Claude Shannon's systematic problem-solving methodology. This server provides a tool that helps break down complex problems into structured thoughts following Shannon's approach of problem definition, mathematical modeling, and practical implementation.

Shannon Thinking Server MCP server

Overview

Claude Shannon, known as the father of information theory, approached complex problems through a systematic methodology:

  1. Problem Definition: Strip the problem to its fundamental elements
  2. Constraints: Identify system limitations and boundaries
  3. Model: Develop mathematical/theoretical frameworks
  4. Proof/Validation: Validate through formal proofs or experimental testing
  5. Implementation/Experiment: Design and test practical solutions

This MCP server demonstrates this methodology as a tool that helps guide systematic problem-solving through these stages.

Installation

NPX
{
  "mcpServers": {
    "shannon-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "server-shannon-thinking@latest"
      ]
    }
  }
}

Usage

The server provides a single tool named shannonthinking that structures problem-solving thoughts according to Shannon's methodology.

Each thought must include:

  • The actual thought content
  • Type (problem_definition/constraints/model/proof/implementation)
  • Thought number and total thoughts estimate
  • Confidence level (uncertainty: 0-1)
  • Dependencies on previous thoughts
  • Explicit assumptions
  • Whether another thought step is needed

Additional capabilities:

  • Revision: Thoughts can revise earlier steps as understanding evolves
  • Recheck: Mark steps that need re-examination with new information
  • Experimental Validation: Support for empirical testing alongside formal proofs
  • Implementation Notes: Practical constraints and proposed solutions
Example Usage
const thought = {
  thought: "The core problem can be defined as an information flow optimization",
  thoughtType: "problem_definition",
  thoughtNumber: 1,
  totalThoughts: 5,
  uncertainty: 0.2,
  dependencies: [],
  assumptions: ["System has finite capacity", "Information flow is continuous"],
  nextThoughtNeeded: true,
  // Optional: Mark as revision of earlier definition
  isRevision: false,
  // Optional: Indicate step needs recheck
  recheckStep: {
    stepToRecheck: "constraints",
    reason: "New capacity limitations discovered",
    newInformation: "System shows non-linear scaling"
  }
};

// Use with MCP client
const result = await client.callTool("shannonthinking", thought);

Features

  • Iterative Problem-Solving: Supports revisions and rechecks as understanding evolves
  • Flexible Validation: Combines formal proofs with experimental validation
  • Dependency Tracking: Explicitly tracks how thoughts build upon previous ones
  • Assumption Management: Requires clear documentation of assumptions
  • Confidence Levels: Quantifies uncertainty in each step
  • Rich Feedback: Formatted console output with color-coding, symbols, and validation results

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Watch mode during development
npm run watch

Tool Schema

The tool accepts thoughts with the following structure:

interface ShannonThought {
  thought: string;
  thoughtType: "problem_definition" | "constraints" | "model" | "proof" | "implementation";
  thoughtNumber: number;
  totalThoughts: number;
  uncertainty: number; // 0-1
  dependencies: number[];
  assumptions: string[];
  nextThoughtNeeded: boolean;
  
  // Optional revision fields
  isRevision?: boolean;
  revisesThought?: number;
  
  // Optional recheck field
  recheckStep?: {
    stepToRecheck: ThoughtType;
    reason: string;
    newInformation?: string;
  };
  
  // Optional validation fields
  proofElements?: {
    hypothesis: string;
    validation: string;
  };
  experimentalElements?: {
    testDescription: string;
    results: string;
    confidence: number; // 0-1
    limitations: string[];
  };
  
  // Optional implementation fields
  implementationNotes?: {
    practicalConstraints: string[];
    proposedSolution: string;
  };
}

When to Use

This thinking pattern is particularly valuable for:

  • Complex system analysis
  • Information processing problems
  • Engineering design challenges
  • Problems requiring theoretical frameworks
  • Optimization problems
  • Systems requiring practical implementation
  • Problems that need iterative refinement
  • Cases where experimental validation complements theory

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.