Format Conversion
Codifica um envio Web Push completo: cifragem aes128gcm do RFC 8291, JWT ES256 do VAPID (RFC 8292), cabeçalhos RFC 8030, correspondência APNs/FCM e verificação por descriptografia de ida e volta.
Chame esta ferramenta a partir do seu código em três idiomas.
curl -X POST 'http://127.0.0.1:3003/pt/api/tools/web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder' \
-H 'Content-Type: application/json' \
-d '{"payload":"When I grow up, I want to be a watermelon","encoding":"aes128gcm","uaPublicKey":"BCVxsr7N_eNgVRqvHtD0zTZsEc6-VV-JvLexhqUzORcxaOzi6-AYWXvTBHm4bjyPjs7Vd8pZGH6SRpkNtoIAiw4","authSecret":"BTBZMqHH6r4Tts7J_aSIgg","uaPrivateKey":"q1dXpw3UpT5VOmu_cf_v6ih07Aems3njxI-JWgLcM94","asPrivateKey":"yfWPiYE-n46HLnH0KqZOF1fJJU3MYrct3AELtAQ-oRw","saltB64":"DGv6ra1nlYgDCS1FRnbzlw","paddingBytes":0,"ttl":10,"urgency":"normal","topic":"","endpointHost":"push.example.net","endpointPath":"/push/JzLQ3raZJfFBR0aqvOMsLrt54w4rJUsV","vapidEnabled":true,"vapidSub":"mailto:[email protected]","vapidAud":"push.example.net","vapidExp":1453523768,"vapidPrivateKey":"nCScek-QpEjmOOlT-rQ38nZzvdPlqa00Zy0i6m2OJvY"}'Envie uma requisição POST com suas entradas em JSON. Parâmetros do tipo arquivo exigem upload prévio.
POST http://127.0.0.1:3003/pt/api/tools/web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| payload | textarea | Sim | — |
| encoding | select | Não | — |
| uaPublicKey | text | Sim | — |
| authSecret | text | Sim | — |
| uaPrivateKey | text | Não | — |
| asPrivateKey | text | Sim | — |
| saltB64 | text | Sim | — |
| paddingBytes | number | Não | — |
| ttl | number | Não | — |
| urgency | select | Não | — |
| topic | text | Não | — |
| endpointHost | text | Não | — |
| endpointPath | text | Não | — |
| vapidEnabled | checkbox | Não | — |
| vapidSub | text | Não | — |
| vapidAud | text | Não | — |
| vapidExp | number | Não | — |
| vapidPrivateKey | text | Sim | — |
Resultado HTML
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Adicione esta ferramenta ao seu servidor Model Context Protocol para que agentes de IA possam listá-la e chamá-la.
Adicione este bloco à configuração do seu cliente MCP:
{
"mcpServers": {
"elysiatools-web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder": {
"name": "web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
"description": "Codifica um envio Web Push completo: cifragem aes128gcm do RFC 8291, JWT ES256 do VAPID (RFC 8292), cabeçalhos RFC 8030, correspondência APNs/FCM e verificação por descriptografia de ida e volta.",
"baseUrl": "http://127.0.0.1:3003/mcp/sse?toolId=web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Após conectar ao endpoint SSE, liste as ferramentas expostas:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoque a ferramenta pelo seu id; os argumentos são construídos a partir de seus parâmetros:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
"arguments": {
"payload": "When I grow up, I want to be a watermelon",
"encoding": "aes128gcm",
"uaPublicKey": "BCVxsr7N_eNgVRqvHtD0zTZsEc6-VV-JvLexhqUzORcxaOzi6-AYWXvTBHm4bjyPjs7Vd8pZGH6SRpkNtoIAiw4",
"authSecret": "BTBZMqHH6r4Tts7J_aSIgg",
"uaPrivateKey": "q1dXpw3UpT5VOmu_cf_v6ih07Aems3njxI-JWgLcM94",
"asPrivateKey": "yfWPiYE-n46HLnH0KqZOF1fJJU3MYrct3AELtAQ-oRw",
"saltB64": "DGv6ra1nlYgDCS1FRnbzlw",
"paddingBytes": 0,
"ttl": 10,
"urgency": "normal",
"topic": "",
"endpointHost": "push.example.net",
"endpointPath": "/push/JzLQ3raZJfFBR0aqvOMsLrt54w4rJUsV",
"vapidEnabled": true,
"vapidSub": "mailto:[email protected]",
"vapidAud": "push.example.net",
"vapidExp": 1453523768,
"vapidPrivateKey": "nCScek-QpEjmOOlT-rQ38nZzvdPlqa00Zy0i6m2OJvY"
}
}
}Dúvidas ou problemas? Contate [email protected]