mcpField
O
OPENAPI Specifications => MCP (Model Context Protocol) Tools

OPENAPI Specifications => MCP (Model Context Protocol) Tools

本地服务
github.com/2013xile开发工具1998 周前更新

关于 OPENAPI Specifications => MCP (Model Context Protocol) Tools

OpenAPI Specifications => MCP 工具是一个实用工具库,可将 OpenAPI 规范转换为 MCP 工具。面向需要基于 OpenAPI 规范快速开发 MCP 服务的开发者。

主要功能

  1. 01将 OpenAPI 规范转换为 MCP 工具
  2. 02基于 @modelcontextprotocol/sdk 的服务端集成
  3. 03可自定义 HTTP 客户端配置

适用场景

  1. 01基于现有 OpenAPI 规范快速搭建 MCP 服务
  2. 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。