Skip to main content
Glama

OpenAPI MCP Server

by oneWalker

OpenAPI MCP Server

A Quick Way to Create an MCP Server with StreamableHTTP transport implementation from OpenAPI docs.

Overview

This server provides a standardized way to interact with model services through a RESTful API interface. It implements the Model Context Protocol (MCP) and is designed to be easily configurable. Simply set up your

It implements the Model Context Protocol (MCP) specification and supports OpenAPI documentation.

Related MCP server: MCP-OpenAPI

Features

  • OpenAPI 3.0.0 compliant API documentation

  • Model service API documentation retrieval

  • Model service invocation with parameter handling

  • TypeScript implementation for type safety

Prerequisites

  • Node.js (v20 or higher)

  • npm (v6 or higher)

Quick Start

  1. Clone the repository:

    git clone https://github.com/oneWalker/openapi-mcp-server.git cd openapi-mcp-server
  2. Install dependencies:

    npm install
  3. Configure your environment: Create a .env file in the project root and add your configuration. See the Configuration section for details.

  4. Run the server:

    npm run build npm run start

Installation

  1. Clone the repository

  2. Install dependencies:

npm install

Development

Building the Project

npm run build

Running in Development Mode

npm run watch

Starting the Server

npm run start

Configuration

Create a .env file in the root of the project to configure the server.

# The base URL for the original API server BASE_SERVER_URL= https://api.example.com # The path to the OpenAPI specification file (can be a local file or a URL). OPENAPI_PATH=./example.yaml or ./example.json # example.yaml is just for demo # The port for the MCP server to run on PORT=8000

API Endpoints

Get Model Service API Documentation

GET /api/model/services/{ID}

Retrieves the API documentation for a specific model service.

Parameters:

  • ID (path, required): Model service ID

  • authorization (header, required): Bearer token for authentication

Call Model Service

POST /api/model/services/

Invokes a specific model service with provided parameters.

Parameters:

  • id (path, required): Model service ID

Request Body:

{ "id": "123" }

Project Structure

openapi-mcp-server/ ├── src/ # Source code ├── build/ # Compiled JavaScript files ├── example.yaml # OpenAPI specification ├── package.json # Project configuration └── tsconfig.json # TypeScript configuration

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please see the CONTRIBUTING.md file for details on our code of conduct, and the process for submitting pull requests to us.

Reporting Issues

We use GitHub Issues to track public bugs. Report a bug by opening a new issue; it's that easy!

Dependencies

  • openapi-mcp-generator: OpenAPI specification generator

    • Note: This project requires a pending fix from the openapi-mcp-generator library. See this pull request.

  • @modelcontextprotocol/sdk: MCP SDK for protocol implementation

  • express: Web framework

  • dotenv: Environment variable management

  • got: HTTP client

Development Dependencies

  • TypeScript

  • @types/express

  • @types/node

License

MIT License - See LICENSE file for details

Authors

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oneWalker/openapi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server