diff --git a/src/sequentialthinking/__tests__/input-schema.test.ts b/src/sequentialthinking/__tests__/input-schema.test.ts index 4ff7be663c..6bcc354f08 100644 --- a/src/sequentialthinking/__tests__/input-schema.test.ts +++ b/src/sequentialthinking/__tests__/input-schema.test.ts @@ -30,6 +30,18 @@ describe.skipIf(!existsSync(distIndexPath))('sequentialthinking input schema', ( await client?.close(); }); + it('advertises accurate annotations (stateful and non-idempotent)', async () => { + const { tools } = await client.listTools(); + const tool = tools.find(t => t.name === 'sequentialthinking'); + expect(tool).toBeDefined(); + expect(tool!.annotations).toEqual({ + readOnlyHint: false, + destructiveHint: false, + idempotentHint: false, + openWorldHint: false, + }); + }); + it('advertises nextThoughtNeeded as required', async () => { const { tools } = await client.listTools(); const tool = tools.find(t => t.name === 'sequentialthinking'); diff --git a/src/sequentialthinking/index.ts b/src/sequentialthinking/index.ts index 1ae09d1db8..8be1f9a568 100644 --- a/src/sequentialthinking/index.ts +++ b/src/sequentialthinking/index.ts @@ -93,9 +93,9 @@ You should: needsMoreThoughts: coercedBoolean.optional().describe("If more thoughts are needed") }, annotations: { - readOnlyHint: true, + readOnlyHint: false, destructiveHint: false, - idempotentHint: true, + idempotentHint: false, openWorldHint: false, }, outputSchema: {