think-mcp-server
servidor think-mcp
Un servidor MCP minimalista basado en la investigación de la herramienta "think" de Anthropic
Descripción general
Este proyecto implementa un servidor de Protocolo de Control de Mensajes (MCP) mínimo que proporciona a los modelos de IA de Claude la capacidad de usar herramientas de pensamiento. Basado en la investigación de Anthropic publicada el 20 de marzo de 2025, esta implementación permite a Claude un mejor rendimiento en tareas de razonamiento complejas que implican el uso de herramientas de varios pasos.
Related MCP server: MCP Think Tool
¿Qué es la herramienta “pensar”?
La herramienta "pensar" le permite a Claude incluir un paso de reflexión adicional, con su propio espacio asignado, para llegar a una respuesta final. A diferencia del pensamiento extendido (que ocurre antes de generar la respuesta), la herramienta "pensar" le permite a Claude hacer una pausa durante la generación de la respuesta para considerar si cuenta con toda la información necesaria para continuar.
Beneficios clave:
Mejora el rendimiento en la resolución de problemas complejos
Mejora la adherencia a las políticas en el uso de herramientas
Aumenta la consistencia en la toma de decisiones
Ayuda con problemas de varios pasos que requieren un razonamiento cuidadoso.
Implementación
Este servidor implementa la herramienta "think" con la siguiente especificación:
{
"name": "think",
"description": "Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it when complex reasoning or some cache memory is needed.",
"input_schema": {
"type": "object",
"properties": {
"thought": {
"type": "string",
"description": "A thought to think about."
}
},
"required": ["thought"]
}
}Cuándo utilizar la herramienta "pensar"
Según la investigación de Anthropic, esta herramienta es más beneficiosa para:
Análisis de salida de herramientas : cuando Claude necesita procesar salidas de llamadas de herramientas anteriores antes de actuar
Entornos con políticas pesadas : cuando Claude debe seguir pautas detalladas
Toma de decisiones secuencial : cuando cada acción se basa en las anteriores y los errores son costosos
Mejores prácticas de implementación
Impulso estratégico
Para obtener mejores resultados, incluya instrucciones claras en sus indicaciones sobre cuándo y cómo usar la herramienta "pensar". Considere proporcionar ejemplos específicos del dominio que muestren:
Nivel de detalle esperado en el razonamiento
Cómo dividir instrucciones complejas en pasos
Árboles de decisión para escenarios comunes
Procesos de verificación de información
Integración de indicaciones del sistema
Las instrucciones complejas funcionan mejor cuando se colocan en el mensaje del sistema en lugar de en la descripción de la herramienta en sí.
Cómo funciona
El servidor opera mediante el Protocolo de Contexto de Modelo (MCP) para comunicarse con Claude y asistentes de IA similares.
Se ejecuta como un proceso independiente utilizando stdio para la comunicación.
Registra la herramienta "pensar" para que Claude la use durante el razonamiento.
Devuelve respuestas estructuradas que pueden ser procesadas por asistentes de IA.
Registra los pasos del pensamiento sin afectar el entorno externo.
Características
Herramientas
pensar - Permite a Claude pensar en un problema o analizar información
Requerido: pensamiento (cadena que contiene el proceso de pensamiento de Claude)
Desarrollo
Instalar dependencias:
npm installConstruir el servidor:
npm run buildPara desarrollo con reconstrucción automática:
npm run watchDepuración
Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP:
npm run inspectorEl Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.
Instalación
Instalación mediante npm
npm install -g think-mcp-serverEscritorio de Claude
Agregue la configuración del servidor en:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonVentanas:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"think": {
"command": "npx",
"args": ["-y", "think-mcp-server"]
}
}
}Cline
Abra la configuración de la extensión Cline
Abra la pestaña "Servidores MCP"
Haga clic en "Configurar servidores MCP"
Agregue la configuración del servidor:
{
"mcpServers": {
"github.com/marcopesani/think-mcp-server": {
"command": "npx",
"args": ["-y", "think-mcp-server"],
"disabled": false,
"autoApprove": ["think"]
}
}
}Opciones de configuración adicionales de Cline:
disabled: establezca en falso para habilitar el servidorautoApprove: Lista de herramientas que no requieren aprobación explícita para cada uso
Cursor
Abra la configuración del cursor
Abra la configuración de "Funciones"
En la sección "Servidores MCP", haga clic en "Agregar nuevo servidor MCP".
Elija un nombre y seleccione "comando" como "Tipo".
En el campo "Comando", ingrese lo siguiente:
npx -y think-mcp-serverEstibador
También puedes ejecutar el servidor con Docker. Primero, crea la imagen:
docker build -t think-mcp-server .Luego ejecuta el contenedor:
docker run -it think-mcp-serverPara el desarrollo, es posible que desees montar tu código fuente como un volumen:
docker run -v $(pwd):/app think-mcp-serverEmpezando
Instale el servidor utilizando uno de los métodos anteriores
Configure su cliente de IA para utilizar el servidor think-mcp
En sus indicaciones para Claude, incluya instrucciones para usar la herramienta "pensar".
Para obtener mejores resultados, agregue ejemplos de patrones de pensamiento efectivos en las indicaciones de su sistema.
Ejemplo de desarrollo de TypeScript
A continuación se muestra un ejemplo de solicitud centrado en el desarrollo de TypeScript para ayudar a Claude a aprovechar la herramienta "pensar" de manera eficaz:
## Using the think tool for TypeScript Development
Before implementing any TypeScript code or responding to technical questions, use the think tool to:
- Analyze type definitions and interfaces that might be relevant
- Check for potential type errors or edge cases
- Reason through generics and type constraints
- Verify the correct usage of TypeScript features
Here's an example of TypeScript-specific reasoning with the think tool:
<think_tool_typescript_example>
User wants to implement a generic state management hook in React TypeScript
- Analysis of requirements:
* Need to handle any data type (generic typing)
* Must preserve type information throughout state lifecycle
* Should provide typesafe update methods
* Need to consider immutability patterns
- Type constraints to consider:
* Should T extend object, or allow primitives?
* Is Partial<T> appropriate for updates?
* Should we use Record<string, unknown> as fallback?
- Implementation considerations:
* useState<T> as foundation
* Add typed setter methods that preserve generics
* Consider callback pattern for atomic updates
* Check for compatibility with React's rules of hooks
- Approach:
1. Define generic interface for the hook's return value
2. Implement useState with proper generic typing
3. Create typed update methods that maintain type safety
4. Add JSDoc comments for better developer experience
5. Return immutable state with properly typed methods
</think_tool_typescript_example>
When helping with TypeScript challenges:
1. First analyze the type system implications
2. Consider TypeScript-specific edge cases
3. Reason through type narrowing and widening
4. Check for compatibility with the TypeScript compiler version
5. Consider type inference and explicit type annotationsBeneficios de rendimiento
Las evaluaciones de Anthropic mostraron mejoras significativas al utilizar la herramienta "pensar":
Mejora relativa del 54 % en el dominio de aerolíneas τ-Bench (métrica de aprobación: 0,570 frente a 0,370 línea base)
Rendimiento mejorado en SWE-bench en un 1,6 % en promedio
Mayor consistencia en múltiples ensayos
Referencias
Esta implementación se basa en el artículo de investigación de Anthropic " La herramienta 'pensar': permitir que Claude se detenga y piense en situaciones complejas de uso de herramientas ", publicado el 20 de marzo de 2025.
Available Tools
1 toolthinkA
Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it when complex reasoning or some cache memory is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| thought | Yes | A thought to think about. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: 'It will not obtain new information or change the database' clarifies it's a read-only, non-destructive operation, and 'just append the thought to the log' explains the action. This covers safety and basic behavior, though it could add details like log format or persistence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that efficiently convey purpose and usage. It is front-loaded with the core action and avoids unnecessary details. Every sentence adds value, though minor improvements in clarity could enhance conciseness further.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no annotations, no output schema), the description is reasonably complete. It covers purpose, usage, and behavioral traits adequately. However, it could be more specific about what 'think' involves or the log's nature, which would improve completeness for an agent's understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'thought' parameter documented as 'A thought to think about.' The description adds no additional parameter semantics beyond this, such as format or constraints. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema already provides adequate parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Use the tool to think about something' and 'append the thought to the log.' It specifies the verb ('think') and resource ('thought log'), though it doesn't distinguish from siblings since none exist. The purpose is clear but could be more specific about what 'think' entails operationally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool: 'Use it when complex reasoning or some cache memory is needed.' This gives clear context for its application. However, it lacks exclusions or alternatives, which is acceptable since no sibling tools are present to differentiate from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
think
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'think' has a clearly defined and distinct purpose: to append thoughts to a log for reasoning or memory caching.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'think' is simple and descriptive, fitting the server's purpose without any conflicting patterns.
One tool is too few for most practical server purposes, as it severely limits functionality and scope. While the tool's description suggests it's for reasoning and memory caching, a single tool feels thin and inadequate for handling complex tasks or interactions.
The server is severely incomplete, as it lacks any tools for obtaining information, changing data, or performing actions beyond logging thoughts. This creates significant gaps that will cause agent failures in real-world scenarios, as the tool surface does not support meaningful workflows.
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that implements the 'think' tool, providing Claude with a dedicated space for structured thinking during complex problem-solving tasks to improve reasoning capabilities.130MIT
- FlicenseAqualityDmaintenanceAn MCP server implementation of Anthropic's Think Tool prompt engineering technique that enables Claude to break down complex problems and enhance its reasoning capabilities by providing a simple tool that echoes back thoughts.12-
- AlicenseBqualityFmaintenanceAn MCP server that provides a "think" tool enabling structured reasoning for AI agents, allowing them to pause and record explicit thoughts during complex tasks or multi-step tool use.1107MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.-