MCP server: One MCP server.

Val

@nyx-intelligenceMCP server · External

QA agent for vibecoded apps. Real browser checks, your AI fixes them. Ship to green.

Software testingv0.10.1JavaScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@nyx-intelligence/val-mcpv0.10.1

Run

npx -y @nyx-intelligence/val-mcp

MCP client config

{
  "mcpServers": {
    "val": {
      "command": "npx",
      "args": [
        "-y",
        "@nyx-intelligence/val-mcp"
      ]
    }
  }
}
README2 min read

Val QA scan — GitHub Action

Run Val, the QA agent for vibecoded apps, on every PR. Val drives a real browser against your preview URL, catches broken links, dead buttons, busted layouts, accessibility violations, and posts a report as a PR comment.

Requires a Val subscription

Val is a paid product. Get a license key at val.nyx-intelligence.com, store it as a repository secret (e.g. VAL_LICENSE_KEY), and pass it to the action.

Quick start

yaml
name: Val QA
on: pull_request

jobs:
  qa:
    runs-on: ubuntu-latest
    steps:
      - name: Deploy preview
        id: deploy
        # ... your preview deployment step (Vercel, Netlify, etc.) ...
        # outputs.url should be the preview URL

      - name: Val scan
        uses: nyx-intelligence/val-action@v1
        with:
          url: ${{ steps.deploy.outputs.url }}
          license-key: ${{ secrets.VAL_LICENSE_KEY }}
          devices: 'desktop,iPhone 14'
          fail-on: 'high'

Inputs

NameDefaultDescription
url(required)The URL Val should scan. Pass your preview deployment URL.
license-key(required)Your Val license key (vk_...). Get one at val.nyx-intelligence.com.
max-pages12Maximum same-origin pages to crawl.
devicesdesktopComma-separated device profiles, e.g. desktop,iPhone 14,Pixel 7.
fail-onhighSeverity that fails the action: high, medium, low, or never.
commenttruePost the report as a PR comment (true / false).
github-token${{ github.token }}Token used to post the PR comment.

Outputs

NameDescription
highNumber of high-severity findings.
mediumNumber of medium-severity findings.
lowNumber of low-severity findings.
report-pathPath to the raw report file.

What Val checks

  • Broken links and 4xx/5xx responses
  • Uncaught JS errors and console errors
  • Broken/missing images
  • Horizontal layout overflow on mobile
  • Clipped text in fixed containers
  • Cumulative Layout Shift (janky load)
  • A11y essentials: missing alt, unnamed buttons, unlabeled inputs, missing <html lang>
  • Multi-device: catches bugs that appear only on mobile or only on desktop

Permissions

The action needs pull-requests: write to post comments:

yaml
permissions:
  contents: read
  pull-requests: write

Similar modules

Browse Software testing