Skip to main content
Glama

OpenAPI MCP Server

by oneWalker
MIT License

OpenAPI MCP Server

A Model Context Protocol (MCP) server with StreamableHTTP transport implementation for handling OpenAPI specifications and model service interactions

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 .env file, and the server is ready to run.

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

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
-
license - not tested
-
quality - not tested

A server that implements the Model Context Protocol (MCP) with StreamableHTTP transport, enabling standardized interaction with model services through a RESTful API interface.

  1. Overview
    1. Features
      1. Prerequisites
        1. Quick Start
          1. Installation
            1. Development
              1. Building the Project
              2. Running in Development Mode
              3. Starting the Server
            2. Configuration
              1. API Endpoints
                1. Get Model Service API Documentation
                2. Call Model Service
              2. Project Structure
                1. Contributing
                  1. Reporting Issues
                    1. Dependencies
                      1. Development Dependencies
                        1. License
                          1. Authors

                            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