# Text Encryption — REST API endpoint `text-encryption`

Encrypt text with a password using AES-256-GCM (key derived with PBKDF2-SHA256, 100000 iterations) and return a base64 ciphertext, or decrypt such a ciphertext back to the original text. The base64 blob is salt(16) + iv(12) + ciphertext, compatible with the FindUtils Text Encryption page.

- 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/text-encryption/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/text-encryption/
- Same tool on the other surface: https://findutils.com/mcp/text-encryption/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/text-encryption/execute \
  -H "Content-Type: application/json" \
  -d '{
    "text": "hello",
    "password": "hunter2",
    "mode": "encrypt"
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/text-encryption
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `text` | string | yes | encrypt: the plaintext. decrypt: the base64 ciphertext produced by this tool. |
| `password` | string | yes | The password (passphrase) used to derive the AES key. |
| `mode` | string (encrypt \| decrypt) | no | Operation. Default: encrypt. Default: `"encrypt"`. |

Example arguments (verified):

```json
{
  "text": "hello",
  "password": "hunter2",
  "mode": "encrypt"
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

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

Then ask the client to call `findutils:text_encryption`. Full MCP reference: https://findutils.com/mcp/text-encryption/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
