A minimal MCP Server based on Anthropic's "think" tool research.
This project implements a minimal Message Control Protocol (MCP) server that provides Claude AI models with the "think" tool capability. Based on Anthropic's research published on March 20, 2025, this implementation enables Claude to perform better on complex reasoning tasks involving multi-step tool usage.
The "think" tool gives Claude the ability to include an additional thinking step—with its own designated space—as part of reaching a final answer. Unlike extended thinking (which happens before response generation), the "think" tool allows Claude to pause during response generation to consider whether it has all necessary information to proceed.
This server implements the "think" tool with the following specification:
{
"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"]
}
}
Based on Anthropic's research, this tool is most beneficial for:
For best results, include clear instructions in your prompts on when and how to use the "think" tool. Consider providing domain-specific examples that show:
- Expected detail level in reasoning
- How to break down complex instructions into steps
- Decision trees for common scenarios
- Information verification processes
Complex guidance works best when placed in the system prompt rather than the tool description itself.
The server operates using the Model Context Protocol (MCP) to communicate with Claude and similar AI assistants. It:
- Runs as a standalone process using stdio for communication
- Registers the "think" tool for Claude to use during reasoning
- Returns structured responses that can be processed by AI assistants
- Logs thinking steps without affecting the external environment
thought
(string containing Claude's thinking process)Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
npm install -g think-mcp-server
Add the server config at:
- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"think": {
"command": "npx",
"args": ["-y", "think-mcp-server"]
}
}
}
{
"mcpServers": {
"github.com/marcopesani/think-mcp-server": {
"command": "npx",
"args": ["-y", "think-mcp-server"],
"disabled": false,
"autoApprove": ["think"]
}
}
}
npx -y think-mcp-server
Build the image:
docker build -t think-mcp-server .
Run the container:
docker run -it think-mcp-server
For development, mount your source code as a volume:
docker run -v $(pwd):/app think-mcp-server
Here's an example prompt focused on TypeScript development to help Claude leverage the "think" tool effectively: