Spec2工具
在运行时将OpenAPI规范动态转换为AI代理工具,无需生成代码。
包裹
此monorepo包含四个包:
| 软件包 | 说明 | 安装 |
|---|---|---|
| @spec2工具/核心 | OpenAPI解析和身份验证的核心实用程序 | npm install @spec2tools/core |
| @spec2tools/sdk | 根据OpenAPI规范创建AI SDK工具 | npm install @spec2tools/sdk |
| @spec2tools/cli | 用于与基于OpenAPI的AI工具交互的CLI | npx @spec2tools/cli |
| @spec2tools/sdio-mcp | MCP服务器通过stdio将OpenAPI端点作为工具公开 | npx @spec2tools/stdio-mcp |
快速开始
使用SDK
import { createTools } from '@spec2tools/sdk';
import { generateText, stepCountIs } from 'ai';
import { openai } from '@ai-sdk/openai';
const tools = await createTools({ spec: './openapi.yaml' });
const result = await generateText({
model: openai('gpt-4o'),
tools,
prompt: 'List all users',
stopWhen: stepCountIs(3)
});
console.log(result.text);使用CLI
# Set your OpenAI API key
export OPENAI_API_KEY=your-api-key
# Start the agent with an OpenAPI spec
npx @spec2tools/cli start --spec https://api.example.com/openapi.json用作MCP服务器
# Add to Claude Code (or any MCP client)
claude mcp add --transport stdio my-api \
-- npx @spec2tools/stdio-mcp ./path/to/openapi.yaml代码模式
将所有API端点折叠为2个工具(search + execute),将输入令牌使用量减少约99.9%:
# MCP server with code mode
claude mcp add --transport stdio my-api \
-- npx @spec2tools/stdio-mcp ./openapi.yaml --code-mode// SDK with code mode
const tools = await createTools({
spec: './openapi.yaml',
codeMode: true,
});您还可以将任何现有的AI SDK工具转换为代码模式:
import { toCodeModeTools } from '@spec2tools/core';
const codeModeTools = toCodeModeTools(existingTools);论文
你有一台服务器。你有一个OpenAPI规范。现在,随着MCP的大肆宣传,你被告知需要构建 *另一个* server-an MCP server-just以便AI代理可以调用您的API。您可以查找:定义工具,维护处理程序,使其与实际的API保持同步。但是等等。..您已经在OpenAPI中描述了您的API。为什么我们需要向代理人描述两次?
Spec2Tools是另一种选择。 它读取您的OpenAPI规范,并将端点作为工具公开——无需代码生成,也无需维护负担。直接与AI SDK一起使用,或从现有规范中立即启动MCP服务器。
发展
# Clone the repo
git clone https://github.com/CahidArda/spec2tools.git
cd spec2tools
# Install dependencies
pnpm install
# Build all packages
pnpm build许可证
麻省理工学院
