Documentation Index
Fetch the complete documentation index at: https://docs.agentfront.dev/llms.txt
Use this file to discover all available pages before exploring further.
@frontmcp/testing is the official testing library for FrontMCP, providing a complete toolkit for end-to-end testing of MCP servers. Test your tools, resources, prompts, authentication, plugins, and the full MCP protocol.
Fixture-Based
Playwright-inspired fixtures inject ready-to-use test clients
Full Protocol
Test tools, resources, prompts, and raw JSON-RPC
Offline Testing
Mock HTTP calls for fully offline test suites
Installation
@frontmcp/testing requires @frontmcp/sdk as a peer dependency and uses Jest as the test runner.Quick Start
1. Configure Jest
Thefrontmcp test command auto-generates the correct Jest/SWC config. No manual jest.e2e.config.ts needed.
2. Write Your First Test
Use the.e2e.spec.ts extension for E2E tests (not .e2e.ts):
server.e2e.spec.ts
3. Run Tests
- Starts your FrontMCP server on the specified port
- Connects an MCP client using Streamable-HTTP transport
- Runs your tests with injected fixtures
- Cleans up after all tests complete
Key Features
Fixture System
Tests receive pre-configured fixtures via dependency injection:| Fixture | Description |
|---|---|
mcp | Auto-connected MCP client for making requests |
server | Server control (restart, logs, create additional clients) |
auth | Token factory for authentication testing |
Custom Jest Matchers
MCP-specific matchers for cleaner assertions:HTTP Mocking
Mock external HTTP calls for offline testing.
Important: httpMock intercepts HTTP in the test process only, NOT in the MCP server subprocess. Do not use httpMock to intercept server-to-API calls — those happen in the child process. Use httpMock for verifying client-to-server request shapes or mocking external APIs called from the test itself.
MCP Request Interception
Mock or modify MCP protocol requests:Test Configuration
Configure tests usingtest.use():
Demo E2E reference suites
The repository ships scenario-focused Nx projects underapps/e2e/**. Each server mirrors a real deployment surface (auth modes, caching, CodeCall, OpenAPI ingestion, notifications) and already includes Jest suites wired to @frontmcp/testing.
Source layout: server code lives in
apps/e2e/<project>/src, with matching tests in apps/e2e/<project>/e2e. Copy a project into your workspace or point TestServer at it during CI runs.demo-e2e-public– minimal Notes + Tasks server that enforces public auth defaults and anonymous scopes.demo-e2e-codecall– CRM sample that groups eight CRUD tools behind the CodeCall plugin and the newcrm.store.ts.demo-e2e-openapi– OpenAPI adapter smoke tests with built-in HTTP mocking examples.demo-e2e-cache– Cache plugin playground for validating cache hits/misses plus execution tracking resources.
apps/e2e/demo-e2e-public/e2e/public-auth.e2e.spec.ts
Next Steps
Test Fixtures
Deep dive into the fixture system and available APIs
Custom Matchers
Full reference for all MCP-specific Jest matchers
Auth Testing
Test authentication flows with token generation
HTTP Mocking
Mock external API calls for offline testing