MCP思维🤖
一个强大的模型上下文协议(MCP)服务器,通过高级顺序思维能力增强大型语言模型(LLM)。建立在 模型上下文协议 该服务器使AI代理能够执行结构化推理,并高精度地执行复杂的认知任务。
📑 目录
- 线性思维 - 树思维 - 辩证思维 - 系统思维 - 创造性思维 - 分析性思维 - 元认知思维 - 批判性思维 - 系统思维 - 横向思维 - 战略思维 - 移情思维 - 抽象思维 - 实用思维 - 整体性思维 - 进化思想 - 思维 - 发散思维 - 反思性思维
- 会话生命周期 - 会话操作 - 会话分析 - 会话导出格式 - 错误处理 - 最佳实践
- 复杂问题解决 - 研究与分析 - 决策 - 创造性问题解决 - 多Agent协作 - 学习与适应
概述
MCP Thinking Server是一个基于 模型上下文协议(MCP) 标准。该服务器通过标准化的接口实现了高级思维能力,使AI代理能够参与复杂的认知过程。
有关MCP标准的详细信息,请参阅 MCP官方规范.
✨ 主要特点
- 🤖 高级思维
- 19种不同的思维方式 - 树形思维 - 元认知分析 - 逻辑一致性检查
- 🔄 会话管理
- 基于UUID的标识 - 强大的上下文处理 - 综合出口工具 - 多会话支持
- 🔍 质量与分析
- 置信度评估 - 认知偏差检测 - 适应性规划 - 多语言支持
- ⚡ 演出
- 异步优先架构 - 高效的资源管理 - 水平缩放支持 - 优化会话处理
🏗️ 建筑
系统概述
graph TB
Client[Client Application] -->|SSE Connection| Server[MCP Server]
Server -->|Process| Thinking[Thinking Engine]
Thinking -->|Manage| Sessions[Session Manager]
Thinking -->|Execute| Tools[Tool Executor]
Thinking -->|Analyze| Metacognition[Metacognitive Analyzer]
subgraph "MCP Server Components"
Sessions
Tools
Metacognition
end
subgraph "Thinking Modes"
Linear[Linear Thinking]
Tree[Tree Thinking]
Dialectical[Dialectical Thinking]
Creative[Creative Thinking]
end
Thinking --> Linear
Thinking --> Tree
Thinking --> Dialectical
Thinking --> Creative会话流程
sequenceDiagram
participant Client
participant Server
participant Session
participant Engine
Client->>Server: Connect (SSE)
Server->>Session: Create Session
Session-->>Client: Session ID
loop Thinking Process
Client->>Server: Send Thought
Server->>Engine: Process Thought
Engine->>Session: Update Context
Session-->>Client: Analysis Result
end
Client->>Server: Export Session
Server->>Session: Gather Data
Session-->>Client: Export Result思维方式互动
graph LR
Input[Input Thought] --> Mode[Thinking Mode]
Mode --> Analysis[Analysis]
Mode --> Synthesis[Synthesis]
Mode --> Evaluation[Evaluation]
Analysis --> Output[Output Thought]
Synthesis --> Output
Evaluation --> Output
subgraph "Thinking Process"
Mode
Analysis
Synthesis
Evaluation
end🚀 快速开始
先决条件
- Python 3.13+
- Git
- pip(Python包管理器)
安装
# 克隆存储库
克隆https://github.com/VitalyMalakanov/mcp-thinking.git
cd-mcp思维
# 创建并激活虚拟环境(推荐)
python -m venv venv
源venv/bin/activate#Linux/macOS
.\\venv\\Scripts\\activate#Windows
# 安装依赖项
pip install -r requirements.txt
# 启动服务器
python增强序列思维服务器.py
The server will be available at http://localhost:8000/sse
Docker Support
# Using Docker
docker-compose up
# Custom port
MCP_SERVER_PORT=8080 docker-compose up🧠 思维方式
增强顺序思维服务器支持19种不同的思维模式,每种模式都是为特定类型的认知任务设计的:
线性思维
- 目的: 循序渐进的推理
- 最适合:
- 将复杂问题分解为可管理的步骤 - 遵循逻辑顺序 - 构建结构化论证
- 特点:
- 明确的因果关系 - 可预测的进展 - 系统化方法
- 示例使用:
EnhancedThinkingInput(
thought="Implementing a new feature requires: 1) Requirements analysis, 2) Design, 3) Development, 4) Testing",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.LINEAR,
tags=["process", "implementation"]
)树思维
- 目的: 探索多个思维分支
- 最适合:
- 探索替代方案 - 决策树分析 - 复杂问题分解
- 特点:
- 分支探索 - 多路径 - 层次结构
- 示例使用:
EnhancedThinkingInput(
thought="Exploring different approaches to market entry: direct sales, partnerships, acquisitions",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.TREE,
tags=["strategy", "exploration"]
)辩证思维
- 目的: 综合化解矛盾
- 最适合:
- 解决冲突 - 寻找共同点 - 制定全面的解决方案
- 特点:
- 正反合 - 冲突解决 - 对立统一
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing opposing views on remote work: productivity vs. collaboration, finding optimal balance",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.DIALECTICAL,
tags=["conflict", "resolution"]
)系统思维
- 目的: 基于组件的方法分析
- 最适合:
- 复杂系统分析 - 流程优化 - 质量改进
- 特点:
- 基于组件的分析 - 方法论 - 系统化评估
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing software architecture components: frontend, backend, database, and their interactions",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.SYSTEMATIC,
tags=["architecture", "analysis"]
)创造性思维
- 目的: 产生新颖的想法和解决方案
- 最适合:
- 头脑风暴会议 - 创新挑战 - 用多种解决方案解决问题
- 特点:
- 产生分歧的想法 - 模式断裂 - 新型连接
- 示例使用:
EnhancedThinkingInput(
thought="Exploring unconventional approaches to renewable energy storage using biomimicry principles",
thought_type=ThoughtType.HYPOTHESIS,
strategy=ThinkingStrategy.CREATIVE,
tags=["innovation", "biomimicry"]
)分析性思维
- 目的: 严格的逻辑分析和推理
- 最适合:
- 数据分析 - 科学研究 - 技术问题解决
- 特点:
- 演绎推理 - 归纳推理 - 基于证据的结论
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing market data trends: correlation analysis, statistical significance, predictive modeling",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.ANALYTICAL,
tags=["data", "analysis"]
)元认知思维
- 目的: 思维过程的自我分析
- 最适合:
- 流程改进 - 学习优化 - 战略细化
- 特点:
- 自我反思 - 过程意识 - 战略评价
- 示例使用:
EnhancedThinkingInput(
thought="Reflecting on problem-solving approach: effectiveness, biases, and potential improvements",
thought_type=ThoughtType.METACOGNITION,
strategy=ThinkingStrategy.METACOGNITIVE,
tags=["reflection", "improvement"]
)批判性思维
- 目的: 分析性评价和评估
- 最适合:
- 评估论点和证据 - 识别逻辑谬误 - 做出明智的决定
- 特点:
- 基于证据的推理 - 系统化评估 - 偏见意识
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing the validity of market research data: sample size, methodology, potential biases",
thought_type=ThoughtType.EVALUATION,
strategy=ThinkingStrategy.CRITICAL,
tags=["analysis", "validation"]
)系统思维
- 目的: 理解复杂系统及其相互作用
- 最适合:
- 系统分析 - 了解相互依存关系 - 整体解决问题
- 特点:
- 系统视角 - 互联意识 - 紧急行为分析
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing the impact of climate change on global supply chains: direct effects, feedback loops, and systemic risks",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.SYSTEMIC,
tags=["systems", "climate"]
)横向思维
- 目的: 寻找非传统解决方案
- 最适合:
- 创造性解决问题 - 打破心理障碍 - 寻找创新的解决方案
- 特点:
- 非线性方法 - 模式断裂 - 非传统连接
- 示例使用:
EnhancedThinkingInput(
thought="Exploring unexpected applications of blockchain technology in healthcare data management",
thought_type=ThoughtType.HYPOTHESIS,
strategy=ThinkingStrategy.LATERAL,
tags=["innovation", "blockchain"]
)战略思维
- 目的: 长期规划和目标导向推理
- 最适合:
- 战略规划 - 资源分配 - 风险评估
- 特点:
- 目标导向分析 - 资源优化 - 着眼未来的规划
- 示例使用:
EnhancedThinkingInput(
thought="Developing a 5-year technology roadmap considering market trends, resource constraints, and competitive landscape",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.STRATEGIC,
tags=["planning", "roadmap"]
)移情思维
- 目的: 理解他人的观点
- 最适合:
- 用户体验设计 - 冲突解决 - 团队协作
- 特点:
- 观点采择 - 情感意识 - 以用户为中心
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing user feedback to understand pain points in the current interface design",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.EMPATHETIC,
tags=["ux", "feedback"]
)抽象思维
- 目的: 使用模型和概括
- 最适合:
- 理论分析 - 模型开发 - 模式识别
- 特点:
- 概念建模 - 模式抽象 - 理论框架发展
- 示例使用:
EnhancedThinkingInput(
thought="Developing a theoretical framework for understanding complex adaptive systems in organizations",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.ABSTRACT,
tags=["theory", "modeling"]
)实用思维
- 目的: 注重执行和成果
- 最适合:
- 项目执行 - 资源管理 - 解决方案实施
- 特点:
- 行动导向的 - 资源意识 - 注重成果
- 示例使用:
EnhancedThinkingInput(
thought="Planning the implementation of a new feature: resource allocation, timeline, and deliverables",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.PRACTICAL,
tags=["implementation", "planning"]
)整体性思维
- 目的: 综合不同观点
- 最适合:
- 复杂的问题解决 - 多方利益相关者分析 - 整体决策
- 特点:
- 观点综合 - 整体整合 - 多视角分析
- 示例使用:
EnhancedThinkingInput(
thought="Integrating technical, business, and user perspectives in product development strategy",
thought_type=ThoughtType.SYNTHESIS,
strategy=ThinkingStrategy.INTEGRATIVE,
tags=["integration", "strategy"]
)进化思想
- 目的: 迭代开发和适应
- 最适合:
- 产品演进 - 流程改进 - 持续学习
- 特点:
- 迭代方法 - 适应重点 - 持续改进
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing product evolution through user feedback cycles and market adaptation",
thought_type=ThoughtType.ANALYSIS,
strategy=ThinkingStrategy.EVOLUTIONARY,
tags=["evolution", "adaptation"]
)思维
- 目的: 寻找最佳解决方案
- 最适合:
- 决策 - 解决方案优化 - 问题解决
- 特点:
- 焦点解决 - 选项缩小 - 优化导向
- 示例使用:
EnhancedThinkingInput(
thought="Evaluating and selecting the optimal cloud infrastructure solution based on requirements",
thought_type=ThoughtType.EVALUATION,
strategy=ThinkingStrategy.CONVERGENT,
tags=["decision", "optimization"]
)发散思维
- 目的: 探索多种视角和可能性
- 最适合:
- 生成备选方案 - 探索不同的观点 - 具有挑战性的假设
- 特点:
- 多种解决方案生成 - 视角转换 - 假设质疑
- 示例使用:
EnhancedThinkingInput(
thought="Exploring various approaches to urban transportation: autonomous vehicles, public transit, micro-mobility, and their combinations",
thought_type=ThoughtType.QUESTION,
strategy=ThinkingStrategy.DIVERGENT,
tags=["transportation", "urban_planning"]
)反思性思维
- 目的: 自我分析和学习
- 最适合:
- 流程改进 - 从经验中学习 - 个人发展
- 特点:
- 自我反思 - 经验分析 - 学习提取
- 示例使用:
EnhancedThinkingInput(
thought="Analyzing project outcomes and extracting key lessons for future improvements",
thought_type=ThoughtType.METACOGNITION,
strategy=ThinkingStrategy.REFLECTIVE,
tags=["reflection", "learning"]
)每种思维方式都可以与不同的思维类型(分析、假设、评估、观察、问题等)相结合,形成强大的推理链。服务器的元认知分析帮助代理了解哪种思维模式对特定任务最有效,并相应地调整他们的方法。
🔄 会话管理
增强型顺序思维服务器提供强大的会话管理功能,用于处理多个并发思维过程:
会话生命周期
- 创造: 当客户端连接到SSE端点时,会自动创建会话
- 识别: 每个会话接收唯一的UUID(例如。,
e1e8e0732ac84c908deabf136c6a1a69) - 持续时间: 会话将一直持续到明确关闭或超时
- 并发: 多个会话可以同时运行
会话操作
# Example: Working with sessions
async with sse_client(url="http://localhost:8000/sse") as (read_stream, write_stream):
session = ClientSession(read_stream, write_stream)
await session.initialize()
# Send thoughts within the session
result = await session.call_tool("enhanced_thinking", {
"thought": "Analyzing market trends",
"thought_type": "ANALYSIS",
"strategy": "SYSTEMIC"
})
# Export session data
export_result = await session.call_tool("export_thinking_session", {
"format_type": "markdown" # or "json", "summary"
})会话分析
服务器提供用于分析思维会话的工具:
# Get session analysis
analysis = await session.call_tool("analyze_thinking_session")
# Get thinking path for a specific thought
path = await session.call_tool("get_thinking_path", {
"thought_id": "thought_123"
})
# Perform metacognitive reflection
reflection = await session.call_tool("metacognitive_reflection", {
"focus_area": "Reasoning quality",
"analysis_depth": 3
})会话导出格式
服务器支持会话数据的多种导出格式:
- Markdown导出
- 人类可读格式 - 包括思维链和分析 - 适用于文档
- JSON导出
- 完整的会话数据 - 包括元数据和关系 - 适用于程序化分析
- 导出摘要
- 简明概述 - 关键见解和模式 - 适合快速审查
错误处理
服务器为会话实现了强大的错误处理:
- 无效的会话ID返回400个错误请求
- 连接超时得到妥善处理
- 在重新连接期间保留会话状态
- 自动清理过期会话
最佳实践
- 会话管理
- 正确初始化会话 - 处理重新连接情况 - 完成后清理资源
- 错误处理
- 实施适当的错误处理 - 使用适当的超时 - 处理连接重置
- 演出
- 尽可能重复使用会话 - 监控会话状态 - 定期导出数据
📊 监控与日志记录
服务器提供全面的日志记录和监控功能:
日志级别
- 信息: 正常运行事件
- 警告: 潜在问题(例如,会话ID无效)
- 错误: 严重错误(例如,连接重置)
日志类别
- 服务器初始化和启动
- 会话管理
- 请求处理
- 错误处理
- 性能指标
日志输出示例
2025-05-25 19:33:47,417 - __main__ - INFO - Server initialization completed
2025-05-25 19:59:19,367 - mcp.server.sse - WARNING - Received invalid session ID
2025-05-25 20:00:22,769 - asyncio - ERROR - Connection reset by peer监控端点
- 健康检查端点
- 会话统计信息
- 性能指标
- 错误率
🔒 安全考虑
服务器实施了多种安全措施:
会话安全
- 基于UUID的会话标识
- 会话超时机制
- 每个会话的速率限制
- 输入验证
数据保护
- 输入净化
- 输出编码
- 安全会话处理
- 资源限制
最佳实践
- 配置
- 使用安全会话超时 - 实施速率限制 - 配置适当的资源限制
- 部署
- 在生产环境中使用HTTPS - 实施适当的访问控制 - 监控可疑活动
- 维护
- 定期安全更新 - 会话清理 - 日志监控
📈 性能优化
该服务器旨在在各种场景中实现最佳性能:
资源管理
- 内存使用情况: 为长时间运行的会话提供高效的内存管理
- CPU利用率: 思维链的优化处理
- 连接池: 智能处理并发连接
- 缓存管理: 智能缓存常用数据
缩放注意事项
- 水平缩放: 支持多个服务器实例
- 负载平衡: 与标准负载平衡器兼容
- 会话分布: 跨实例的高效会话处理
- 资源分配: 基于负载的动态资源调整
性能指标
- 响应时间: 标准操作的平均值\|Systemic Thinking| B[Trend Identification]
B -->|Critical Thinking| C[Risk Assessment] C -->|Creative Thinking| D[Strategy Development] D -->|Strategic Thinking| E[Implementation Plan]
style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbf,stroke:#333 style E fill:#fbb,stroke:#333
AI代理交互流程:
1. 代理使用SSE端点连接到MCP服务器
1. 使用唯一的UUID建立会话
1. 通过MCP协议发送顺序思维
1. 实时接收分析和见解
1. 基于元认知反馈的适应策略
### 2.研究与分析
#### 文献综述过程
graph TD A[Research Question] -->|Linear Thinking| B[Literature Search] B -->|Analytical Thinking| C[Data Extraction] C -->|Systemic Thinking| D[Pattern Analysis] D -->|Critical Thinking| E[Synthesis] E -->|Creative Thinking| F[New Insights]
style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbf,stroke:#333 style E fill:#fbb,stroke:#333 style F fill:#bff,stroke:#333
MCP协议流程:
1. 代理人发起研究会议
1. 使用MCP工具进行结构化分析
1. 通过会话管理维护上下文
1. 接收实时分析结果
1. 以多种格式导出结果
### 3.决策
#### 决策流程
graph TD A[Problem Definition] -->|Observation| B[Data Collection] B -->|Analysis| C[Option Generation] C -->|Evaluation| D[Option Assessment] D -->|Strategy| E[Decision] E -->|Reflection| F[Implementation]
style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbf,stroke:#333 style E fill:#fbb,stroke:#333 style F fill:#bff,stroke:#333
MCP集成点:
1. Agent建立决策会话
1. 使用MCP思维模式进行分析
1. 接收结构化反馈
1. 根据MCP见解调整策略
1. 维护决策上下文
### 4.创造性解决问题
#### 创新过程
graph TD A[Problem Space] -->|Divergent Thinking| B[Idea Generation] B -->|Convergent Thinking| C[Solution Filtering] C -->|Creative Thinking| D[Prototype Design] D -->|Critical Thinking| E[Feasibility Check] E -->|Strategic Thinking| F[Implementation]
style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbf,stroke:#333 style E fill:#fbb,stroke:#333 style F fill:#bff,stroke:#333
MCP代理工作流程:
1. 代理商连接到创新会议
1. 运用多种思维方式
1. 接收实时创意反馈
1. 保持创新环境
1. 输出创意过程结果
### 5.多代理协作
#### 协作式问题解决
graph TD A[Problem Space] -->|Agent 1| B[Analysis] B -->|Agent 2| C[Synthesis] C -->|Agent 3| D[Evaluation] D -->|Agent 4| E[Implementation]
style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbf,stroke:#333 style E fill:#fbb,stroke:#333
MCP多代理功能:
1. 共享会话上下文
1. 实时代理协调
1. 结构化沟通
1. 基于角色的思维方式
1. 协作元认知
### 6.学习和适应
#### 适应性学习过程
graph TD A[Learning Goal] -->|Observation| B[Experience] B -->|Analysis| C[Pattern Recognition] C -->|Synthesis| D[Knowledge Integration] D -->|Evaluation| E[Strategy Adaptation]
style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbf,stroke:#333 style E fill:#fbb,stroke:#333
MCP学习支持:
1. 结构化学习课程
1. 元认知分析
1. 适应性策略选择
1. 进度跟踪
1. 知识整合
每个用例都演示了AI代理如何利用MCP协议来:
- 建立结构化思维会议
- 利用多种思维方式
- 保持连贯的上下文
- 接收实时分析
- 根据反馈调整策略
- 以各种格式导出结果
MCP标准确保了AI代理和思维服务器之间一致、可靠和高效的交互,使复杂的认知任务具有高精度和适应性。
## 🌟 社区与支持
### 获取帮助
- **GitHub问题:** 报告错误并请求功能 [mcp思维问题](https://github.com/VitalyMalakanov/mcp-thinking/issues)
- **讨论:** 加入社区讨论 [mcp思维讨论](https://github.com/VitalyMalakanov/mcp-thinking/discussions)
### 贡献
我们欢迎捐款!以下是您可以提供帮助的方式:
1. **代码贡献**
- 分叉存储库
- 创建要素分支
- 提交拉取请求
1. **文档**
- 改进现有文档
- 添加示例
- 修正拼写错误
1. **测试**
- 编写单元测试
- 报告错误
- 提出改进建议
### 社区指南
- 尊重他人,包容他人
- 遵守行为准则
- 帮助他人学习
- 分享你的经历
## 📊 项目统计
](https://github.com/VitalyMalakanov/mcp-thinking/stargazers)
](https://github.com/VitalyMalakanov/mcp-thinking/network/members)
](https://github.com/VitalyMalakanov/mcp-thinking/issues)
](https://github.com/VitalyMalakanov/mcp-thinking/pulls)
[](https://github.com/VitalyMalakanov/mcp-thinking/blob/master/LICENSE)
## 🔍 关键词
#AI#机器学习#LLM#推理#认知计算#Python#异步IO#FastAPI#MCP#思维引擎#顺序思维#元认知#认知架构#空气调节#思维链#决策#问题解决#认知科学#人工智能#机器推理
## 📝 更新日志
### \[1.0.0\] - 2024-05-25
- 初始版本
- 核心思维服务器功能
- 会话管理
- 多种思维方式
- 元认知分析
- 导出功能
### \[0.9.0\] - 2024-05-20
- 测试版
- 基础思维服务器
- 初始会话支持
- 核心思维模式
## 🔮 路线图
*项目路线图即将发布。*
## 📄 许可证
该项目根据MIT许可证获得许可。请参阅 [许可证](LICENSE) 文件以获取详细信息。
## 🙏 致谢
- 优秀web框架的FastAPI
- Pydantic用于数据验证
- Uvicorn用于ASGI服务器
- 开源社区提供灵感和支持
## 本地安装
1. 克隆存储库:
克隆https://github.com/VitalyMalakanov/mcp-thinking.git
cd-mcp思维
\`\`\`
2. 创建并激活虚拟环境:
python-m venv-venv
源venv/bin/activate#在Windows上:venv\\Scripts\\activate
\`\`\`
3. 安装依赖项:
pip install -r requirements.txt
主要依赖关系包括:
- `mcp[cli,http]` -核心MCP协议实现
- `fastapi` 和 `uvicorn` -Web服务器框架
- `pydantic` -数据验证
- `numpy` 和 `scikit-learn` -数据处理和分析
- `textstat` -文本分析
- `pytest` 和 `pytest-asyncio` -测试框架
- 增强思维能力的额外依赖
## 客户端交互示例
下面是一个关于如何与服务器交互的更详细的示例:
import asyncio import json from mcp.client.session import ClientSession from mcp.client.sse import sse_client from enhanced_sequential_thinking_server import EnhancedThinkingInput, ThoughtType, ThinkingStrategy
async def main(): async with sse_client(url="http://localhost:8000/sse", timeout=20) as (read_stream, write_stream): session = ClientSession(read_stream, write_stream) await session.initialize()
input_data = EnhancedThinkingInput( thought="AI can significantly improve decision-making processes.", thought_type=ThoughtType.ANALYSIS, strategy=ThinkingStrategy.CRITICAL, tags=["AI", "decision-making"] )
# Using model_dump() for Pydantic v2+ result_list = await session.call_tool("enhanced_thinking", input_data.model_dump())
print("\nTool 'enhanced_thinking' result:") if result_list and isinstance(result_list, list) and len(result_list) > 0: # MCP tools typically return a single TextContent in the list for non-streaming responses content_item = result_list[0] if content_item.type == "text": try: # Attempt to parse JSON if expected data = json.loads(content_item.text) print(json.dumps(data, indent=2, ensure_ascii=False)) except json.JSONDecodeError: # If not JSON, print the text directly print(content_item.text) else: print(content_item) # For other content types else: print("No result or empty result list.")
await session.close()
if __name__ == "__main__": asyncio.run(main())
## Docker测试
在Docker环境中运行测试:
1. 确保您的 `docker-compose.yml` 包括用于运行测试的服务:
services: mcp-server: build: . volumes: - .:/app environment: - LANG=en_US.UTF-8
mcp-tests: build: . volumes: - .:/app command: pytest tests/ depends_on: - mcp-server
2. 运行测试:
docker-compose run --rm mcp-tests
## 本地化
服务器通过环境变量支持多种语言:
1. 使用环境变量(建议用于生产):
export LANG=ru_RU.UTF-8 # For Russian python enhanced_sequential_thinking_server.py
2. 在方案方面(促进发展):
from enhanced_sequential_thinking_server import EnhancedThinkingServer
server = EnhancedThinkingServer(language="ru") # For Russian
## 作者
维塔利·马拉卡诺夫
## 许可证
该项目根据MIT许可证获得许可。请参阅 [许可证](LICENSE) 文件以获取详细信息。
## 致谢
- 优秀web框架的FastAPI
- Pydantic用于数据验证
- Uvicorn用于ASGI服务器
- 开源社区提供灵感和支持