返回市场
香农思考

香农思考

作者:olaservo49 星标更新:2025-11-14

项目介绍

shannon-thinking

一个展示克劳德·香农系统化问题解决方法的MCP服务器。该服务器提供了一个工具,帮助按照香农的问题定义、数学建模和实际实现的方法来分解复杂问题。

<a href="https://glama.ai/mcp/servers/iffffhwqqw"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=2169982485,3476475857&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Shannon Thinking Server MCP服务器" /> </a>

概述

克劳德·香农,信息理论之父,通过一种系统化的思维方式来处理复杂问题:

  1. 问题定义:将问题简化到其基本元素
  2. 约束条件:识别系统限制和边界
  3. 模型:发展数学或理论框架
  4. 证明/验证:通过形式证明或实验测试进行验证
  5. 实现/实验:设计并测试实用解决方案

这个MCP服务器展示了这种方法作为工具,帮助指导通过这些阶段的系统化问题解决过程。

安装

NPX

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

使用

该服务器提供了一个名为shannonthinking的工具,根据香农的方法结构化问题解决思路。

每个想法必须包括:

  • 实际的想法内容
  • 类型(问题定义/约束条件/模型/证明/实现)
  • 思想编号和总思想估计数
  • 置信度(不确定性:0-1)
  • 对先前想法的依赖
  • 明确的假设
  • 是否需要另一个思考步骤

附加功能:

  • 修订:随着理解的发展,想法可以修订早期步骤
  • 重新检查:标记需要在新信息下重新审查的步骤
  • 实验验证:支持与形式证明相结合的经验测试
  • 实现说明:实际约束和提出的解决方案

示例使用

const thought = {
  thought: "核心问题可以定义为信息流优化",
  thoughtType: "problem_definition",
  thoughtNumber: 1,
  totalThoughts: 5,
  uncertainty: 0.2,
  dependencies: [],
  assumptions: ["系统具有有限容量", "信息流是连续的"],
  nextThoughtNeeded: true,
  // 可选:标记为早期定义的修订
  isRevision: false,
  // 可选:指示步骤需要重新检查
  recheckStep: {
    stepToRecheck: "constraints",
    reason: "发现新的容量限制",
    newInformation: "系统显示非线性扩展"
  }
};

// 使用MCP客户端
const result = await client.callTool("shannonthinking", thought);

特点

  • 迭代问题解决:支持随着理解的发展而进行的修订和重新检查
  • 灵活验证:结合形式证明和实验验证
  • 依赖跟踪:明确跟踪想法如何建立在之前的思考之上
  • 假设管理:要求清晰记录假设
  • 置信水平:量化每一步的不确定性
  • 丰富反馈:带有颜色编码、符号和验证结果的格式化控制台输出

开发

# 安装依赖
npm install

# 构建
npm run build

# 运行测试
npm test

# 开发期间的监视模式
npm run watch

工具模式

该工具接受以下结构的思想:

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;
  
  // 可选修订字段
  isRevision?: boolean;
  revisesThought?: number;
  
  // 可选重新检查字段
  recheckStep?: {
    stepToRecheck: ThoughtType;
    reason: string;
    newInformation?: string;
  };
  
  // 可选验证字段
  proofElements?: {
    hypothesis: string;
    validation: string;
  };
  experimentalElements?: {
    testDescription: string;
    results: string;
    confidence: number; // 0-1
    limitations: string[];
  };
  
  // 可选实现字段
  implementationNotes?: {
    practicalConstraints: string[];
    proposedSolution: string;
  };
}

何时使用

这种思考模式特别适用于:

  • 复杂系统分析
  • 信息处理问题
  • 工程设计挑战
  • 需要理论框架的问题
  • 优化问题
  • 需要实际实现的系统
  • 需要迭代细化的问题
  • 实验验证补充理论的情况