MCP-Bastion Documentation
Package registry status
Last checked: 2026-07-31
Goal: Every language can install from a public registry without downloading GitHub Release assets locally (many orgs block that).
Status matrix
| Package | Registry | Version | Public download? | Notes |
|---|---|---|---|---|
mcp-bastion-python |
PyPI | 4.0.0 | YES | pip install mcp-bastion-python==4.0.0 |
25× mcp-bastion-* integrations |
PyPI | 4.0.0 | YES | e.g. mcp-bastion-openai, mcp-bastion-litellm, mcp-bastion-fastmcp, … |
ghcr.io/vaquarkhan/mcp-bastion-proxy |
GHCR | v4.0.0 | YES | Public container |
ghcr.io/vaquarkhan/mcp-bastion-dashboard |
GHCR | v4.0.0 | YES | Public container |
ghcr.io/vaquarkhan/mcp-bastion-suite |
GHCR | 0.1.0 | YES | Public container |
Go …/adapters/go |
proxy.golang.org | v0.1.0 | YES | go get …@v0.1.0 |
@mcp-bastion/core |
npmjs.org | — | NO | Never bootstrapped; needs NPM_TOKEN once |
@vaquarkhan/mcp-bastion-suite |
npmjs.org | — | NO | Only GitHub Packages (401 without PAT) |
io.github.vaquarkhan:mcp-bastion-suite |
Maven Central | — | NO | numFound=0; JAR only on GH Release / private GH Packages |
McpBastionSuite |
NuGet.org | — | NO | Only GitHub Packages / Release .nupkg |
| GitHub Packages (Maven/npm/NuGet) | maven/npm.pkg.github.com | 0.1.0 | NO (401) | Not usable without read:packages PAT |
What works today in locked-down orgs
## Engine + integrations (recommended for everyone)
pip install "mcp-bastion-python==4.0.0"
pip install "mcp-bastion-openai==4.0.0"
## Boundary / CLI without language adapters
docker pull ghcr.io/vaquarkhan/mcp-bastion-proxy:v4.0.0
docker pull ghcr.io/vaquarkhan/mcp-bastion-suite:0.1.0
## Go adapter (public module proxy)
go get github.com/vaquarkhan/mcp-bastion-suite/adapters/go@v0.1.0
Java / TypeScript / .NET cannot currently resolve from Maven Central / npmjs / NuGet.org. Point those stacks at the Docker proxy + shared bastion.yaml until public packages exist:
docker run --rm -p 8080:8080 -v "$PWD/bastion.yaml:/config/bastion.yaml" \
ghcr.io/vaquarkhan/mcp-bastion-suite:0.1.0 serve --proxy --config /config/bastion.yaml
Gaps to publish (action required)
1. npm @mcp-bastion/core (MCP-Bastion repo)
- Create granular npm token (read/write).
- Repo secret
NPM_TOKENonvaquarkhan/MCP-Bastion. - Actions → Build, Test, and Publish MCP-Bastion → publish=true (or push
v*tag). - Configure Trusted Publisher on npmjs.com (see PUBLISHING_NPM_AND_REGISTRY.md).
2. Java → Maven Central (io.github.vaquarkhan:mcp-bastion-suite)
GitHub Packages is not enough for orgs that block PAT / local JAR install. Need:
- Sonatype Central Portal account for
io.github.vaquarkhan(same group already used for other artifacts). - Secrets on
mcp-bastion-suite: e.g.CENTRAL_USERNAME/CENTRAL_TOKEN(or OSSRH pair). - Extend Publish language adapters workflow to deploy with
central-publishing-maven-plugin(ormvn deployto Central). - Cut a new version (e.g.
0.1.1) so Central gets a clean publish.
3. TypeScript suite → npmjs.org (@vaquarkhan/mcp-bastion-suite or @mcp-bastion/suite)
- Prefer scope
@mcp-bastionon npmjs (public) or publish@vaquarkhan/…with npm access. - Secret
NPM_TOKENonmcp-bastion-suite. - Change adapter publish job
registry-urlfromnpm.pkg.github.com→https://registry.npmjs.org.
4. .NET → NuGet.org (McpBastionSuite)
- Create nuget.org API key.
- Secret
NUGET_API_KEYonmcp-bastion-suite. - Push with
dotnet nuget push --source https://api.nuget.org/v3/index.json.
5. Optional interim: public GitHub Packages
If Central/npmjs/nuget.org take time, set each GH Package visibility to Public (UI or PACKAGES_TOKEN with write:packages). Still often blocked in enterprises that only allow Maven Central / npmjs / nuget.org.
Verify script
python scripts/verify_package_registries.py
Exits non-zero if any expected public package is missing.
Related
- Suite publishing: https://github.com/vaquarkhan/mcp-bastion-suite/blob/main/docs/PUBLISHING.md
- npm bootstrap: PUBLISHING_NPM_AND_REGISTRY.md
- Multi-language install: MULTI_LANGUAGE_SUITE.md