Go
Go module proxy / pkg.go.dev 
The mockserver-client-go module provides an idiomatic Go client for MockServer's control-plane REST API. It has zero third-party runtime dependencies (pure net/http + encoding/json) and includes an on-demand binary launcher that starts MockServer without Java or Docker.
Install
go get github.com/mock-server/mockserver-monorepo/mockserver-client-go
Quick start
package main
import (
"log"
mockserver "github.com/mock-server/mockserver-monorepo/mockserver-client-go"
)
func main() {
client := mockserver.New("localhost", 1080)
// Create an expectation
_, err := client.When(
mockserver.Request().Method("GET").Path("/hello"),
).Respond(
mockserver.Response().StatusCode(200).Body("world"),
)
if err != nil {
log.Fatal(err)
}
// Verify the request was received at least once
if err := client.Verify(
mockserver.Request().Path("/hello"),
mockserver.AtLeast(1),
); err != nil {
log.Fatal(err)
}
// Reset
client.Reset()
}
Launch MockServer from Go
The module includes a binary launcher — no Java installation or Docker required:
handle, err := mockserver.StartServer(1080, "", nil)
if err != nil {
log.Fatal(err)
}
defer handle.Stop()
fmt.Printf("MockServer running on port %d\n", handle.Port)
See Running MockServer — client library launcher for full launcher options (version pinning, cache directory, air-gapped networks).
For the full Go client API, see MockServer clients.