@agntn/tools

中文文档
0.3.0发布于 2026/11/03MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 4612

MCP、Pi、OMP和AI SDK的一个工具定义

中文使用文档
文档目录9 节
  1. 为什么?
  2. * 特性
  3. QQ 安装
  4. 第一次通话
  5. ++ 主机
  6. ~ 这不起作用 ~
  7. 发展
  8. 谢谢
  9. 许可证

@agntn/ 工具

npm version npm downloads license Ask DeepWiki

QQ四个主机,一个定义. 你写工具一次。 MCP, Pi, OMP 和AI SDK各自获得他们喜欢的方式.

想看看吗? 工具.agntn.dev 有医生和一个游乐场。 一个电话,四个主机,都住在你的帐上.

为什么?

MCP想要一个 inputSchema皮想要一个 parameters 和迅速的片段。 OMP 将您的 TypeBox 转换为自己的 。 AI SDK想要另一个计划。 所以每个工具都生活在四个文件里,四个文件漂移. 现在它生活在一个.

* 特性

  • 📝 一个定义. 名称、计划、效果和 execute. 这就是整个工具.
  • 🔌 4个主机适配器. createMcpServer, (中文(简体) ), registerPiTools, (中文(简体) ), registerOmpTools 财务报告和审定财务报表 toAiTool- 每人打一个电话.
  • 🛡️ 每个主机的验证. 密码运行前 核心检查每个电话 即使主机跳过自己的支票.
  • 🗣️ 模型可以使用错误 . 拼错的密钥名称本身和您要的密钥 。 一个enum列出了它的值.
  • 🧵 每错一行. 新的线条,逃生密码 和重复文本中的花招 被平分。 没有伪造的线条.
  • 🪤 OMP TypeBox 陷阱已拆除. TypeBox被捆绑了,所以OMP已经没有什么可以背地里重写了.
  • 🧪 斯克马在定义时间规则. 打开对象或文字结合失败 defineTool三周后在模特儿的手上.
  • ⏳ 进展有所进展. progress?.("still at it") 变成 onUpdate 在皮和OMP, notifications/progress 在MCP和一线直播 在你的终端。 一个缓慢的呼叫停止看起来像一个死.
  • 🙋 问人去取,不是模特去取. ask?.({ message, schema }) 成为 MCP 引出,或在 Pi 和 OMP 中每个字段一个对话框。 三个谜题匹配吗? 让他们选择而不是让模特猜.
  • ⌨️ 一个CLI在旁边. runCli 将同样的工具变成命令,不需要 CLI 库 。 旗帜出自"通鉴". 提示会增加位置,短旗和斯丁.
  • 🌐 到处跑. 没有 node:* 输入核心或主机适配器。 Docs网站在浏览器标签中运行它们. CLI是一个节点部分,就像一个CLI一样.

QQ 安装

pnpm add @agntn/tools

节点.js 26或更新. 然后增加你们所崇拜的主宰。 每一个都是可选的同伴.

第一次通话

import { defineTool, Type } from "@agntn/tools";
import { createMcpServer } from "@agntn/tools/mcp";
import { Client, InMemoryTransport } from "@modelcontextprotocol/client";

const slugTool = defineTool({
  name: "text_slug",
  title: "Text Slug",
  description: "Turn a title into a lowercase URL slug.",
  effect: "read",
  input: Type.Object({ text: Type.String({ minLength: 1 }) }, { additionalProperties: false }),
  execute: ({ text }) => {
    const slug =
      text
        .toLowerCase()
        .match(/[a-z0-9]+/g)
        ?.join("-") ?? "";
    return { content: [{ type: "text", text: slug }], details: { slug } };
  },
});

const server = createMcpServer({ name: "slugs", version: "1.0.0" }, [slugTool]);
const client = new Client({ name: "demo", version: "1.0.0" });
const [clientSide, serverSide] = InMemoryTransport.createLinkedPair();
await Promise.all([server.connect(serverSide), client.connect(clientSide)]);

console.log(await client.callTool({ name: "text_slug", arguments: { text: "Hello, World" } }));
console.log(await client.callTool({ name: "text_slug", arguments: { txt: "Hello, World" } }));
{ content: [ { type: 'text', text: 'hello-world' } ] }
{
  content: [
    {
      type: 'text',
      text: 'Invalid arguments: unknown property "txt"; takes text\n' +
        'Invalid arguments at /: must have required properties text'
    }
  ],
  isError: true
}

字型没有达到 execute模型被告知它做错了什么 和工具需要什么。 Pi,OMP和AI SDK将其同为两行,只能通过自己的出错通道. 验证和错误 拿着桌子.

++ 主机

东道主适配器端点
MCP 磁共振createMcpServer 从 @agntn/tools/mcp@modelcontextprotocol/server
H3级toH3Tools 从 @agntn/tools/h3h3-mcp
杜克斯语NametoToolkitTools 从 @agntn/tools/toolkitzod,旁边 @nuxtjs/mcp-toolkit
PiregisterPiTools 从 @agntn/tools/pi@earendil-works/pi-coding-agent
办公室管理计划registerOmpTools 从 @agntn/tools/omp@oh-my-pi/pi-coding-agent
AI SDK 软件toAiTool 从 @agntn/tools/aiai
国 际runCli 从 @agntn/tools/cli无

只安装您所携带的 一个MCP服务器不需要AI SDK,没有人让它假装. 每个主机都有自己的网页 和Gotchas: 工具.agntn.dev/主机。 。 。 .

~ 这不起作用 ~

它不运行你的服务器或选择运输。 Stdio, HTTP, 在记忆中,你的电话。 除非你问 runCli 联合国 mcp 命令。 那一个是stdio。 它不是一个计划图书馆。 TypeBox做这个部分,这个只是确保每个主机都看到同一个部分.

发展

pnpm install
pnpm lint         # vp lint and vp fmt --check
pnpm typecheck    # tsc over the source and the tests
pnpm test         # vp test run
pnpm build        # obuild, TypeBox bundled into dist

谢谢

在很多帮助下撰写的 Claude 打开源代码 财务报告和审定财务报表 开源代码。两者都使开源维护者免费运行。 欢呼声 < 3

许可证

麻省理工学院

版本与发布记录

@agntn/tools 共发布 9 个版本,首次发布于 2026/09/30;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.0latest2026/11/032 天前
0.2.42026/10/1323 天前
0.2.32026/10/1027 天前
0.2.22026/10/0828 天前
0.2.12026/10/0729 天前
0.2.02026/10/0630 天前

关于 @agntn/tools 的常见问题

@agntn/tools 是什么?

MCP、Pi、OMP和AI SDK的一个工具定义

如何安装 @agntn/tools?

在项目目录运行 npm install @agntn/tools,或使用 pnpm add / yarn add / bun add。

@agntn/tools 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@agntn/tools 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@agntn/tools 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=26。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@agntn/tools 可以商用吗?

@agntn/tools 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@agntn/tools 的下载量有多少?

根据 npm 官方下载统计,@agntn/tools 在 2026/10/05 – 2026/11/03 这 30 天内被下载 4,612 次,日均约 154 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@agntn/tools 还在维护吗?

最新版本 0.3.0 发布于 2026/11/03(2 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/09/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。