Install
$ agentstack add mcp-facetlayer-expect-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
expect-mcp
[](https://github.com/facetlayer/expect-mcp/actions/workflows/ci.yml) [](https://badge.fury.io/js/expect-mcp) [](https://opensource.org/licenses/MIT)
Custom test matchers for Vitest and Jest to write automated test assertions for Model Context Protocol (MCP) tools.
Features
- Custom Matchers: Adds
expect()matchers to assert on MCP interactions. - MCP Client: Implements a special MCP client with extra features for testing and validation.
Latest support
Currently the library supports:
- Testing MCP features: tools, resources, prompts.
- Testing stdin protocol servers.
- Integration with Vitest and Jest.
On the roadmap for future support:
- Planned: Testing HTTP services and Oauth.
- Planned: Testing for features: Discovery, Sampling, Roots, Elicitation.
Optional: Agentic Setup
If you're using a coding agent like Claude Code or Codex, you can use our builtin prompt to instruct the agent on how to use the library. Copy-paste this text as the prompt and it should do pretty well:
Run `npx -y expect-mcp@latest how-to-use` and follow the instructions to set up tests for this project.
Installation
Steps to install the library the normal way
npm install --save-dev expect-mcp
Or using other package managers:
# pnpm
pnpm add -D expect-mcp
# yarn
yarn add -D expect-mcp
Quick Start
Importing and using the library:
import { mcpShell } from 'expect-mcp';
import 'expect-mcp/vitest-setup'; // Install 'expect' matchers
it("the test", async () => {
const app = mcpShell('path/to/mcp-server');
await expect(app).toHaveTool('toolName');
await expect(app).toHaveResource('config.json');
const toolResult = await app.callTool('toolName', {});
expect(toolResult); // ... check the result
await app.close();
});
ESM / CommonJS Support
By default the library is ESM but we also include a CJS build. If your tests need to use CommonJS then import from expect-mcp/cjs. Example:
const { mcpShell } = require('expect-mcp/cjs');
require('expect-mcp/cjs/vitest-setup');
Documentation
See the Documentation site for the full API and more examples.
Requirements
- Node.js >= 20
- Vitest ^1.5.0 or Jest ^29.0.0
Feedback
For bugs or feature requests, please use GitHub Issues!
License
MIT License - see the [LICENSE](LICENSE) file for details.
Author
Related Projects
- Model Context Protocol - Learn more about MCP
- Vitest - Testing framework supported by this library
- Jest - Testing framework supported by this library
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: facetlayer
- Source: facetlayer/expect-mcp
- License: MIT
- Homepage: https://facetlayer.github.io/expect-mcp/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.