Back to MCP directory
publicPublicdnsLocal runtime

shannon-thinking

一种实现了克劳德·香农问题解决方法论的工具,可以帮助将复杂问题分解为结构化的步骤,包括问题定义、约束条件、建模、验证和实施。

article

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
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client