loading…
Search for a command to run...
loading…
Enables AI assistants to configure and manage session-based REST and WebSocket mock servers for application development and testing. It allows for dynamic endpo
Enables AI assistants to configure and manage session-based REST and WebSocket mock servers for application development and testing. It allows for dynamic endpoint setup, request history inspection, and real-time WebSocket communication through natural language commands.
Session-based mock server for client application development with AI integration.
# Install dependencies
npm install
# Start server
npm run dev
# Server runs on http://localhost:8675 (default)
# Or configure with PORT=8080 npm run dev
curl -X POST http://localhost:8675/_mock/sessions/test-1/endpoints \
-H "Content-Type: application/json" \
-d '{
"method": "GET",
"path": "/api/users",
"responses": [
{ "status": 200, "body": [{"id": 1, "name": "Test User"}] }
]
}'
curl http://localhost:8675/session/test-1/api/users
# Returns: [{"id": 1, "name": "Test User"}]
curl -X POST http://localhost:8675/_mock/sessions/test-1/socket/action \
-H "Content-Type: application/json" \
-d '{"action": "logout", "params": {"reason": "timeout"}}'
SpyNet can be controlled by AI assistants via the Model Context Protocol (MCP).
Build SpyNet:
npm run build
Add to Claude Desktop config:
macOS: Edit ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: Edit %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"spynet": {
"command": "node",
"args": ["/absolute/path/to/spynet/dist/mcp.js"]
}
}
}
Restart Claude Desktop
Ask Claude to configure your mocks:
Your app connects to http://localhost:8675 as usual.
configure_endpoint - Set up mock API responses with sequential behaviorlist_sessions - View all active sessionsdelete_session - Clean up a sessionlist_endpoints - See configured endpoints and call countsclear_endpoints - Remove mock configurationsget_request_history - Inspect request logssend_websocket_action - Trigger app actions via WebSocketsend_websocket_data - Send real-time data via WebSocketCheck if SpyNet is running:
curl http://localhost:8675/_mock/sessions
View MCP server logs: MCP logs go to stderr. Check Claude Desktop's logs or run directly:
node dist/mcp.js
Port already in use:
# Check what's using port 8675
lsof -ti:8675
# Use different port
PORT=9000 node dist/mcp.js
SpyNet can also be used with Claude Code (CLI) via MCP.
Build SpyNet:
npm run build
Add to Claude Code:
# Add for current user (stored in ~/.claude.json)
claude mcp add --transport stdio spynet -- node /absolute/path/to/spynet/dist/mcp.js
# Or add for your team (creates .mcp.json in project)
cd /path/to/spynet
claude mcp add --transport stdio spynet --scope project -- node ./dist/mcp.js
Verify it's configured:
claude mcp list
Same as Claude Desktop - just ask Claude to configure your mocks naturally:
The same 8 MCP tools are available. Your app connects to http://localhost:8675 as usual.
See Design Document for complete API documentation.
# Run tests
npm test
# Build
npm run build
# Type check
npm run typecheck
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"spynet": {
"command": "npx",
"args": []
}
}
}