think-mcp-server

by marcopesani
Verified
MIT License
525
1
  • Apple

Integrations

  • Supports React development workflows with TypeScript, particularly for implementing generic state management hooks with proper type safety and React best practices.

  • Provides specialized reasoning capabilities for TypeScript development, helping with type analysis, interface design, and identifying potential type errors or edge cases in code.

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.

¿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:

  1. Análisis de salida de herramientas : cuando Claude necesita procesar salidas de llamadas de herramientas anteriores antes de actuar
  2. Entornos con políticas pesadas : cuando Claude debe seguir pautas detalladas
  3. 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 install

Construir el servidor:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Depuració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 inspector

El 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-server

Escritorio de Claude

Agregue la configuración del servidor en:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Ventanas: %APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "think": { "command": "npx", "args": ["-y", "think-mcp-server"] } } }

Cline

  1. Abra la configuración de la extensión Cline
  2. Abra la pestaña "Servidores MCP"
  3. Haga clic en "Configurar servidores MCP"
  4. 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 servidor
  • autoApprove : Lista de herramientas que no requieren aprobación explícita para cada uso

Cursor

  1. Abra la configuración del cursor
  2. Abra la configuración de "Funciones"
  3. En la sección "Servidores MCP", haga clic en "Agregar nuevo servidor MCP".
  4. Elija un nombre y seleccione "comando" como "Tipo".
  5. En el campo "Comando", ingrese lo siguiente:
npx -y think-mcp-server

Estibador

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-server

Para el desarrollo, es posible que desees montar tu código fuente como un volumen:

docker run -v $(pwd):/app think-mcp-server

Empezando

  1. Instale el servidor utilizando uno de los métodos anteriores
  2. Configure su cliente de IA para utilizar el servidor think-mcp
  3. En sus indicaciones para Claude, incluya instrucciones para usar la herramienta "pensar".
  4. 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 annotations

Beneficios 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP mínimo que proporciona a los modelos de IA de Claude la capacidad de la herramienta "pensar", lo que permite un mejor desempeño en tareas de razonamiento complejas al permitir que el modelo haga una pausa durante la generación de respuestas para realizar pasos de pensamiento adicionales.

  1. Overview
    1. What is the "think" tool?
      1. Implementation
        1. When to Use the "think" Tool
          1. Implementation Best Practices
            1. Strategic Prompting
            2. System Prompt Integration
          2. How It Works
            1. Features
              1. Tools
            2. Development
              1. Debugging
                1. Installation
                  1. Installing via npm
                  2. Claude Desktop
                  3. Cline
                  4. Cursor
                  5. Docker
                2. Getting Started
                  1. TypeScript Development Example
                    1. Performance Benefits
                      1. References
                        ID: l2pz77adrm