Format Conversion
编码完整的 Web Push 发送流程:RFC 8291 aes128gcm 负载加密、RFC 8292 VAPID ES256 JWT、RFC 8030 头部、APNs/FCM 头部对照与解密往返验证。
用三种语言从你的代码中调用此工具。
curl -X POST 'http://127.0.0.1:3003/zh/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"}'以 JSON 形式 POST 提交输入参数。文件类型参数需先单独上传。
POST http://127.0.0.1:3003/zh/api/tools/web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| payload | textarea | 是 | — |
| encoding | select | 否 | — |
| uaPublicKey | text | 是 | — |
| authSecret | text | 是 | — |
| uaPrivateKey | text | 否 | — |
| asPrivateKey | text | 是 | — |
| saltB64 | text | 是 | — |
| paddingBytes | number | 否 | — |
| ttl | number | 否 | — |
| urgency | select | 否 | — |
| topic | text | 否 | — |
| endpointHost | text | 否 | — |
| endpointPath | text | 否 | — |
| vapidEnabled | checkbox | 否 | — |
| vapidSub | text | 否 | — |
| vapidAud | text | 否 | — |
| vapidExp | number | 否 | — |
| vapidPrivateKey | text | 是 | — |
HTML 结果
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}将此工具加入你的 Model Context Protocol 服务,让 AI 智能体可以列出并调用它。
将以下内容加入你的 MCP 客户端配置:
{
"mcpServers": {
"elysiatools-web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder": {
"name": "web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
"description": "编码完整的 Web Push 发送流程:RFC 8291 aes128gcm 负载加密、RFC 8292 VAPID ES256 JWT、RFC 8030 头部、APNs/FCM 头部对照与解密往返验证。",
"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"
}
}
}连接到 SSE 端点后,列出已开放的工具:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}通过工具 id 调用,参数由其参数表构建:
{
"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"
}
}
}有问题或反馈?请联系 [email protected]