关于 OPENAPI Specifications => MCP (Model Context Protocol) Tools
OpenAPI Specifications => MCP 工具是一个实用工具库,可将 OpenAPI 规范转换为 MCP 工具。面向需要基于 OpenAPI 规范快速开发 MCP 服务的开发者。
主要功能
- 01将 OpenAPI 规范转换为 MCP 工具
- 02基于 @modelcontextprotocol/sdk 的服务端集成
- 03可自定义 HTTP 客户端配置
适用场景
- 01基于现有 OpenAPI 规范快速搭建 MCP 服务
- 02为 API 接口生成 MCP 工具定义
MCP 相关
该项目用于生成 MCP 服务,转换后的 OpenAPI 操作以 MCP 工具的形式暴露给 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OPENAPI 规范 => MCP(模型上下文协议)工具
- 🔧 一个用于将 OpenAPI 规范转换为 MCP 工具的实用库。
- 🚀 加快基于 OPENAPI 规范开发 MCP 服务的速度。
用法
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from '@modelcontextprotocol/sdk/types.js';
import { Converter } from 'openapi2mcptools';
const converter = new Converter({
baseURL, // optional
httpClient // optional
});
await converter.load({
// specs
});
const tools = converter.getToolsList();
const toolCaller = converter.getToolsCaller();
const server = new Server(
{
name: 'mcp-server-openapi',
version: '1.0.0',
},
{
capabilities: {
tools: {},
},
},
);
// Define available tools
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools,
};
});
// Handle tool execution
server.setRequestHandler(CallToolRequestSchema, async (request) => {
return await toolCaller(request);
});
const transport = new StdioServerTransport();
await server.connect(transport);
自定义客户端
为 HTTP 客户端设置 baseURL、headers 等。
export type RequestConfig = {
url?: string;
method?: string;
headers?: any;
params?: any;
data?: any;
}
export interface HTTPClient {
request: (requestConfig: RequestConfig) => Promise<{ data: any }>;
}
示例:
import axios from axios;
import { Converter } from 'openapi2mcptools';
const converter = new Converter({
httpClient: axios
});
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。