Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
9b58ef8
add helm chart
ilackarms Jul 11, 2025
fcf069e
wire helm chart to e2e test
ilackarms Jul 11, 2025
f76e972
add make target to generate crds from kubebuilder outputs
ilackarms Jul 11, 2025
cfd9f68
update readme
ilackarms Jul 12, 2025
c7b68c7
put down base for kmcp cli; stubs for init and build
ilackarms Jul 13, 2025
b6f2ef4
feat: modernize Python templates with uv package manager and add core…
ilackarms Jul 14, 2025
ad9226a
add templates for other frameworks
ilackarms Jul 14, 2025
2de34a5
Refactor template system to replace old tool types (database/filesyst…
ilackarms Jul 15, 2025
6446589
remove tool type and fix dynamic loader
ilackarms Jul 16, 2025
837c91d
wip: deploy; fixing container
ilackarms Jul 16, 2025
d28e662
regenerate init file when adding tools
ilackarms Jul 16, 2025
7026a1c
fix mcp deployment default args
jmhbh Jul 17, 2025
4fc32de
remove non-fast mcp framework implementations, additional cli options…
jmhbh Jul 17, 2025
55a7963
fix lint issues
jmhbh Jul 18, 2025
94d2ec0
undo make target change, more lint fixes
jmhbh Jul 18, 2025
39a3764
fix lint issues
jmhbh Jul 18, 2025
cec95d1
replace print stmts with logs so they aren't sent to stdout which bre…
jmhbh Jul 18, 2025
baedbd5
add controller deployment support to kmcp cli, + additionally ergonom…
jmhbh Jul 21, 2025
355f11e
fix helm unit tests
jmhbh Jul 21, 2025
5771e42
fix lint issues
jmhbh Jul 21, 2025
dd92c29
remove unused func
jmhbh Jul 21, 2025
64ef87f
use kcmp cli to deploy mcp server in e2e test
jmhbh Jul 21, 2025
404a8f5
fix lint issues
jmhbh Jul 22, 2025
45fba8c
remove unnecessary make target
jmhbh Jul 22, 2025
f60ee15
fix tag and push workflow release step to only build cli and include …
jmhbh Jul 22, 2025
9f3c2e2
remove duplicate build-cli step
jmhbh Jul 22, 2025
eeb5e5f
add kmcp deploy cmd usage to readme.md
jmhbh Jul 22, 2025
9561b7f
update e2e test to use binary in dist folder
jmhbh Jul 22, 2025
3a48077
refactor mcp generation
ilackarms Jul 22, 2025
4c9bbfe
refactor(templates): modularize framework generators
ilackarms Jul 22, 2025
225791b
remove typescript references
jmhbh Jul 22, 2025
6333cb7
fix lint issue
jmhbh Jul 22, 2025
a579533
fix incorrect generation of secret yaml and add cmd to generate secre…
jmhbh Jul 22, 2025
28866de
make controller deployment sub command
jmhbh Jul 22, 2025
4eeda4b
fix generated README
jmhbh Jul 22, 2025
ba96628
first pass at adding secrets to mcp server
jmhbh Jul 22, 2025
feb3220
fix e2e test
jmhbh Jul 23, 2025
4dca383
update helm template mcp server crd
jmhbh Jul 23, 2025
f13bd92
fix lint issues
jmhbh Jul 23, 2025
b5389f2
fix lint issues
jmhbh Jul 23, 2025
03d60e3
continued secrets work
jmhbh Jul 23, 2025
01e51c4
envFrom approach working, updated tests and removed obsolete generate…
jmhbh Jul 23, 2025
0f1de1e
add more instructions for local development in init command, clean up…
jmhbh Jul 23, 2025
1844104
remove unused changes
jmhbh Jul 23, 2025
22a0abf
fix go & python lint issues
jmhbh Jul 23, 2025
5e2b482
lint issue
jmhbh Jul 23, 2025
47c8f51
update cmd description
jmhbh Jul 24, 2025
90fb316
change help text
ilackarms Jul 25, 2025
d0cd342
remove tool / template type
ilackarms Jul 25, 2025
250718d
sanitize label value
ilackarms Jul 25, 2025
941bc06
remove regenerate init
ilackarms Jul 25, 2025
f65c67f
fix lint issues
jmhbh Jul 28, 2025
ff3291c
refactor init, deploy, and secrets commands
ilackarms Jul 26, 2025
71c535b
add project dir flag to secrets command, fix python generation and up…
jmhbh Jul 28, 2025
d1cc789
update gitignore and fix lint issues
jmhbh Jul 28, 2025
a559a2c
add helm-lint make target back
jmhbh Jul 28, 2025
f9383e3
add namespace option to init command and fix e2e tests
jmhbh Jul 28, 2025
b7728a3
fix lint issues
jmhbh Jul 28, 2025
1d2a092
Merge branch 'main' into buildpacks-backup
jmhbh Jul 28, 2025
156d101
fix e2e test
jmhbh Jul 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/tag.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,10 @@ jobs:
export VERSION=$(echo "$GITHUB_REF" | cut -c12-)
fi
echo "Building release artifacts with version: ${VERSION}"
make build VERSION=${VERSION}
make helm-package VERSION=${VERSION}
make build-cli VERSION=${VERSION}
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
# TODO: Add kmcp binary to the release
with:
files: |
dist/kmcp-*.tgz

dist/kmcp
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.DS_Store

# Binaries for programs and plugins
*.exe
*.exe~
Expand Down
26 changes: 23 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ DOCKER_REGISTRY ?= ghcr.io
BASE_IMAGE_REGISTRY ?= cgr.dev
DOCKER_REPO ?= kagent-dev/kmcp
HELM_REPO ?= oci://ghcr.io/kagent-dev
HELM_DIST_FOLDER ?= dist

BUILD_DATE := $(shell date -u '+%Y-%m-%d')
GIT_COMMIT := $(shell git rev-parse --short HEAD || echo "unknown")
Expand Down Expand Up @@ -71,6 +70,21 @@ manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and Cust
helm-lint:
helm lint helm/kmcp

.PHONY: helm-crd
helm-crd: manifests ## Generate Helm CRD template from the generated CRD definition.
@echo "Generating Helm CRD template from config/crd/bases/kagent.dev_mcpservers.yaml"
@mkdir -p helm/kmcp/templates/crds
@echo '{{- if .Values.crd.create }}' > helm/kmcp/templates/crds/mcpserver-crd.yaml
@awk '/^ name: mcpservers.kagent.dev$$/ { \
print; \
print " labels:"; \
print " {{- include \"kmcp.labels\" . | nindent 4 }}"; \
next; \
} \
{ print }' config/crd/bases/kagent.dev_mcpservers.yaml >> helm/kmcp/templates/crds/mcpserver-crd.yaml
@echo '{{- end }}' >> helm/kmcp/templates/crds/mcpserver-crd.yaml
@echo "Helm CRD template generated at helm/kmcp/templates/crds/mcpserver-crd.yaml"

.PHONY: helm-package
helm-package:
mkdir -p $(DIST_FOLDER)
Expand All @@ -79,6 +93,7 @@ helm-package:
@sed "s/^version: .*/version: $(VERSION)/" helm/kmcp/Chart.yaml.bak > helm/kmcp/Chart.yaml
@helm package helm/kmcp --version $(VERSION) -d $(DIST_FOLDER)
@mv helm/kmcp/Chart.yaml.bak helm/kmcp/Chart.yaml
@echo "Helm package created: $(DIST_FOLDER)/kmcp-$(VERSION).tgz"

.PHONY: helm-cleanup
helm-cleanup: ## Clean up Helm chart packages
Expand All @@ -91,7 +106,7 @@ helm-build: helm-lint helm-package ## Build and package the Helm chart
.PHONY: helm-publish
helm-publish: helm-package ## Publish Helm chart to OCI registry
@echo "Publishing Helm chart to $(HELM_REPO)/kmcp/helm..."
@helm push $(HELM_DIST_FOLDER)/kmcp-$(VERSION).tgz $(HELM_REPO)/kmcp/helm
@helm push $(DIST_FOLDER)/kmcp-$(VERSION).tgz $(HELM_REPO)/kmcp/helm
@echo "Helm chart published successfully"

.PHONY: helm-test
Expand Down Expand Up @@ -143,7 +158,7 @@ test-e2e: manifests generate fmt vet ## Run the e2e tests. Expected an isolated
echo "No Kind cluster is running. Please start a Kind cluster before running the e2e tests."; \
exit 1; \
}
go test ./test/e2e/ -v -ginkgo.v
go test ./test/e2e/ -v

.PHONY: lint
lint: golangci-lint ## Run golangci-lint linter
Expand All @@ -163,6 +178,11 @@ lint-config: golangci-lint ## Verify golangci-lint linter configuration
build: manifests generate fmt vet ## Build manager binary.
go build -o bin/manager cmd/main.go

.PHONY: build-cli
build-cli: fmt vet ## Build kmcp CLI binary.
mkdir -p $(DIST_FOLDER)
go build -ldflags="-X 'kagent.dev/kmcp/cmd/kmcp/cmd.Version=$(VERSION)'" -o $(DIST_FOLDER)/kmcp cmd/kmcp/main.go

.PHONY: run
run: manifests generate fmt vet ## Run a controller from your host.
go run ./cmd/main.go
Expand Down
Loading
Loading