# Note: these can be overriden on the command line e.g. `make PLATFORM=<platform> ARCH=<arch>`
PLATFORM="$(shell go env GOOS)"
ARCH="$(shell go env GOARCH)"
VERSION ?= $(shell git describe --tags --always --dirty)
COMMIT ?= $(shell git rev-parse --short HEAD)
BUILD_DATE ?= $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
LDFLAGS_STRING = -s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.BuildDate=${BUILD_DATE}
.PHONY: clean pre build run test test-integration test-all
clean:
rm -rf dist
pre:
mkdir -p dist
build: pre
GOOS=$(PLATFORM) GOARCH=$(ARCH) CGO_ENABLED=0 go build --ldflags '$(LDFLAGS_STRING)' -o dist/portainer-mcp ./cmd/portainer-mcp
release: pre
GOOS=$(PLATFORM) GOARCH=$(ARCH) CGO_ENABLED=0 go build --ldflags '$(LDFLAGS_STRING)' -o dist/portainer-mcp ./cmd/portainer-mcp
inspector: build
npx @modelcontextprotocol/inspector dist/portainer-mcp
test:
go test -v $(shell go list ./... | grep -v /tests/integration)
test-coverage:
go test -v $(shell go list ./... | grep -v /tests/integration) -coverprofile=./coverage.out
test-integration:
go test -v ./tests/...
test-all: test test-integration
# Include custom make targets
-include $(wildcard .dev/*.make)
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/portainer/portainer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server