VAT
Your cart

Your cart is empty.

MCP Self-hosted download and zip contents

The MCP Self-hosted download is a zip built for one license, from My Account → MCP Self-hosted → Download. It holds docker-compose.yml, a pre-filled .env, .env.registry, mcp-update.sh, a README and a Claude Code plugin bundle. You need it once, for the first install. Add-ons and updates don’t need a new one.

Where do you get the MCP Self-hosted download?

The Download button sits next to the license key on My Account → MCP Self-hosted. It only appears while the license status is active. The button links to a signed URL that is valid for 24 hours; each page load creates a fresh one. The file is named mcp-core- followed by your license key and .zip.

The zip is built in the background and cached per license, entitlement set and version. When a build finishes, you get the email “Your MCP bundle for license … has finished building and is ready to download” with a Download now button.

Three messages can appear instead of the file:

  • “This download link is invalid or has expired.” (HTTP 403): the link is older than 24 hours. Reload the Licenses page and click Download again.
  • “This license is not currently active.” (HTTP 403): the license is suspended or expired. See MCP license renewal.
  • “The download is not ready yet. Please try again shortly.” (HTTP 404): the build is still running. Wait for the email.

What is inside the MCP Self-hosted download?

The MCP Self-hosted download contains no source code. Every tool is already in the mcp-core image; your license entitlements decide which ones load. The zip holds:

  • docker-compose.yml: one service, mcp-core, using the image from the AddoCore registry tagged with ${MCP_VERSION}. It publishes port 3200 on 127.0.0.1 only, mounts ./vault, ./state and ./logs, limits memory to 128 MB and restarts unless stopped.
  • .env: your license settings and empty lines for the add-on variables.
  • .env.registry: REGISTRY_USER and REGISTRY_TOKEN, the read-only login for the image registry.
  • mcp-update.sh: logs in, pulls the image and starts the container.
  • README.md: a short quick start.
  • claude-plugin/ and INSTALL-CLAUDE-PLUGIN.md: a ready-made Claude Code plugin pointed at this install.
  • empty vault/, state/ and logs/ folders for the mounts.

What does the .env in the MCP Self-hosted download contain?

The .env comes filled in except for the add-on variables. For a license with Missive it looks like this:

# Generated by AddoCore — do not commit this file.
LICENSE_KEY=<your license key>
LICENSE_ENDPOINT=<pre-filled>
AUTH_STRATEGY=apikey
BEARER_TOKEN=<token of the "Default install" connection>
MCP_VERSION=<version in this bundle>
SEAT_ID=<id of that connection>
HOSTED_SECRETS_ENDPOINT=<pre-filled>

# Missive
MISSIVE_API_TOKEN=
# MISSIVE_MODE=
# MISSIVE_FROM_ADDRESS=

Required variables are empty lines; optional ones are commented out. Fill in the required values, or leave them empty and enter them on the Tools tab of the license instead. The full install flow is in Install mcp-core, and connecting a client in Connect Claude to an MCP server.

When do you need a new MCP Self-hosted download?

You need a new MCP Self-hosted download in a few cases only:

  • the first install of a license
  • a new server where you don’t copy the old install folder
  • a lost .env file

You don’t need one when you:

  • buy an add-on: it is added to the license, and you get an email listing the variables it needs. Add them to .env or the Tools tab and run docker exec mcp-core npm run refresh-license, or wait for the next check.
  • update to a new version: run ./mcp-update.sh.
  • change credentials or add a seat: do that in My Account.

A fresh download comes with an empty state/ folder. On a new server that means a new instance id and a new activation. If you move servers, copy the whole folder including ./state to keep the existing activation.

How do updates work without a new download?

Run the update script from the install folder:

./mcp-update.sh

It logs in to the registry with .env.registry, pulls the image tag in MCP_VERSION and starts the container. MCP_VERSION is pinned to the version of your MCP Self-hosted download, so running the script again never jumps to a newer release by surprise. Set it to latest to always track the newest release, or to a specific number to roll back.

If the tag no longer exists, the script falls back to latest and writes that into .env. Any other pull error is shown as is and the script stops. The mcp_status tool tells you when a newer version is out, so the MCP Self-hosted download stays a one-time step.

What do you do when the registry login is renewed?

AddoCore rotates the registry token from time to time. You then get the email “Your MCP registry login has been renewed” with a refreshed .env.registry attached. Replace your existing file with the attachment and run ./mcp-update.sh to confirm the new login works. Your running install keeps working in the meantime; docker-compose.yml and .env stay as they are.

How do you install the Claude Code plugin from the MCP Self-hosted download?

From the install folder, run these two commands inside Claude Code:

/plugin marketplace add ./claude-plugin
/plugin install mcp-core@claude-plugin

The token in claude-plugin/.mcp.json is the one that was valid when the zip was built. If you regenerate that seat’s token, update the Authorization header in that file too. Free skills are a separate download under My Account → Skills and need no license.

Keep the MCP Self-hosted download folder, especially .env and ./state, and you rarely need the Download button again. Next, read MCP license management to manage seats and credentials from your account.

Ready to connect your AI to real tools?

Start free trial