Skip to content

Latest commit

 

History

History
83 lines (57 loc) · 2.28 KB

File metadata and controls

83 lines (57 loc) · 2.28 KB

NemoCheck External Plugin

This is an external plugin deployment for the NemoCheck guardrails adapter. It references the core NemoCheck implementation from the nemocheck plugin directory.

Architecture

  • Core Implementation: plugins/examples/nemocheck/plugin.py contains the actual NemoCheck logic
  • External Deployment: This directory (nemocheck_external) configures and deploys the plugin as an external MCP server
  • Shared Logic: The config references nemocheck to use the core implementation without code duplication
  • Container Build: The Containerfile copies the nemocheck directory during build to include the core implementation

Run plugin in kind cluster

  1. Run NeMo Guardrails check server. Instructions are the same as in the internal plugin here

  2. Update DEFAULT_GUARDRAILS_SERVER_URL variable in k8deploy/deploy.yaml to point to guardrails check server endpoint

    cd plugins-adapter/plugins/examples/nemocheck_external
    make deploy
  3. Non-kind k8 cluster instructions
        cd plugins-adapter/plugins/examples/nemocheck_external
        make deploy
        make container-build
        # push image to your container repo and update image name in k8deploy/deploy.yaml
        kubectl apply -f k8deploy/deploy.yaml
    
  4. Update plugin adapter to call this as an external plugin

cd ../../.. #project root directory plugins-adapter`
cp resources/config/external_plugin_nemocheck.yaml resources/config/config.yaml
make all

Plugin Development

To install dependencies with dev packages (required for linting and testing):

make install-dev

Alternatively, you can also install it in editable mode:

make install-editable

Setting up the development environment

  1. Copy .env.template .env
  2. Enable plugins in .env

Runtime (server)

This project uses chuck-mcp-runtime to run external plugins as a standardized MCP server.

To build the container image:

make build

To run the container:

make start

To stop the container:

make stop