think
Analyze and append thoughts to a log for complex reasoning or memory retention without altering data. Ideal for breaking down problems and enhancing decision-making processes.
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)The async handler function for the "think" tool. It simply returns the input 'thought' as text content, allowing the model to externalize its thinking.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)Zod input schema for the "think" tool, defining a single string parameter 'thought'.{ thought: z.string().describe("A thought to think about."), },
- src/index.ts:12-30 (registration)Registration of the "think" tool on the MCP server, including name, description, schema, and handler.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, }, ], }; } );