使用说明
项目简介
Think MCP Server 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专注于为agentic LLM提供结构化思考能力。它核心提供了一个 "think" 工具,允许LLM在复杂推理或多步骤工具调用过程中暂停并记录显式思考过程,从而提升LLM的推理和决策质量。此外,该服务器还支持通过插件扩展更多工具,例如 'criticize'(批评)、'plan'(计划)和 'search'(搜索)工具,以满足更高级Agent应用的需求。
主要功能点
- Think 工具: 实现 Anthropic 提出的 "think" 工具,帮助 LLM 进行结构化思考和问题分解。
- 标准 MCP 服务器: 基于 'mcp[cli]' 构建,遵循 MCP 协议标准,易于集成到各种 MCP 客户端。
- 可扩展工具集: 除了 "think" 工具,还可选支持 "criticize"、"plan" 和 "search" 等工具,增强 LLM 的能力。
- 灵活配置: 支持通过命令行参数启用高级模式和配置 API 密钥。
安装步骤
- 环境准备: 确保已安装 Python 3.7 或更高版本。
- 安装依赖: 使用 pip 安装必要的 Python 包:
pip install mcp[cli] python-dotenv tavily-python
服务器配置
要将 Think MCP Server 集成到 MCP 客户端,您需要配置 MCP 服务器信息。以下是配置示例,请添加到您的 MCP 客户端的服务器配置中:
基本 Think 工具配置 (默认):
{ "think-mcp": { "command": "uvx", "args": ["think-mcp"], "enabled": true } }
- 'server name': 'think-mcp' - 服务器的名称,用于在客户端中标识和引用。
- 'command': 'uvx' - 启动服务器的命令。这里 'uvx' 是 'mcp[cli]' 提供的用于运行 MCP 服务器的命令。
- 'args': '["think-mcp"]' - 传递给 'uvx' 命令的参数。'think-mcp' 将运行 'think_mcp/main.py' 中的服务器。
- 'enabled': 'true' - 指示该服务器已启用并可供客户端使用。
高级工具配置 (包含 criticize, plan, search):
{ "think-mcp": { "command": "uvx", "args": ["think-mcp", "--advanced"], "enabled": true, "env": { "TAVILY_API_KEY": "YOUR_TAVILY_API_KEY" } } }
- 'server name', 'command', 'enabled': 同上。
- 'args': '["think-mcp", "--advanced"]' - 添加 '--advanced' 参数以启用高级工具模式。
- 'env': 环境变量配置。
- 'TAVILY_API_KEY': 必填。如果您启用高级模式(包含 'search' 工具),则需要提供 Tavily API 密钥。请替换 '"YOUR_TAVILY_API_KEY"' 为您实际的 Tavily API 密钥。您需要在 Tavily 官网 获取 API 密钥。
基本使用方法
- 启动服务器: 无需手动启动,MCP 客户端会根据配置自动启动 Think MCP Server。
- 在 Prompt 中使用工具: 在您的 LLM Prompt 中,您可以像调用其他工具一样调用 "think" (或 "criticize", "plan", "search" 如果启用了高级模式) 工具。
Think 工具调用示例:
{ "tool_calls": [ { "id": "think-tool-1", "type": "function", "function": { "name": "think", "arguments": "{\"thought\": \"用户想要预订机票,我需要先检查用户会员等级以确定行李额度,并确认用户偏好的支付方式。\"}" } } ] }
LLM 在需要进行结构化思考时,可以生成包含 'think' 工具调用的 JSON 请求发送给 MCP 客户端。Think MCP Server 会接收并记录思考内容,并将结果返回给 LLM。
高级工具使用方法: 类似 "think" 工具,您可以在 Prompt 中调用 "criticize"、"plan" 或 "search" 工具,并根据工具的描述提供相应的参数。例如,调用 "search" 工具进行网页搜索,可以提供 'query' 参数。
{ "tool_calls": [ { "id": "search-tool-1", "type": "function", "function": { "name": "search", "arguments": "{\"query\": \"北京最近的天气\"}" } } ] }
信息
分类
AI与计算