MCPcopy Create free account
hub / github.com/TanStack/ai / toServerTools

Function toServerTools

packages/ai-mcp/src/tools.ts:113–143  ·  view source on GitHub ↗
(
  client: Client,
  defs: Array<McpToolDef>,
  options: ConvertOptions,
)

Source from the content-addressed store, hash-verified

111 * plain `callTool` (see {@link requiresTaskExecution}).
112 */
113export function toServerTools(
114 client: Client,
115 defs: Array<McpToolDef>,
116 options: ConvertOptions,
117): Array<ServerTool> {
118 return defs
119 .filter((def) => !requiresTaskExecution(def))
120 .map((def) => {
121 const name = options.prefix ? `${options.prefix}_${def.name}` : def.name
122 const tool: ServerTool = {
123 __toolSide: 'server',
124 name,
125 description: def.description ?? '',
126 inputSchema: (def.inputSchema as any) ?? {
127 type: 'object',
128 properties: {},
129 },
130 ...(def.outputSchema ? { outputSchema: def.outputSchema as any } : {}),
131 ...(options.lazy ? { lazy: true } : {}),
132 metadata: {
133 mcp: {
134 serverToolName: def.name,
135 serverId: options.prefix,
136 uiResourceUri: extractUiResourceUri(def),
137 },
138 },
139 execute: makeMcpExecute(client, def.name, Boolean(def.outputSchema)),
140 }
141 return tool
142 })
143}

Callers 2

toolsMethod · 0.90
tools.test.tsFile · 0.90

Calls 3

requiresTaskExecutionFunction · 0.85
extractUiResourceUriFunction · 0.85
makeMcpExecuteFunction · 0.85

Tested by

no test coverage detected