Repository navigation
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…y OCI package + preflight Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ms.txt guard, install-channel hardening Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…mode hint, CLAUDE.md entry, review log Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…owngrade/legacy marker, llms canary) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Deploying mcpproxy-docs with
|
| Latest commit: |
027f66d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://0bb62f61.mcpproxy-docs.pages.dev |
| Branch Preview URL: | https://121-install-surfaces.mcpproxy-docs.pages.dev |
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
main landed an equivalent llms.txt publication boundary + verify-docs-build.js, so this branch drops its own llms generator/guard and keeps the agent-install page. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…endent TestResolveInstallChannel_Precedence used literal '/' marker keys while the resolver joins with the OS separator, and the installer contract compared CRLF text on Windows checkouts. Both failed only on windows-latest. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
📦 Build ArtifactsWorkflow Run: View Run Available Artifacts
How to DownloadOption 1: GitHub Web UI (easiest)
Option 2: GitHub CLI gh run download 40173353906 --repo smart-mcp-proxy/mcpproxy-go
|
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Experiment E7 (zero-friction install surfaces). Spec:
specs/121-install-surfaces/(spec, plan, tasks, research, review log,.mcpbfollow-up note).server.jsonnow carries anocipackage (ghcr.io/smart-mcp-proxy/mcpproxy-server, streamable-httplocalhost:8080/mcp, declaresMCPPROXY_INSTALL_CHANNEL=registry). Image labelio.modelcontextprotocol.server.nameadded (Dockerfile + build-docker). One sharedscripts/stamp-server-json.sh+scripts/registry-preflight.sh(anonymous pull, label check, container smoke test with MCPinitialize) used by bothrelease.ymlandretry-sign-release.yml. The registry has no binary package type, so release archives are not listed.publish-windows-packages.yml(called from release + recovery, manually dispatchable): scoop manifest pushed to a bucket repo, winget PR tomicrosoft/winget-pkgsfrom our own tested generator (no third-party action). Jobs skip with a notice until configured. Inno installer:/CHANNEL=wingetmarker, stale-marker cleanup, uninstall cleanup, no blocking dialog in silent mode. Newscoopupdate channel so a scoop-owned binary is never self-replaced.docs/getting-started/agent-install.md, README block synced + drift-tested). While this PR was open, main landed an equivalent llms.txt publication boundary +verify-docs-build.js; I merged it and dropped this branch's own llms generator/guard (it had independently found that the livellms.txtadvertised ~70 unpublished 404 pages). Only the agent-install page and its sidebar entry remain.install_channel, a closed enum (brew, dmg, winget, scoop, windows-installer, deb, rpm, docker, registry, curl, tarball, go-install, unknown). Precedence: env > installer marker > existing detector > weak data-dircurlmarker (only over tarball/go-install/unknown). Read only when telemetry is enabled; regular files only, size-capped, overflow rejected; anonymity scanner re-validates the enum. No schema bump (additive; avoids colliding with concurrent specs)..mcpb: not implemented; open questions inspecs/121-install-surfaces/followup-mcpb.md.Verification
go test -raceover./internal/... ./cmd/...(CI skip regex): all packages pass except 3 docs-allowlist guards my refactor broke — fixed (config keeps the parseableinclude: [shape); touched packages re-run green with and without-tags server..github/.golangci.yml) bare and--build-tags server: no findings in files this PR touches (the remaining findings are pre-existing in untouched files).stamp-server-json,gen-scoop-manifest,gen-winget-manifest(schema-validated against Microsoft's 1.9.0 schemas),sync-agent-prompt; node tests forcheck-llms;mcp-publisher validatepasses on the stamped entry.npm run buildpasses (before the merge; main'sverify-docs-build.jsnow guards llms).v0.71.1image: anonymous pull OK, label missing as expected (so versions ≤ 0.71.x stay package-less), container smoke test passes.claude -p, scratch HOME, live instance on :8080 untouched): installed the real v0.71.1 archive, wrote thecurlmarker, started serve on 18080 after the port conflict,connect claude-codewrote a masked per-client credential. Details and the two prompt bugs it exposed inreview-log.md. Codex not exercised../scripts/test-api-e2e.shnot run: foreignmcpproxy servecores were running (live tray + another session) and the script's cleanup would kill them. The change touches no REST behavior beyond a newinstall_channelenum value/comment (swagger regenerated).installer-channel-test.ymlruns it on a disposable Windows runner for this PR (watch that check).Cross-model review (opencode
github-copilot/gpt-6.1-sol, high, read-only)ArchitecturesAllowed, pre-existing, winget unaffected)--global)status --web-url, verified)Full table:
specs/121-install-surfaces/review-log.md. The last round's fixes were verified by tests, not re-reviewed (one round past the cap is not needed; no open findings).One-time human steps (Algis)
Details in
docs/release-runbook.md→ "Windows package managers (one-time setup)". Until done, the Windows jobs skip with a notice; nothing fails.smart-mcp-proxy/scoop-bucket(any initial commit) and a fine-grained PAT with Contents read/write on it only → repo secretSCOOP_BUCKET_TOKEN.microsoft/winget-pkgs; classic PAT (public_repo) from the fork owner → repo secretWINGET_TOKEN.scripts/gen-winget-manifest.sh→wingetcreate submit); Microsoft review takes days–weeks. Thewingetjob takes over oncemanifests/s/smart-mcp-proxy/mcpproxyexists upstream.GET registry.modelcontextprotocol.io/v0/servers?search=mcpproxy&version=latestshowspackages; scoop bucket commit; docs/llms.txthas no/docs/…links.agent-install(it matchesgetting-started/**; sidebar entry is in this PR).install_channel(receiver already ignores unknown fields — verified inmcpproxy-telemetry/src/validation.ts); ARM64 Inno architecture directive; Personal Docker image (Spec 111) to replace the Server image in the registry entry;.mcpbbundle.Notes for reviewers
2026-10-22: merged
origin/main(conflicts in CLAUDE.md/ROADMAP/oas/docusaurus config/package.json resolved; my llms changes dropped in favour of main's). Windows CI failures on the first run were two real Windows-only bugs in my tests (path separators in the resolver test, CRLF in the installer-contract test), fixed in a3c586c.Spec number 121 (118 and 119 are taken by sibling branches;
schema_versiondeliberately not bumped to avoid colliding with them).The recovery workflow checks out the tag, so recovering a release cut before this merge has no
scripts/stamp-server-json.sh; releases after it are covered.🤖 Generated with Claude Code