2O

2013xile/openapi2mcptools

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

19 stars 6 forks 品質 38 トレンド 22MIT

OpenAPI 仕様 => MCP (Model Context Protocol) ツール

概要

- ☑OpenAPI仕様をMCPツールに変換するユーティリティライブラリ。 ・OpenAPI仕様に基づくMCPサーバーの開発を高速化 http クライアントの baseURL、ヘッダなどを設定します.

概要(AI 翻訳)

  • ☑OpenAPI仕様をMCPツールに変換するユーティリティライブラリ。 ・OpenAPI仕様に基づくMCPサーバーの開発を高速化

使用法

カスタムクライアント

[baseURL, headers], 等を http クライアントに設定します。

例:

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

OPENAPI Specifications => MCP (Model Context Protocol) Tools

  • 🔧 An utility library for converting OpenAPI specifications to MCP tools.
  • 🚀 Faster the development of MCP servers based on OPENAPI specifications.

Usage

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);

Custom client

Set baseURL, headers, etc for http client.

export type RequestConfig = {
  url?: string;
  method?: string;
  headers?: any;
  params?: any;
  data?: any;
}

export interface HTTPClient {
  request: (requestConfig: RequestConfig) => Promise;
}

Example:

import axios from axios;
import { Converter } from 'openapi2mcptools';

const converter = new Converter({
  httpClient: axios
});
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →