think
Append thoughts to a reasoning log for complex problem-solving, enabling structured analysis without external data retrieval.
Instructions
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
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| thought | Yes | A thought to think about. |
Implementation Reference
- src/index.ts:18-29 (handler)Handler function for the 'think' tool. Takes a 'thought' parameter and returns it as a text content block in the response, effectively echoing the thought without performing any other actions.async ({ thought }) => { // This tool does nothing at all - it's a no-op // It simply lets Claude externalize its thinking process return { content: [ { type: "text", text: thought, }, ], }; }
- src/index.ts:15-17 (schema)Input schema for the 'think' tool using Zod: defines 'thought' as a required string.{ thought: z.string().describe("A thought to think about."), },
- src/index.ts:12-30 (registration)Registers the 'think' tool on the MCP server with name, description, input schema, and handler function.server.tool( "think", "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.", { thought: z.string().describe("A thought to think about."), }, async ({ thought }) => { // This tool does nothing at all - it's a no-op // It simply lets Claude externalize its thinking process return { content: [ { type: "text", text: thought, }, ], }; } );