Skip to content
Latest (currently 2026.8.0) has the newest features, bug fixes, and CVE patches of Solo Enterprise for agentregistry.

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

Build image or store source code

Page as Markdown

Build the Docker image for your MCP server project or store the source code in a GitHub repository.

Before you can add your MCP server to the Solo Enterprise for agentregistry catalog so that registry users can access and deploy the server to a connected environment, you must create a Docker image for the server or store the server’s source code in a GitHub repository. The method that you need to use depends on the environment that you plan to deploy your MCP server to.

Deployment targetExample providerDocker image vs. GitHub repo
AI runtimes in KubernetesSolo Enterprise for kagentBuild the Docker container image and push it to a container registry.
Agentic cloud platformsAWS Bedrock AgentCoreStore the Dockerfile and source code in a GitHub repository.

Before you begin

  1. Set up an OIDC provider so that users can authenticate with the registry.

  2. Install Solo Enterprise for agentregistry and the arctl CLI.

  3. Port-forward the Solo Enterprise for agentregistry server on port 12121 if you have not done so already. The registry is not exposed externally by default, so you need port-forwarding to reach it from your local machine.

    kubectl -n agentregistry-system port-forward svc/agentregistry-enterprise-server 12121:12121
  1. Create an MCP server.

Build the image

To run the MCP server in an environment, you need to build the MCP server Docker image.

  1. Review the image location and tag in your mcp.yaml file. The Docker image location is stored here and is used when you build and push the image.

    cat mymcp/mcp.yaml

    Example output:

    apiVersion: ar.dev/v1alpha1
    kind: MCPServer
    metadata:
      name: mymcp
    spec:
      description: mymcp MCP server
      source:
        package:
          launch:
            args:
            - type: positional
              value: src/main.py
            - type: positional
              value: --transport
            - type: positional
              value: http
            - type: positional
              value: --host
            - type: positional
              value: 0.0.0.0
            - type: positional
              value: --port
            - type: positional
              value: "3000"
            command: python3
          origin:
            identifier: localhost:5001/mymcp:latest
            oci:
              serverName: mymcp
            type: oci
          transport:
            path: /mcp
            port: 3000
            type: http
      title: mymcp
    

    Note

    By default, agentregistry uses localhost:5001 as the container registry and latest as the image tag, such as localhost:5001/mymcp:latest. If you want to use agentregistry to push images to your own container registry, update this file with the registry and image tag that you want to use. This update is not required if you want to build images locally only without pushing them to your container registry.

  2. Build the MCP server Docker image.

    arctl build mymcp

    Example output:

    Building MCP server image: localhost:5001/mymcp:latest
    Building Docker image for python project...
    #0 building with "desktop-linux" instance using docker driver
    
    #1 [internal] load build definition from Dockerfile
    #1 transferring dockerfile: 1.84kB 0.0s done
    #1 DONE 0.1s
    
    #2 [internal] load metadata for ghcr.io/astral-sh/uv:latest
    #2 ...
    
    #3 [auth] library/python:pull token for registry-1.docker.io
    ...
    #24 unpacking to localhost:5001/mymcp:latest 0.9s done
    #24 DONE 3.1s
    ✓ Successfully built Docker image: localhost:5001/mymcp:latest
    

    To also push the image to your container registry, include the --push option. You can also set the target platform with --platform, such as linux/amd64. You must log in to your container registry first, for example with docker login for DockerHub. For more information, see the arctl build command reference.

  3. If you did not push the image to a container registry, load the Docker image into your cluster. This step is required in local test setups such as kind to test the deployment of your MCP server. It is not required if you pushed the image to a container registry that your cluster can pull from.

    kind load docker-image localhost:5001/mymcp:latest --name <cluster-name>

Store source code

To deploy an MCP server to an agentic cloud platform, such as AWS Bedrock AgentCore, you must store the source code and Dockerfile for your MCP server in a GitHub repository. When you add your MCP server to the Solo Enterprise for agentregistry catalog, you provide the link to the GitHub repository. During the deployment to an agentic cloud platform, Solo Enterprise for agentregistry automatically compiles the source code into an image that is compatible to run on the cloud platform that you target.

Note

If you plan to use a private repository, you must configure your GitHub or GitLab credentials in Solo Enterprise for agentregistry before you can register or deploy the MCP server. For more information, see Private repo access.

Note

The steps in this guide assume that you want to create your own GitHub test repo and push the MCP server source code to it. Alternatively, you can use the sample repository that is provided by Solo.io. This repository contains the same MCP server source code that is generated when you follow the Create and run locally guide.

  1. Create a GitHub repository and get the URL to your repository, such as https://github.com/myorg/mymcp.git. For more information, see the GitHub docs.

  2. Install the git CLI.

  3. Link your local machine to your remote repository on GitHub.

    git remote add origin <github-repo-url>
  4. Push your MCP server source code and Dockerfile to GitHub.

    cd mymcp
    git checkout main
    git add -A
    git commit -m 'initial commit'
    git push origin main
  5. Go to your GitHub repository and verify that you see the files of your MCP server scaffold.

Next