Skip to main content
Testing authentication is critical for MCP servers that require authorization. The auth fixture provides tools for creating test tokens, testing expiration, and validating scope enforcement.

Why Test Authentication?

Authentication tests verify that your server:
  • Rejects requests without valid tokens
  • Accepts requests with valid tokens
  • Enforces token expiration
  • Validates token signatures
  • Respects scope-based permissions

Creating Test Tokens

The auth fixture generates real JWT tokens using RS256 signing:

Token Options

Custom Claims

Add any custom claims your server needs:

Pre-built Test Users

The auth fixture includes pre-configured test users for common scenarios:

User Definitions


Testing Token Expiration

Expired Tokens

Short-Lived Tokens


Testing Invalid Tokens

Invalid Signature

Malformed Token


Testing Scope Enforcement

Scope-Based Access Control

Testing Multiple Scopes


JWKS Integration

For servers that verify tokens against JWKS endpoints:

Testing Auth Modes

Public Mode (No Auth)

Orchestrated Mode (Auth Required)


Real-World Examples

Testing User Isolation

Testing Admin Operations


Best Practices

Do:
  • Test both positive (valid token) and negative (invalid/expired) cases
  • Test scope enforcement for all protected operations
  • Use pre-built test users for common scenarios
  • Clean up created clients after multi-user tests
Don’t:
  • Hard-code tokens in tests (always use auth.createToken())
  • Skip expiration testing
  • Assume scopes are enforced without testing
  • Forget to test anonymous access for public endpoints