{"_id":"@blackwell-systems/vitest-mcp-assert","_rev":"2-5c7e3c7c372e63231bab2cbb68857bee","name":"@blackwell-systems/vitest-mcp-assert","dist-tags":{"latest":"0.12.3"},"versions":{"0.12.2":{"name":"@blackwell-systems/vitest-mcp-assert","version":"0.12.2","keywords":["vitest","mcp","model-context-protocol","testing","assertions","mcp-assert"],"author":{"name":"Dayna Blackwell"},"license":"MIT","_id":"@blackwell-systems/vitest-mcp-assert@0.12.2","maintainers":[{"name":"daynajblackwell","email":"dayna@blackwell-systems.com"}],"homepage":"https://github.com/blackwell-systems/mcp-assert#readme","bugs":{"url":"https://github.com/blackwell-systems/mcp-assert/issues"},"dist":{"shasum":"8bae912f559b5021f08279a82dcbbc95a954f8f6","tarball":"https://registry.npmjs.org/@blackwell-systems/vitest-mcp-assert/-/vitest-mcp-assert-0.12.2.tgz","fileCount":12,"integrity":"sha512-VaRvfwJVRThau6ckwmmZIrsE2p4Jm+b8gEdL5htZmIoHWPFQCxqaLDDTJPM9BCwl6VjSn4MILF1RUcm0qECvnw==","signatures":[{"sig":"MEUCICu16bY80gC0jCsIB/HbNyA+A4zCSFlSeQfsWAmsiOK6AiEAweNIW2t8GmlrRzKsHuFWsgOViV9G87w7wK1oGKAoSOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13982},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c71b2438751ebddcb96fa6429281feb7c0aec8aa","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"daynajblackwell","email":"dayna@blackwell-systems.com"},"repository":{"url":"git+https://github.com/blackwell-systems/mcp-assert.git","type":"git","directory":"vitest-plugin"},"_npmVersion":"10.8.2","description":"Vitest integration for mcp-assert: run MCP server assertion YAML files as Vitest tests","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"vitest":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vitest-mcp-assert_0.12.2_1780555923633_0.15702171763737094","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@blackwell-systems/vitest-mcp-assert","version":"0.12.3","description":"Vitest integration for mcp-assert: run MCP server assertion YAML files as Vitest tests","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["vitest","mcp","model-context-protocol","testing","assertions","mcp-assert"],"author":{"name":"Dayna Blackwell"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blackwell-systems/mcp-assert.git","directory":"vitest-plugin"},"peerDependencies":{"vitest":">=1.0.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.5.0","vitest":"^3.0.0"},"_id":"@blackwell-systems/vitest-mcp-assert@0.12.3","gitHead":"927afecba3edcd90270816884757ebecb7056a01","bugs":{"url":"https://github.com/blackwell-systems/mcp-assert/issues"},"homepage":"https://github.com/blackwell-systems/mcp-assert#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-C7VcuG8mwgUX3+4jP1e+7gUW62BmEpnM41oKjIGptUM+y+qkSuukAFfXThkwQIVUESlL9wPqkAevn8KfUZRpMQ==","shasum":"907d98331f23692d6b090d850d78bc0d842e301d","tarball":"https://registry.npmjs.org/@blackwell-systems/vitest-mcp-assert/-/vitest-mcp-assert-0.12.3.tgz","fileCount":12,"unpackedSize":13982,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICLfzokFDSITP669UJoInSm5SkT2ISUMPmq50xIXSNcWAiEAqNlSmzPcZElWuuZaY0Yztgzp3pskP3yBleXSRAjpmdE="}]},"_npmUser":{"name":"daynajblackwell","email":"dayna@blackwell-systems.com"},"directories":{},"maintainers":[{"name":"daynajblackwell","email":"dayna@blackwell-systems.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vitest-mcp-assert_0.12.3_1780601763871_0.20791241359310542"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T06:52:03.421Z","modified":"2026-06-04T19:36:04.111Z","0.12.2":"2026-06-04T06:52:03.795Z","0.12.3":"2026-06-04T19:36:04.015Z"},"bugs":{"url":"https://github.com/blackwell-systems/mcp-assert/issues"},"author":{"name":"Dayna Blackwell"},"license":"MIT","homepage":"https://github.com/blackwell-systems/mcp-assert#readme","keywords":["vitest","mcp","model-context-protocol","testing","assertions","mcp-assert"],"repository":{"type":"git","url":"git+https://github.com/blackwell-systems/mcp-assert.git","directory":"vitest-plugin"},"description":"Vitest integration for mcp-assert: run MCP server assertion YAML files as Vitest tests","maintainers":[{"name":"daynajblackwell","email":"dayna@blackwell-systems.com"}],"readme":"# @blackwell-systems/vitest-mcp-assert\n\nVitest integration for [mcp-assert](https://github.com/blackwell-systems/mcp-assert). Run MCP server assertion YAML files as Vitest tests.\n\n## Install\n\n```bash\nnpm install -D @blackwell-systems/vitest-mcp-assert @blackwell-systems/mcp-assert\n```\n\nThe `@blackwell-systems/mcp-assert` package provides the mcp-assert binary. Alternatively, install it via Homebrew (`brew install blackwell-systems/tap/mcp-assert`) or Go (`go install github.com/blackwell-systems/mcp-assert@latest`).\n\n## Usage\n\n### Suite mode (recommended)\n\nCreate a test file that auto-discovers all YAML assertions in a directory:\n\n```ts\n// mcp.test.ts\nimport { describeMcpSuite } from '@blackwell-systems/vitest-mcp-assert'\n\ndescribeMcpSuite('mcp server assertions', 'evals/')\n```\n\nEach `.yaml` file becomes a separate test, named from the YAML's `name:` field:\n\n```\n ✓ mcp server assertions > echo returns the input message (1204ms)\n ✓ mcp server assertions > greet says hello (1156ms)\n ✗ mcp server assertions > broken tool handles error gracefully (1089ms)\n```\n\n### Single assertion mode\n\nFor more control, import `runMcpAssert` directly:\n\n```ts\n// mcp.test.ts\nimport { test } from 'vitest'\nimport { runMcpAssert } from '@blackwell-systems/vitest-mcp-assert'\n\ntest('echo tool', () => runMcpAssert('evals/echo.yaml'))\ntest('greet tool', () => runMcpAssert('evals/greet.yaml', { timeout: '60s' }))\n```\n\n### Options\n\nBoth `describeMcpSuite` and `runMcpAssert` accept an options object:\n\n```ts\n{\n  fixture?: string   // Fixture directory (substituted for {{fixture}})\n  server?: string    // Override server command\n  timeout?: string   // Per-assertion timeout (default: \"30s\")\n  binary?: string    // Path to mcp-assert binary (default: auto-detect)\n}\n```\n\n### YAML assertion format\n\n```yaml\nname: echo returns the input message\nserver:\n  command: node\n  args:\n    - build/index.js\nassert:\n  tool: echo\n  args:\n    message: hello\n  expect:\n    contains:\n      - hello\ntimeout: 30s\n```\n\nSee [mcp-assert documentation](https://blackwell-systems.github.io/mcp-assert/) for the full assertion reference (14 assertion types, resources, prompts, trajectories, and more).\n\n## Binary resolution\n\nThe plugin finds `mcp-assert` using a 3-tier strategy:\n\n1. Explicit `binary` option\n2. `mcp-assert` on `PATH`\n3. `@blackwell-systems/mcp-assert` npm package\n\n## License\n\nMIT\n","readmeFilename":"README.md"}