A Model Context Protocol (MCP) server implementation for managing API test data and resources.
This server implements the MCP protocol to provide a structured way to access and manage API test data. It uses a hierarchical organization model where resources are scoped under organizations and applications.
This server currently implements MCP using Tools (as Resources and Roots are not yet supported by Cursor). The server provides the following tools:
- list-APIs: Lists all recorded APIs available in Softprobe
- list-api-record-ids: Lists all recorded API records for a specific operation
- getApiSamples: Retrieves recorded API interaction samples in JSON format
The server can be configured using environment variables or through the mcp.json configuration file:
{
"mcpServers": {
"mcp-server-softprobe": {
"command": "npx",
"args": [
"-y",
"@softprobe/mcp-server"
],
"env": {
"SOFTPROBE_API_URL": "https://api-onpremise-gcp.softprobe.ai",
"SOFTPROBE_ACCESS_TOKEN": "<your-access-token>"
}
}
}
}Required environment variables:
SOFTPROBE_API_URL: Base URL for the Softprobe APISOFTPROBE_ACCESS_TOKEN: Authentication token for API access
softprobe://orgs/{orgId}
└── softprobe://orgs/{orgId}/apps/{appId}
└── API Samples (resources)
- Organization Root: Represents a top-level organization
- Application Root: Represents an application within an organization
- API Samples: Test data resources scoped to specific applications
-
System Resources
resources/list: Lists available resourcesresources/read: Reads a specific resourceresources/subscribe: Subscribes to resource changesroots/list: Lists available root templatesroots/resolve: Resolves a specific root
-
API Sample Resources
softprobe://apiSamples/{orgId}/{appId}/{apiPath}: Access API test samples
// Client calls roots/list
// Server returns:
{
roots: [
{ uri: 'softprobe://orgs/{orgId}', name: 'Organization Root' },
{ uri: 'softprobe://orgs/{orgId}/apps/{appId}', name: 'Application Root' }
]
}// Client calls roots/resolve with:
// uri: softprobe://orgs/123
// Server returns:
{
root: {
uri: 'softprobe://orgs/123',
name: 'Organization Root'
}
}// Client calls resources/list
// Server returns resources under org/123
// Client calls softprobe/apiSamples/123/456/users
// Server returns API samples for the users endpoint// Client calls roots/resolve with:
// uri: softprobe://orgs/123/apps/456
// Server returns:
{
root: {
uri: 'softprobe://orgs/123/apps/456',
name: 'Application Root'
}
}
// Now all resource access is scoped to app/456{
samples: [
{
name: "test_case_name",
request: {
method: "POST",
body: { /* request body */ }
},
response: {
status: 200,
body: { /* response body */ }
}
}
]
}The MCP server enables Cursor IDE to:
-
Organize Test Data
- Keep test data separate from production
- Organize tests by application/feature
- Maintain test data versioning
-
Test Case Management
- Access test cases through the resource system
- Subscribe to test case changes
- Monitor test data updates
-
Test Execution
- Retrieve test cases for validation
- Compare actual responses with expected
- Generate test reports
-
Environment Management
- Use different roots for different environments
- Maintain environment-specific test data
- Safe testing without affecting production
- Node.js v16 or higher
- TypeScript
npm install
npm run devnpm run buildnpm startMIT