@dilina0914/http-capture-mcp
v1.4.0
Published
MCP server for capturing HTTP traffic using headless Playwright browser automation
Maintainers
Readme
HTTP Capture MCP Server
A Model Context Protocol (MCP) server for capturing HTTP traffic using headless Playwright browser automation. Provides 20 tools for page interaction, navigation search, form handling, and API capture - primarily used for verification and complex UI patterns when code analysis alone isn't sufficient.
What's New in 1.4.0
Documentation Alignment
- Workflow Consistency: Fully aligned with
sar-test-mcpv1.4.0 and sequential test execution workflow - Debug Workflow Updates: Enhanced guidance for dropdown/LOV verification in one-by-one test debugging
- Best Practices: Updated examples reflect sequential test execution and fix propagation patterns
What's New in 1.2.0 (Previous Release)
Navigation Search & Disambiguation
- 🔍 Navigation Search: New
searchNavigationtool types into search field and triggers search automatically - 🎯 Smart Page Navigation: New
navigateToPagetool handles disambiguation when multiple pages have same name - 📍 Path-Based Selection: Select correct page by specifying navigation path (e.g., "Inventory/Inventory Part" vs "Sales/Sales Part")
- 🔄 Auto-Search Trigger: Automatically presses Enter or clicks search button to trigger search
IFS Cloud Authentication & Navigation
- 🔐 Automatic IFS Cloud Login: New
loginIfsCloudtool handles Keycloak authentication automatically - 🎯 Landing Page Navigation: Automatic detection and selection of IFS Cloud tiles on application landing pages
- 🔑 Smart Credential Management: Credentials automatically sourced from tool parameters, environment variables (
IFS_USERNAME,IFS_PASSWORD), or HTTP auth (HTTP_USERNAME,HTTP_PASSWORD) - 🚀 One-Command Workflow:
openUrlwithautoSelectIfsCloudTile: trueautomatically handles landing page navigation
Documentation & Alignment
- Generic Examples: All examples now use generic placeholders applicable across all IFS Cloud modules
- Workflow Consistency: Fully aligned with
sar-test-mcpv1.2.0 andopenapi-mcpv1.2.0 - Debug Workflow: Enhanced guidance for dropdown/LOV verification and network comparison
- Authentication Examples: Added comprehensive IFS Cloud authentication scenarios
What's New in 1.1.0 (Previous Release)
Workflow Alignment
- Fully aligned with
sar-test-mcpv1.1.0 andopenapi-mcpv1.1.0 - Integrated with enhanced self-learning system and Phase 0 workflow
- Supports debug workflow for dropdown/LOV verification
Role in Debug Workflow
- Browser Verification: Open forms to verify dropdown/LOV allowed values
- Debugging Tool: Capture network calls when test failures occur
- LOV Value Discovery: Navigate to pages and inspect dropdown options
- Network Comparison: Compare browser traffic with test API calls
Documentation Updates
- Updated integration examples for v1.1.0 MCP configuration
- Enhanced troubleshooting for dropdown/LOV debugging scenarios
What's New in 9.0.0
Alignment & Workflow Integration
✅ Complete System Alignment
- Fully aligned with
sar-test-mcpv9.0.0 andopenapi-mcpv9.0.0 - Integrated into updated 13-phase (updated to 15-phase in v12.0.0) test generation workflow
- Used only when code analysis confidence <95% (following
recommendCaptureStrategy)
📚 Documentation Updates
- Updated examples to reflect code-first approach with browser fallback
- Clarified when browser automation should be used
- Enhanced environment variable documentation
🔐 Default Credentials
- Environment variables work seamlessly with new workflow
- Automatic authentication reduces manual steps
- Streamlined browser capture sessions
What's New in 8.0.0
Documentation & Setup
📚 Complete Documentation Overhaul
- Comprehensive README with accurate feature descriptions
- Clear integration instructions for VS Code, Cursor, Claude Desktop, and local development
- Detailed troubleshooting guide
- Complete tool reference with examples
🔐 Default Credentials Support (from 7.0.0)
- Configure default server URL, username, and password via environment variables
- Automatic authentication without passing credentials in every tool call
- Streamlined browser automation workflow
Features
🎯 Browser Automation
- 17 powerful tools for complete browser control
- Headless or visible mode for debugging
- Session management with isolated browser contexts
- HTTP traffic capture with full request/response payloads
📋 Form Interactions
- Fill text inputs, select dropdowns, check boxes
- Multi-field form filling with
fillForm - Form field discovery with
getFormFields - Form submission with validation
🔍 API Capture
- Intercept all HTTP requests/responses
- Filter by URL pattern or method
- Capture payloads and headers
- Track request duration and timestamps
📸 Debugging Tools
- Take screenshots (full page or viewport)
- Execute JavaScript in page context
- Get page info (title, URL, visible elements)
- Wait for selectors or modals
Configuration
Environment Variables:
IFS_USERNAME- Default IFS Cloud username for authenticationIFS_PASSWORD- Default IFS Cloud password for authenticationHTTP_USERNAME- HTTP Basic/NTLM authentication usernameHTTP_PASSWORD- HTTP Basic/NTLM authentication passwordDEFAULT_SERVER_URL- Default IFS Cloud server URLDEFAULT_USERNAME- Legacy default username (use IFS_USERNAME instead)DEFAULT_PASSWORD- Legacy default password (use IFS_PASSWORD instead)BROWSER_HEADLESS- Run browser in headless mode (true/false)MAX_CAPTURE_SIZE_MB- Max response body size to captureMAX_SESSIONS- Maximum concurrent browser sessions
Security
- Header redaction (Authorization, Cookie, etc.)
- Body redaction for passwords and tokens
- Session isolation with fresh browser contexts
- Audit logging for all operations
- Configurable domain allowlist
Use Cases
- Browser-Based Test Generation: When code analysis confidence is <95%
- API Discovery: Navigate IFS Cloud pages and capture API calls
- Complex UI Patterns: Handle dynamic forms and modals
- Verification: Validate code analysis results with actual browser behavior
- Debugging: Capture HTTP traffic to debug API issues
Prerequisites
- Node.js v20.0.0 or higher
- npm or pnpm package manager
- Playwright browsers (see installation below)
Package Information
This package is fully bundled - all internal dependencies are included.
| Property | Value | |----------|-------| | Bundle Size | ~63 KB | | Node.js | ≥20.0.0 | | Module Type | ESM | | TypeScript | Included |
Peer Dependencies
The following dependencies are required and must be installed separately:
# Required: Install Playwright
npm install playwright
npx playwright install chromium
# Auto-installed when using npx
@modelcontextprotocol/sdk ^1.0.0Note: Playwright browsers (~200MB) need to be installed separately. Run npx playwright install chromium after installation.
Integration Options
Choose the integration method that works best for your workflow:
Option 1: VS Code Integration
Integrate the MCP server into VS Code to use HTTP capture tools directly in your editor.
Step 1: Create the MCP configuration folder
In your project root directory, create a .vscode folder:
mkdir .vscodeStep 2: Create the MCP configuration file
Inside the .vscode folder, create a file named mcp.json with the following content:
{
"servers": {
"http-capture": {
"command": "npx",
"args": [
"-y",
"@dilina0914/[email protected]"
],
"env": {
"BROWSER_HEADLESS": "true",
"LOG_LEVEL": "info",
"MAX_CAPTURE_SIZE_MB": "10"
}
}
}
}Step 3: Configure environment variables
| Variable | Description | Required | Default |
|----------|-------------|----------|---------|
| BROWSER_HEADLESS | Run browser in headless mode | No | true |
| IFS_USERNAME | Default IFS Cloud username for authentication | No | - |
| IFS_PASSWORD | Default IFS Cloud password for authentication | No | - |
| HTTP_USERNAME | HTTP Basic/NTLM authentication username | No | - |
| HTTP_PASSWORD | HTTP Basic/NTLM authentication password | No | - |
| DEFAULT_SERVER_URL | Default IFS Cloud server URL for browser automation | No | - |
| LOG_LEVEL | Logging level (debug, info, warn, error) | No | info |
| MAX_CAPTURE_SIZE_MB | Max response body size to capture in MB | No | 10 |
| MAX_SESSIONS | Maximum concurrent browser sessions | No | 5 |
| AUDIT_LOG_ENABLED | Enable audit logging | No | true |
| AUDIT_LOG_DIR | Audit log directory | No | ./logs/audit |
Note: Setting IFS_USERNAME, IFS_PASSWORD, HTTP_USERNAME, HTTP_PASSWORD allows automatic authentication without passing credentials in every tool call. Use IFS_* variables for Keycloak/IFS Cloud auth and HTTP_* variables for HTTP Basic/NTLM auth.
Step 4: Restart VS Code
Close and reopen VS Code to load the MCP server configuration.
Option 2: Cursor IDE Integration
Cursor IDE has built-in support for MCP servers, making integration straightforward.
Step 1: Open Cursor Settings
- Open Cursor IDE
- Go to Settings (File > Preferences > Settings or Ctrl/Cmd + ,)
- Search for "MCP" or navigate to the MCP configuration section
Step 2: Add MCP Server Configuration
In the MCP settings, add a new server with the following configuration:
{
"mcpServers": {
"http-capture": {
"command": "npx",
"args": [
"-y",
"@dilina0914/[email protected]"
],
"env": {
"BROWSER_HEADLESS": "true",
"IFS_USERNAME": "your_username",
"IFS_PASSWORD": "your_password",
"HTTP_USERNAME": "http_basic_user",
"HTTP_PASSWORD": "http_basic_pass",
"DEFAULT_SERVER_URL": "https://your-ifs-cloud-server.com",
"LOG_LEVEL": "info",
"MAX_CAPTURE_SIZE_MB": "10"
}
}
}
}With default credentials configured, the openUrl tool can automatically handle authentication and the loginIfsCloud tool can log in without passing credentials each time.
Example with visible browser (for debugging):
{
"mcpServers": {
"http-capture": {
"command": "npx",
"args": ["-y", "@dilina0914/[email protected]"],
"env": {
"BROWSER_HEADLESS": "false",
"LOG_LEVEL": "debug"
}
}
}
}Step 3: Save and Restart
Save the configuration and restart Cursor IDE to activate the MCP server.
Option 3: Claude Desktop Integration
Add to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"http-capture": {
"command": "npx",
"args": ["-y", "@dilina0914/[email protected]"],
"env": {
"BROWSER_HEADLESS": "true",
"LOG_LEVEL": "info"
}
}
}
}Option 4: Local Development
Run the server directly for development or testing.
Step 1: Install the package
npm install @dilina0914/http-capture-mcpStep 2: Install Playwright browsers
npx playwright install chromiumStep 3: Configure environment variables
Windows (PowerShell):
$env:BROWSER_HEADLESS = "true"
$env:LOG_LEVEL = "info"
$env:MAX_CAPTURE_SIZE_MB = "10"Windows (Command Prompt):
set BROWSER_HEADLESS=true
set LOG_LEVEL=info
set MAX_CAPTURE_SIZE_MB=10Linux/macOS:
export BROWSER_HEADLESS="true"
export LOG_LEVEL="info"
export MAX_CAPTURE_SIZE_MB="10"Step 4: Run the server
npx @dilina0914/http-capture-mcpQuick Troubleshooting
Browser Not Found
Error: browserType.launch: Executable doesn't exist
Solution:
- Install Playwright browsers:
npx playwright install chromium - Ensure you have sufficient disk space
- On Linux, install required dependencies:
npx playwright install-deps
Page Not Loading
Error: Navigation timeout or page not responding
Solution:
- Check the URL is correct and accessible
- Increase timeout if the page loads slowly
- Verify network connectivity
- Check if the site blocks automated browsers
Session Not Found
Error: Session not found: <sessionId>
Solution:
- Ensure you're using the correct session ID from
openUrl - Check if the session was closed or timed out
- Use
listSessionsto see active sessions
Selector Not Found
Error: Element not found or Timeout waiting for selector
Solution:
- Verify the CSS selector is correct
- Use
getPageInfoto see visible elements on the page - Wait for the element to appear with
waitForSelector - Try alternative selectors (text, data attributes, etc.)
Memory Issues
Error: Out of memory or browser crashes
Solution:
- Reduce
MAX_CAPTURE_SIZE_MBto capture smaller responses - Close unused sessions with
closeBrowser - Reduce
MAX_SESSIONSlimit - Restart the server periodically
Environment Variable Issues
Error: Configuration not applied
Solution:
- Restart your IDE after setting environment variables
- For VS Code/Cursor: Ensure variables are in the
mcp.jsonfile - Verify the JSON syntax in your configuration file
What's Included
MCP Tools (20 total)
Session Management
| Tool | Description |
|------|-------------|
| openUrl | Opens URL and starts capturing HTTP traffic. Auto-selects IFS Cloud tiles on landing pages. |
| closeBrowser | Closes browser session and clears captured data |
| listSessions | Lists all active capture sessions |
| clearCapturedRequests | Clears captured requests for a session |
Authentication & Navigation
| Tool | Description |
|------|-------------|
| loginIfsCloud | Logs into IFS Cloud with Keycloak authentication and auto-selects IFS Cloud tile |
| searchNavigation | Searches for pages in IFS Cloud navigation and returns results with paths |
| navigateToPage | Navigates to a specific page with disambiguation support when multiple pages have same name |
Page Interaction
| Tool | Description |
|------|-------------|
| click | Clicks an element by CSS selector or text content |
| fill | Fills an input field with text |
| type | Types text with keyboard events (useful for autocomplete) |
| selectOption | Selects option in a dropdown/select element |
| check | Checks a checkbox or radio button |
| uncheck | Unchecks a checkbox |
| pressKey | Presses a keyboard key (Enter, Tab, Escape, etc.) |
| waitForSelector | Waits for an element to appear on the page |
| waitForModal | Waits for a modal/dialog to appear |
Form Handling
| Tool | Description |
|------|-------------|
| fillForm | Fills multiple form fields at once |
| getFormFields | Gets all form fields in a container |
| submitForm | Submits a form by clicking submit button or pressing Enter |
Data Capture
| Tool | Description |
|------|-------------|
| getCapturedRequests | Gets all captured HTTP requests with filters |
| getPageInfo | Gets page URL, title, and visible elements |
| screenshot | Takes a screenshot of the page |
| evaluate | Executes JavaScript in the page context |
Captured Request Data
For each intercepted HTTP request, the following data is captured:
| Field | Description |
|-------|-------------|
| method | HTTP method (GET, POST, PUT, DELETE, etc.) |
| url | Full request URL |
| requestHeaders | Request headers (sensitive headers redacted) |
| requestBody | Request payload (for POST/PUT/PATCH) |
| responseStatus | HTTP status code |
| responseHeaders | Response headers |
| responseBody | Response body (up to MAX_CAPTURE_SIZE_MB) |
| duration | Request duration in milliseconds |
| timestamp | ISO timestamp of the request |
Tool Examples
Open URL and Capture Traffic
{
"tool": "openUrl",
"arguments": {
"url": "https://example.com/login",
"waitForNetworkIdle": true
}
}Response:
{
"sessionId": "session-abc123",
"pageTitle": "Login - Example",
"pageUrl": "https://example.com/login",
"capturedRequests": 5
}Click Button and Capture API
{
"tool": "click",
"arguments": {
"sessionId": "session-abc123",
"selector": "#submit-button"
}
}Fill a Form
{
"tool": "fillForm",
"arguments": {
"sessionId": "session-abc123",
"containerSelector": "#loginForm",
"fieldsJson": "[{\"selector\": \"#username\", \"value\": \"[email protected]\"}, {\"selector\": \"#password\", \"value\": \"secret\", \"type\": \"password\"}]"
}
}Select Dropdown Option
{
"tool": "selectOption",
"arguments": {
"sessionId": "session-abc123",
"selector": "#country",
"value": "US"
}
}Get Captured API Requests
{
"tool": "getCapturedRequests",
"arguments": {
"sessionId": "session-abc123",
"filterUrl": "api",
"filterMethod": "POST"
}
}Response:
{
"requests": [
{
"method": "POST",
"url": "https://example.com/api/login",
"requestHeaders": { "Content-Type": "application/json" },
"requestBody": { "username": "[email protected]", "password": "[REDACTED]" },
"responseStatus": 200,
"responseBody": { "token": "jwt-token-here", "user": { "id": 123 } },
"duration": 245
}
]
}Take Screenshot
{
"tool": "screenshot",
"arguments": {
"sessionId": "session-abc123",
"path": "C:\\screenshots\\login-page.png",
"fullPage": true
}
}Get Page Info
{
"tool": "getPageInfo",
"arguments": {
"sessionId": "session-abc123"
}
}Response:
{
"url": "https://example.com/dashboard",
"title": "Dashboard - Example",
"buttons": [
{ "text": "Submit", "selector": "#submit-btn" },
{ "text": "Cancel", "selector": "#cancel-btn" }
],
"inputs": [
{ "name": "search", "type": "text", "selector": "#search-input" }
],
"links": [
{ "text": "Home", "href": "/home" }
]
}IFS Cloud Authentication Examples
Scenario 1: Open URL with Auto-Login (Environment Variables)
When IFS_USERNAME and IFS_PASSWORD are set in environment variables:
{
"tool": "openUrl",
"arguments": {
"url": "https://your-ifs-server.com/main/ifsapplications/web/page/SomeModule/SomePage",
"autoSelectIfsCloudTile": true
}
}What happens:
- Browser opens the URL
- If redirected to Keycloak login, credentials from env vars are used automatically
- After login, if landing on application selection page, IFS Cloud tile is automatically clicked
- You're taken directly to the intended page
Scenario 2: Explicit Login with loginIfsCloud Tool
For cases where you need explicit control over authentication:
{
"tool": "openUrl",
"arguments": {
"url": "https://your-ifs-server.com/auth/realms/your-realm/protocol/openid-connect/auth"
}
}Then authenticate:
{
"tool": "loginIfsCloud",
"arguments": {
"sessionId": "session-abc123",
"username": "your_username",
"password": "your_password",
"autoSelectTile": true
}
}Response:
{
"success": true,
"message": "Logged in successfully and selected IFS Cloud tile",
"currentUrl": "https://your-ifs-server.com/main/ifsapplications/web/",
"capturedRequests": 25,
"tileSelected": true
}Scenario 3: HTTP Basic/NTLM Authentication
For servers requiring HTTP Basic or NTLM authentication before reaching Keycloak:
{
"tool": "openUrl",
"arguments": {
"url": "https://your-ifs-server.com/main/ifsapplications/web/page/SomeModule/SomePage",
"httpUsername": "http_basic_user",
"httpPassword": "http_basic_pass",
"autoSelectIfsCloudTile": true
}
}Or use environment variables HTTP_USERNAME and HTTP_PASSWORD:
{
"tool": "openUrl",
"arguments": {
"url": "https://your-ifs-server.com/main/ifsapplications/web/page/SomeModule/SomePage",
"autoSelectIfsCloudTile": true
}
}Scenario 4: Landing Page Without Auto-Selection
If you want to manually select the application tile:
{
"tool": "openUrl",
"arguments": {
"url": "https://your-ifs-server.com/",
"autoSelectIfsCloudTile": false
}
}Then manually navigate:
{
"tool": "click",
"arguments": {
"sessionId": "session-abc123",
"selector": "[title='IFS Cloud']"
}
}Scenario 5: Combined HTTP Auth + IFS Cloud Login
For complex authentication scenarios:
{
"tool": "openUrl",
"arguments": {
"url": "https://your-ifs-server.com/",
"httpUsername": "http_user",
"httpPassword": "http_pass"
}
}{
"tool": "loginIfsCloud",
"arguments": {
"sessionId": "session-abc123",
"username": "ifs_user",
"password": "ifs_pass",
"autoSelectTile": true
}
}Credential Priority
Credentials are resolved in the following order:
- Tool Arguments:
httpUsername/httpPasswordorusername/passwordpassed directly to tools - Environment Variables:
IFS_USERNAME/IFS_PASSWORDfor IFS Cloud authenticationHTTP_USERNAME/HTTP_PASSWORDfor HTTP Basic/NTLM
- Legacy Variables:
DEFAULT_USERNAME/DEFAULT_PASSWORD(deprecated, useIFS_*instead)
Best Practice: Use environment variables for credentials to avoid hardcoding them in your code.
IFS Cloud Navigation Examples
Scenario 1: Search for a Page
Search for pages in the navigation and see all available results:
{
"tool": "searchNavigation",
"arguments": {
"sessionId": "session-abc123",
"searchTerm": "Inventory Part"
}
}Response:
{
"success": true,
"resultsFound": 3,
"results": [
{
"pageName": "Inventory Part",
"navigationPath": "Inventory/Inventory Part",
"index": 0,
"selector": ".menu-item:nth-of-type(1)"
},
{
"pageName": "Inventory Part Availability",
"navigationPath": "Inventory/Inventory Part/Availability",
"index": 1,
"selector": ".menu-item:nth-of-type(2)"
},
{
"pageName": "Sales Part",
"navigationPath": "Sales/Sales Part",
"index": 2,
"selector": ".menu-item:nth-of-type(3)"
}
],
"message": "Found 3 result(s) for \"Inventory Part\""
}Scenario 2: Navigate to Page (Single Result)
When there's only one matching page:
{
"tool": "navigateToPage",
"arguments": {
"sessionId": "session-abc123",
"pageName": "Customer Order"
}
}Response:
{
"success": true,
"selectedPage": "Customer Order",
"navigationPath": "Sales/Customer Order",
"pageUrl": "https://your-ifs-server.com/main/ifsapplications/web/page/CustomerOrder/Form",
"message": "Navigated to \"Customer Order\" (Sales/Customer Order)"
}Scenario 3: Navigate with Disambiguation (Multiple Results)
When multiple pages have the same name, use navigation path to select the correct one:
{
"tool": "navigateToPage",
"arguments": {
"sessionId": "session-abc123",
"pageName": "Part",
"navigationPath": "Inventory/Inventory Part"
}
}Response:
{
"success": true,
"selectedPage": "Inventory Part",
"navigationPath": "Inventory/Inventory Part",
"pageUrl": "https://your-ifs-server.com/main/ifsapplications/web/page/InventoryPart/Form",
"message": "Navigated to \"Inventory Part\" (Inventory/Inventory Part). Note: 3 pages found with this name."
}Without disambiguation path:
{
"tool": "navigateToPage",
"arguments": {
"sessionId": "session-abc123",
"pageName": "Part"
}
}This will:
- Select the first result (index 0)
- Log a warning about multiple results
- Return information about all available results
Scenario 4: Navigate by Index
When you know the result index:
{
"tool": "navigateToPage",
"arguments": {
"sessionId": "session-abc123",
"pageName": "Part",
"resultIndex": 2
}
}This selects the 3rd result (0-based index).
Scenario 5: Complete Navigation Workflow
// 1. Login to IFS Cloud
await loginIfsCloud({
sessionId: "session-abc123"
});
// 2. Search to see what's available
const searchResults = await searchNavigation({
sessionId: "session-abc123",
searchTerm: "Inventory"
});
console.log(`Found ${searchResults.resultsFound} results`);
searchResults.results.forEach((r, i) => {
console.log(`${i}: ${r.pageName} (${r.navigationPath})`);
});
// 3. Navigate to the correct page
await navigateToPage({
sessionId: "session-abc123",
pageName: "Inventory Part",
navigationPath: "Inventory/Inventory Part"
});
// 4. Continue with your test actions
await click({
sessionId: "session-abc123",
selector: "#new-button"
});Scenario 6: Handling Search Failures
If search field not visible, you may need to open the navigator panel first:
// 1. Open navigator panel (varies by IFS Cloud version)
await click({
sessionId: "session-abc123",
selector: "[title='Navigator'], .navigator-toggle, #nav-toggle"
});
// 2. Wait for panel to appear
await waitForSelector({
sessionId: "session-abc123",
selector: "input[placeholder*='Search']"
});
// 3. Now search
await searchNavigation({
sessionId: "session-abc123",
searchTerm: "Your Page"
});Disambiguation Best Practices
1. Use Navigation Path When Possible:
{
"navigationPath": "Inventory/Inventory Part"
}2. If You Don't Know the Exact Path:
First search to see available options:
{
"tool": "searchNavigation",
"arguments": {
"searchTerm": "Part"
}
}Then use the path from the results:
{
"tool": "navigateToPage",
"arguments": {
"pageName": "Part",
"navigationPath": "Inventory/Inventory Part" // From search results
}
}3. Partial Path Matching:
You can use partial paths - the tool will find the best match:
{
"navigationPath": "Inventory" // Will match "Inventory/Inventory Part"
}{
"navigationPath": "Sales/Part" // Will match "Sales/Sales Part"
}Security Features
- Domain Allowlist: Configurable allowed domains (via security.json)
- Header Redaction: Automatic removal of sensitive headers (Authorization, Cookie, etc.)
- Body Redaction: Pattern-based redaction of passwords and tokens
- Session Isolation: Fresh browser context per session
- Audit Logging: Complete audit trail of all operations
- Request Size Limits: Configurable max capture size to prevent memory issues
Use Cases
- API Discovery: Navigate to Cloud ERP pages and capture API calls
- Test Recording: Record user interactions and capture API traffic for test generation
- Form Testing: Automate form filling and capture form submissions
- Integration Testing: Verify API payloads and responses
- Debugging: Capture HTTP traffic to debug API issues
License
MIT
Links
- GitHub Repository: https://github.com/dilinaweerasinghe/integration-testing-mcp
- npm Package: https://www.npmjs.com/package/@dilina0914/http-capture-mcp
- Issues: https://github.com/dilinaweerasinghe/integration-testing-mcp/issues
Support
Open an issue on the GitHub repository for support.
