Skip to content

marle3003/mokapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,976 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mokapi - Open Source Mock API Server

The Open-Source Mock API Tool Across Protocols

Github release Build status Codecov branch MIT License

Documentation · Releases · Tutorials · Blog

About

Mokapi is an open-source, local-first mock API tool to develop and test faster. Simulate complete environments driven by OpenAPI and AsyncAPI specifications without external dependencies.

It supports HTTP/REST, Apache Kafka, MQTT, Websocket, LDAP, and SMTP from a single tool, making it useful across the whole stack, not just for REST APIs.

Use it to:

  • Build frontend UIs before the backend exists
  • Test error states, timeouts, and edge cases safely
  • Run reliable CI/CD pipelines without external dependencies
  • Validate API contracts before writing implementation code

Quick Start

Try the mock API instantly:

npx go-mokapi https://petstore3.swagger.io/api/v3/openapi.json
curl http://localhost/api/v3/pet/1 -H 'Accept: application/json'

A working mock from a public OpenAPI spec in under a minute. No installation required.

Feature

Feature Description
Multi-protocol HTTP/HTTPS, Apache Kafka, MQTT, Websocket, LDAP, SMTP
Spec-driven Uses OpenAPI and AsyncAPI as the source of truth
JavaScript scripting Customize responses, simulate errors, add delays
Everything as code Version-controlled, CI/CD-ready, no UI required
Config patching Override parts of a spec without modifying the original
Built-in dashboard Real-time request and response viewer at localhost:8080
Flexible providers Load specs from files, URLs, Git repos, or NPM packages

Usage

Basic HTTP mock

npx go-mokapi ./openapi.yaml

With a remote spec

npx go-mokapi https://example.com/api/openapi.json

Docker

docker run -it -p 8080:8080 -p 80:80 \
  -v $(pwd):/data mokapi/mokapi /data/openapi.yaml

Dashboard

Open http://localhost:8080 to view live requests, responses, and logs.

Mokapi Web UI

Configuration

JavaScript scripting

import { on } from 'mokapi'

export default function() {
  on('http', (request, response) => {
    // Return 404 for specific IDs
    if (request.path.petId === '999') {
      response.statusCode = 404
      return
    }

    // Customize response data
    response.data.name = 'Custom Pet Name'
  })
}

Spec patching

Override parts of your OpenAPI spec for specific test scenarios without touching the original file. See the configuration guide for details.

Tutorials

Explore tutorials that walk you through mocking different protocols and scenarios:

More at mokapi.io/resources

Documentation

Support the Project

If Mokapi saves you time, consider buying me a coffee. It helps keep the project going.

ko-fi Buy Me A Coffee

Merch

Merch

License

MIT License - see LICENSE for details.

Website · NPM · Docker Hub