# Jwt Generator — MCP tool `findutils:jwt_generator`

Generate a signed JWT (HS256, HS384, or HS512 via HMAC) and return the token plus the decoded header and payload. The payload contains sub, name, iat, exp, and any custom claims. Asymmetric algorithms (RS*/ES*) are not supported.

- Category: security
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/jwt-generator/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/mcp/jwt-generator/
- Same tool on the other surface: https://findutils.com/api/jwt-generator/

## Connect

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}
```

## Call the tool (verified example)

```bash
curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "jwt_generator",
      "arguments": {
        "secret": "my-secret",
        "subject": "u1",
        "name": "Ann",
        "expires_in": 3600
      }
    }
  }'
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `secret` | string | yes | The HMAC secret used to sign the token. |
| `algorithm` | string (HS256 \| HS384 \| HS512) | no | Signing algorithm. Default: HS256. Default: `"HS256"`. |
| `subject` | string | no | The "sub" claim. Default: "1234567890". Default: `"1234567890"`. |
| `name` | string | no | The "name" claim. Default: "John Doe". Default: `"John Doe"`. |
| `expires_in` | integer | no | Seconds until expiry; exp = iat + expires_in. Default: 3600. Default: `3600`. |
| `custom_claims` | object | no | Extra claims merged into the payload. An object, or a JSON object string. |
| `issued_at` | integer | no | Unix timestamp (seconds) for the "iat" claim. Default: now. |

Example arguments (verified):

```json
{
  "secret": "my-secret",
  "subject": "u1",
  "name": "Ann",
  "expires_in": 3600
}
```

## Also a REST endpoint

```bash
curl -X POST https://api.findutils.com/api/tools/jwt-generator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "secret": "my-secret",
    "subject": "u1",
    "name": "Ann",
    "expires_in": 3600
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/jwt-generator
```

Full REST reference: https://findutils.com/api/jwt-generator/ · OpenAPI 3.1 spec: https://findutils.com/api/openapi.json

---
Full catalog: POST https://mcp.findutils.com/ with method `tools/list` · https://findutils.com/mcp/ · https://findutils.com/llms.txt
