MCP工具TypeScript接口

一个用于在TypeScript中运行MCP服务器工具的接口,提供工具列表获取和运行时类型检查功能。

  • by EvanZhouDev
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 EvanZhouDev/mcp-to-ts

使用说明

mcp到ts

MCP工具的TypeScript接口

在TypeScript中从任何MCP服务器运行任何MCP工具。

为什么?

在基于代码执行的代理时代,拥有许多LLM工具变得不那么重要,首选模式是所有工具的一个基于代码执行接口。

然而,由于MCP的主要影响和预先构建的工具选择,在MCP和工具调用之间建立一个通用的接口变得非常重要。

与其他实现不同(例如。 Cloudflare代码模式),此库不需要与任何AI SDK集成。它是TypeScript和MCP之间的独立接口。

什么?

此软件包有两个主要部分:

  1. listMcpTools 从MCP服务器获取工具
  2. 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,以简化类型管理,并在创建客户端时实现更多标准化