Skip to main content
Glama
piotrpalek

MCP Think Tool

by piotrpalek

MCP Think Tool

This is an implementation of the "Think Tool" described in Anthropic's engineering blog post as an MCP server. The Think Tool is a simple but effective prompt engineering technique that helps Claude break down complex problems and enhance its reasoning capabilities.

How it Works

The Think Tool is incredibly simple - it provides a no-op tool that does nothing except echo back the input. The magic is in how it allows Claude to:

  1. Take a step back and think through complex problems

  2. Break down reasoning into discrete steps

  3. Organize thoughts more systematically

  4. Cache intermediate results during complex calculations

  5. Show its work when solving problems

As described by Anthropic, this is a "prompt engineering trick" where they use the standard tool calling mechanism to define a tool called "think" that "does nothing at all" - there is no implementation - it simply allows the model to use its existing training about when to use tools to stop and dump additional thoughts into the context.

Related MCP server: MCP Think Tool

Implementation Details

The MCP server exposes a single tool:

  1. think - Takes a thought as input and returns it

Tool definition:

{
  "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"]
  }
}

Usage

Setup

  1. Clone this repository

  2. Run npm install to install dependencies

  3. Run npm run build to compile TypeScript

  4. Run npm start to start the MCP server

Connecting to Claude Desktop

Add this server to your Claude Desktop configuration file:

{
  "mcpServers": {
    "think-tool": {
      "command": "node",
      "args": ["/path/to/mcp-think-tool/build/index.js"]
    }
  }
}

Add this prompt to teach the LLM how to use the think tool:

## Using the think tool

Before taking any action or responding to the user after receiving tool results, use the think tool as a scratchpad to:
- List the specific rules that apply to the current request
- Check if all required information is collected
- Verify that the planned action complies with all policies
- Iterate over tool results for correctness

Here are some examples of what to iterate over inside the think tool:
<think_tool_example_1>
User wants to cancel flight ABC123
- Need to verify: user ID, reservation ID, reason
- Check cancellation rules:
  * Is it within 24h of booking?
  * If not, check ticket class and insurance
- Verify no segments flown or are in the past
- Plan: collect missing info, verify rules, get confirmation
</think_tool_example_1>

<think_tool_example_2>
User wants to book 3 tickets to NYC with 2 checked bags each
- Need user ID to check:
  * Membership tier for baggage allowance
  * Which payments methods exist in profile
- Baggage calculation:
  * Economy class × 3 passengers
  * If regular member: 1 free bag each → 3 extra bags = $150
  * If silver member: 2 free bags each → 0 extra bags = $0
  * If gold member: 3 free bags each → 0 extra bags = $0
- Payment rules to verify:
  * Max 1 travel certificate, 1 credit card, 3 gift cards
  * All payment methods must be in profile
  * Travel certificate remainder goes to waste
- Plan:
1. Get user ID
2. Verify membership level for bag fees
3. Check which payment methods in profile and if their combination is allowed
4. Calculate total: ticket price + any bag fees
5. Get explicit confirmation for booking
</think_tool_example_2>

Replace /path/to/mcp-think-tool with the actual path to this repository.

Examples

Claude might use the Think Tool to work through a problem like:

Solving 235 × 47:

Think: First I'll break this down. I need to multiply 235 by 47.
Think: I'll start by calculating 235 × 40 = 9,400
Think: Then I'll calculate 235 × 7 = 1,645
Think: Now I add them together: 9,400 + 1,645 = 11,045

Therefore, 235 × 47 = 11,045

Or for a more complex reasoning task:

Think: I need to analyze the given problem carefully. The question asks about the impact of reducing carbon emissions by 15% over 5 years.
Think: First, I should establish the baseline emissions. The document mentions current annual emissions of 50 million metric tons.
Think: 15% reduction over 5 years means approximately 3% reduction per year, assuming linear decrease.
Think: After 5 years, annual emissions would be 50 × (1 - 0.15) = 50 × 0.85 = 42.5 million metric tons.
Think: The total reduction over 5 years would be the sum of the reductions each year...

Development

  • src/index.ts - MCP server implementation

License

ISC

Available Tools

1 tool
thinkA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
thoughtYesA thought to think about.

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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. 1 tool update
    • First observedthink

TDQS

A3.7/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool 'think' has a clearly defined and distinct purpose as described.

Naming Consistency5/5

There is only one tool, so naming consistency is inherently perfect. The tool name 'think' follows a simple verb pattern, which is appropriate for its function.

Tool Count2/5

A single tool is too few for most practical server purposes, as it severely limits functionality and scope. This feels thin and inadequate for handling complex tasks beyond basic reasoning.

Completeness1/5

The tool surface is severely incomplete; with only a 'think' tool, there are no operations for data retrieval, modification, or interaction with external systems, making it impossible to perform meaningful work in most domains.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    130
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A minimal MCP Server that provides Claude AI models with the 'think' tool capability, enabling better performance on complex reasoning tasks by allowing the model to pause during response generation for additional thinking steps.
    1
    14 npm
    24
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    An 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.
    1
    107
    MIT