mcp到ts
MCP工具的TypeScript接口
在TypeScript中从任何MCP服务器运行任何MCP工具。
为什么?
在基于代码执行的代理时代,拥有许多LLM工具变得不那么重要,首选模式是所有工具的一个基于代码执行接口。
然而,由于MCP的主要影响和预先构建的工具选择,在MCP和工具调用之间建立一个通用的接口变得非常重要。
与其他实现不同(例如。 Cloudflare代码模式),此库不需要与任何AI SDK集成。它是TypeScript和MCP之间的独立接口。
什么?
此软件包有两个主要部分:
listMcpTools从MCP服务器获取工具getMcpToolsAsFunctions在运行时使用类型检查运行这些工具。
用法
使用您选择的软件包管理器进行安装:
npm i mcp-to-ts然后使用:
import { getMcpToolsAsFunctions, listMcpTools } from "mcp-to-ts";
const clientConfig = {
transport: {
type: "http",
url: "https://your-server.com/mcp",
headers: { Authorization: "Bearer my-api-key" },
},
};
const tools = await listMcpTools(clientConfig);
console.log(tools);
const mcpTools = await getMcpToolsAsFunctions(clientConfig);
const output = await mcpTools.someTool({ hello: "world" });
console.log(output);更多运输类型
在幕后,我们使用Vercel AI SDK的MCP实现。有更多的运输方式可供选择,您可以 在这里引用它们.
备注
- 由于MCP服务器的工作方式(首先需要调用以获取工具模式),类型检查仅在运行时进行,而不是在编译时进行。
- MCP工具不携带输出模式,因此包装器返回值为
unknown. - 我们在这里使用Vercel AI SDK,以简化类型管理,并在创建客户端时实现更多标准化
