For the complete documentation index, see llms.txt. This page is also available as Markdown.

Makefile

The mcpd project includes a Makefile to streamline common developer tasks.


Commands

Environment

Most commands assume you have Go installed and available in your PATH.

🧱 Build

  • Build the binary

    make build
  • Remove the compiled binary from the working directory

    make clean
  • Install the binary to your system (typically /usr/local/bin)

    sudo make install

    Dependency

    The install target relies on the standard build target.

  • Uninstall the binary

    sudo make uninstall

🧪 Test

  • Run all Go tests


✅ Validation

  • Run linter with auto-fix

  • Validate Mozilla AI registry against JSON schema

    When to use

    Run this command before submitting PRs that modify:

    • internal/provider/mozilla_ai/data/registry.json

    • internal/provider/mozilla_ai/data/schema.json


📜 License and Attribution

  • Check dependency licenses

    Allowed licenses

    This validates that all dependencies use one of: Apache-2.0, MIT, BSD-2-Clause, BSD-3-Clause, ZeroBSD, or Unlicense.

  • Check NOTICE file is up to date

  • Generate NOTICE file

    Third-party attribution

    Regenerates the NOTICE file with current dependency license information.


🐳 Run

  • Start mcpd in a container

  • Stop mcpd


📝 Documentation

These commands build the GitBook documentation site for mcpd.

Environment

Docs commands assume you have uv installed and available in your PATH (in addition to Go).

  • Generate CLI reference docs from the Cobra commands

  • Generate the OpenAPI specification

  • Build the GitBook site into site/ (runs the generators first)

    Previewing

    GitBook renders the published site from the gitbook-docs branch, so there is no local dev server. make docs assembles the publishable Markdown into site/ for inspection.


🧭 Target Reference

Here's a complete list of Makefile targets:

Target
Description

build

Compile the Go binary

build-dev

Compile the Go binary for development (no optimizations)

build-linux

Compile the Go binary for Linux on amd64

build-linux-arm64

Compile the Go binary for Linux on arm64

check-licenses

Validate all dependency licenses are allowed

check-notice

Verify NOTICE file is up to date

clean

Remove compiled binary from working directory

docs

Build the GitBook documentation site into site/

docs-api

Generate the OpenAPI specification

docs-cli

Generate CLI reference docs from the Cobra commands

install

Install binary to system path

lint

Run linter with auto-fix (includes check-notice)

local-down

Stop a running mcpd Docker container

local-up

Start mcpd in a Docker container

notice

Generate NOTICE file with dependency licenses

test

Run all Go tests (includes lint)

uninstall

Remove installed binary

validate-registry

Validate Mozilla AI registry JSON schema

Last updated