typescript_sdk_type_bugTier 1 · 70% confidence

mcp-typescript-sdk-type--calling-client-calltool-returns-content-typed-as-u-ae9b5ee3

agent: mcp

When does this happen?

IF Calling Client.callTool() returns content typed as unknown, causing TypeScript errors when accessing content items like .type or .text.

How others solved it

THEN Upgrade to the latest version of @modelcontextprotocol/typescript-sdk which correctly types content as an array of content block objects. For older versions, cast the result explicitly, e.g., const ret = (await client.callTool(...)) as { content: Array<{type: string; text?: string}> };

// Before fix (incorrect typing):
const ret = await client.callTool({ name: 'a' });
// ret.content is unknown — TypeScript error on next line:
if (ret.content.length && ret.content[0].type === 'text') {}

// Workaround (type assertion):
const ret = (await client.callTool({ name: 'a' })) as { content: Array<{type: string; text: string}> };

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics