- Published on
Using Claude Think Tool in Cursor
Recently Anthropic showed us a "new tool that improves Claude's complex problem-solving performance", the think tool. The idea behind this tool is to take advantage of the model's ability to execute tools and create a tool that allows the model to "think" before continuing to work on a problem.
The interesting thing about this tool is that it has no implementation, it doesn't return anything, it just allows the model to think.
Anthropic reported:
Our research has demonstrated that the "think" tool can significantly enhance Claude 3.7 Sonnet's performance on complex tasks requiring policy adherence and reasoning in long chains of tool calls.
I thought that the Cursor agent is an excellent place to try this tool. And this is how I set it up:
Requirements
Installation
Set up the mcp code
mkdir -p $HOME/dev/mcp
cd $HOME/dev/mcp
cat > think_tool.py << 'EOF'
# /// script
# requires-python = "==3.12.9"
# dependencies = [
# "mcp[cli]==1.5.0",
# ]
# ///
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Think Tool")
@mcp.tool()
def think(thought: str) -> None:
"""
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.
"""
pass
if __name__ == "__main__":
mcp.run()
EOF
realpath think_tool.py
This will create the think_tool.py
mcp (on $HOME/dev/mcp
) and will print the path to the file.
Configure Cursor
Then we go to cursor.

And it will open a file where we add the mcp server like this:
{
"mcpServers": {
"think_tool": {
"command": "uv",
"args": [
"run",
"--no-project",
"--python",
"3.12.9",
"--script",
"<PASTE PATH HERE>"
]
}
}
}
Then we should see the mcp server in the list of MCP Servers and it should be ready to use (green dot).

Finally, by the original Anthropic blog post, we should add some instructions to the model, which we can do in Rules:
## 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>

Now we are done!
Example execution:

{
"thought": "Analyzing request for explaining why the sky is blue:\n\nRules that apply:\n- This is a scientific explanation request\n- No code changes or tools needed\n- Should provide expert-level explanation\n- Should mention relevant terms and concepts\n- Should be comprehensive but accessible\n\nInformation needed:\n- Basic physics of light scattering (Rayleigh scattering)\n- Atmospheric composition\n- Wavelength concepts\n- Daily/seasonal variations\n\nPlan:\n1. Explain molecular scattering\n2. Cover wavelength dependence\n3. Mention variations in sky color\n4. Include relevant scientific terms\n5. Make explanation accessible while being technically accurate"
}