香农思考
一个演示克劳德·香农系统性问题解决方法的 MCP 服务器。该服务器提供了一个工具,可以帮助将复杂问题分解为结构化思路,遵循香农的问题定义、数学建模和实际实施方法。
概述
克劳德·香农被誉为信息论之父,他通过系统的方法来处理复杂问题:
问题定义:将问题分解成基本要素
约束:识别系统限制和边界
模型:开发数学/理论框架
证明/验证:通过正式证明或实验测试进行验证
实施/实验:设计和测试实用解决方案
该 MCP 服务器演示了这种方法,作为一种工具,可帮助指导通过这些阶段进行系统性问题解决。
Related MCP server: MCP Sequential Thinking Tools
安装
NPX
{
"mcpServers": {
"shannon-thinking": {
"command": "npx",
"args": [
"-y",
"server-shannon-thinking@latest"
]
}
}
}用法
该服务器提供了一个名为shannonthinking的单一工具,该工具根据香农的方法论来构建解决问题的思路。
每个想法必须包括:
实际的思想内容
类型(问题定义/约束/模型/证明/实施)
想法数量和想法总数估计
置信水平(不确定性:0-1)
依赖于先前的想法
明确的假设
是否需要进一步思考
附加功能:
修订:随着理解的深入,思想可以修改先前的步骤
重新检查:用新信息标记需要重新检查的步骤
实验验证:支持实证检验和正式证明
实施说明:实际限制和建议的解决方案
示例用法
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);特征
迭代解决问题:随着理解的深入,支持修订和重新检查
灵活验证:将形式证明与实验验证相结合
依赖关系跟踪:明确跟踪想法如何建立在先前想法之上
假设管理:需要清晰的假设文件
置信水平:量化每一步的不确定性
丰富的反馈:带有颜色编码、符号和验证结果的格式化控制台输出
发展
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Watch mode during development
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;
// 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;
};
}何时使用
这种思维模式对于以下情况尤其有价值:
复杂系统分析
信息处理问题
工程设计挑战
需要理论框架的问题
优化问题
需要实际实施的系统
需要迭代改进的问题
实验验证补充理论的情况