Shannon Thinking (Problem Solving) MCP server

Implements Claude Shannon's systematic problem-solving methodology to guide users through structured stages of complex problem breakdown and solution refinement.
Back to servers
Setup instructions
Provider
olaservo
Release date
Jan 16, 2025
Language
TypeScript
Stats
27 stars

This server implements Claude Shannon's systematic problem-solving methodology, providing a structured approach to breaking down complex problems through defined stages: problem definition, constraints identification, modeling, validation, and implementation. The tool guides users through this methodical process to tackle challenging problems effectively.

Installation

Using NPX

You can easily add the Shannon thinking server to your MCP configuration:

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

Usage

The server provides a single tool called shannonthinking that structures your problem-solving process according to Shannon's methodology.

Thought Structure

Each thought you submit to the tool must include:

  • thought: The actual content of your thinking
  • thoughtType: One of "problem_definition", "constraints", "model", "proof", or "implementation"
  • thoughtNumber: The sequence number of this thought
  • totalThoughts: Estimated total thoughts for the problem
  • uncertainty: Confidence level (0-1, where 0 is certain)
  • dependencies: Array of previous thought numbers this thought depends on
  • assumptions: Explicit assumptions being made
  • nextThoughtNeeded: Boolean indicating if more thinking is required

Basic Example

Here's a basic example of using the tool:

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
};

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

Advanced Usage

The tool supports additional optional fields for more complex problem-solving:

Revisions

You can revise earlier thoughts as your understanding evolves:

const revisionThought = {
  thought: "The problem is better defined as a multi-channel capacity optimization",
  thoughtType: "problem_definition",
  thoughtNumber: 4,
  totalThoughts: 6,
  uncertainty: 0.1,
  dependencies: [1, 2, 3],
  assumptions: ["Multiple independent channels exist"],
  nextThoughtNeeded: true,
  isRevision: true,
  revisesThought: 1
};

Rechecking Steps

Mark steps that need re-examination with new information:

const recheckThought = {
  thought: "We need to reconsider our constraints based on new information",
  thoughtType: "constraints",
  thoughtNumber: 5,
  totalThoughts: 7,
  uncertainty: 0.3,
  dependencies: [2, 3, 4],
  assumptions: ["New capacity data is accurate"],
  nextThoughtNeeded: true,
  recheckStep: {
    stepToRecheck: "constraints",
    reason: "New capacity limitations discovered",
    newInformation: "System shows non-linear scaling"
  }
};

Validation

You can include proof elements or experimental validation:

const proofThought = {
  thought: "The model shows optimality under the given constraints",
  thoughtType: "proof",
  thoughtNumber: 6,
  totalThoughts: 8,
  uncertainty: 0.15,
  dependencies: [3, 4, 5],
  assumptions: ["Convexity of the solution space"],
  nextThoughtNeeded: true,
  proofElements: {
    hypothesis: "The algorithm converges in O(log n) time",
    validation: "By induction on the number of iterations..."
  },
  experimentalElements: {
    testDescription: "Ran simulations with varying input sizes",
    results: "Confirmed logarithmic scaling up to n=10^6",
    confidence: 0.9,
    limitations: ["Not tested with adversarial inputs"]
  }
};

Implementation Notes

Add practical constraints and solutions for implementation:

const implementationThought = {
  thought: "The solution can be implemented using a distributed approach",
  thoughtType: "implementation",
  thoughtNumber: 7,
  totalThoughts: 8,
  uncertainty: 0.2,
  dependencies: [4, 5, 6],
  assumptions: ["Network latency is bounded"],
  nextThoughtNeeded: false,
  implementationNotes: {
    practicalConstraints: ["Limited memory on edge devices", "Unreliable connections"],
    proposedSolution: "Use a hierarchical processing model with local caching"
  }
};

Ideal Use Cases

This Shannon thinking tool 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

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "shannon-thinking" '{"command":"npx","args":["-y","server-shannon-thinking@latest"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

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

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

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

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later