Skip to content

Latest commit

 

History

History
132 lines (90 loc) · 2.55 KB

File metadata and controls

132 lines (90 loc) · 2.55 KB

Socket MCP Mock Client Tools

The mock-client directory contains debug clients for testing the Socket MCP server.

Prerequisites

  1. Ensure you are running Node 22 or later:

    node --version
    v22.17.0
  2. Set your Socket API key:

    export SOCKET_API_KEY="your-api-key-here"

Debug Clients

1. Simple JSON-RPC Client (mock-client/debug-client.ts)

Direct stdio communication using JSON-RPC protocol:

npm run debug-stdio

This client:

  • Sends raw JSON-RPC messages to the MCP server
  • Tests initialization, tool listing, and depscore calls
  • Useful for debugging protocol-level issues

2. MCP SDK Client (mock-client/stdio-client.ts)

Uses the official MCP SDK client library:

npm run debug-sdk

This client:

  • Uses the same SDK that real MCP clients use
  • Tests the server's compatibility with the SDK
  • Good for integration testing

3. HTTP Mode Client (mock-client/http-client.ts)

Tests the HTTP/SSE transport mode:

# First, start the server in HTTP mode:
npm run server-http

# In another terminal:
npm run debug-http

This client:

  • Tests HTTP POST requests and SSE streams
  • Verifies session management
  • Tests CORS and HTTP-specific features

What Each Client Tests

All clients test the following scenarios:

  1. Connection initialization - MCP protocol handshake
  2. Tool discovery - Lists available tools
  3. Basic depscore call - Tests with npm and PyPI packages
  4. Error handling - Tests with invalid inputs
  5. Edge cases - Unknown packages, minimal inputs

Interpreting Results

Successful Response

{
  "content": [
    {
      "type": "text",
      "text": "Package: express@4.18.2\nScore: 0.85\n..."
    }
  ]
}

Error Response

{
  "error": {
    "code": -32602,
    "message": "Invalid params",
    "data": "Expected array with at least 1 element"
  }
}

Common Issues

  1. API Key Missing: Set SOCKET_API_KEY environment variable
  2. Build Errors: Run npm run build first
  3. Permission Denied: Check file permissions (should be executable)
  4. Connection Refused: For HTTP mode, ensure server is running

Advanced Usage

Custom API Endpoint

To test against a local Socket API:

# Edit index.ts and change SOCKET_API_URL
# Then rebuild and test

Verbose Logging

Check logs at:

  • /tmp/socket-mcp.log - Info logs
  • /tmp/socket-mcp-error.log - Error logs

Testing Specific Packages

Edit the test clients to modify the testPackages array with your specific packages to test.