Files
genai-toolbox/packages/testing.md
2026-01-09 14:32:43 +05:30

2.5 KiB

How to test on different platforms

  1. Create a local test registry. We are using Verdaccio. During the actual process, we publish to npm instead.

    # install
    npm install -g verdaccio
    
    # start server
    verdaccio
    

    The output will show the config file location and the URL. Open your browser to: http://localhost:4873

    Note: You can use npm unpublish > server-darwin-arm64@1.0.0 --force --registry http://localhost:4873 to unpublish the package.

  2. Pack all 4 packages and publish them to the local registry. Go in each package (eg. server-darwin-arm64) and run

    npm ci --force
    npm pack .
    

    Then publish to the local registry

    npm publish --registry http://localhost:4873
    
  3. Go to the server package and run

    npm ci --force
    npm pack .
    npm publish --registry http://localhost:4873
    

    Now, you have published your package.

  4. Now add a tools.yaml file to the server folder. It should look like this:

      sources:
        my-pg-source:
          kind: postgres
          host: 127.0.0.1
          port: 5432
          database: toolbox_db
          user: postgres
          password: password
      tools:
        search-hotels-by-name:
          kind: postgres-sql
          source: my-pg-source
          description: Search for hotels based on name.
          parameters:
            - name: name
              type: string
              description: The name of the hotel.
          statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';
      prompts:
        code-review:
          description: "Asks the LLM to analyze code quality and suggest improvements."
          messages:
            - role: "user"
              content: "Please review the following code for quality, correctness, and potential improvements: \n\n{{.code}}"
          arguments:
            - name: "code"
              description: "The code to review"
              required: true
    
  5. From the packages/server folder, run

    npx --registry=http://localhost:4873/ -y @toolbox-sdk/server
    

    This should start up the toolbox server with the tools.yaml file.

  6. Run the command to verify that the tools are available:

    curl --location 'http://127.0.0.1:5000/mcp/tools/list' \
    --header 'Content-Type: application/json' \
    --data '{
        "jsonrpc": "2.0",
        "method": "tools/list",
        "params": {},
        "id": 1
    }'