Build an agent with Tool Plaza
Tool Plaza exposes 196+ utility skills through A2A JSON-RPC and a REST execute API. Most skills run server-side helpers; timers and canvas tools are browser-only.
Quick start
- Discover skills —
GET /.well-known/agent-card.jsonorGET /api/a2a/skills?q=base64 - Load schema —
GET /api/helpers/{skillId}(exports, example args, pricing) - Execute —
POST /api/helpers/executeor A2Amessage/send
REST example
curl -sS -X POST https://toolplaza.app/api/helpers/execute \
-H 'Content-Type: application/json' \
-d '{"skillId":"base64__from-text-to-base64","export":"encodeTextToBase64","args":["Hello"]}'
A2A JSON-RPC example
Send POST /api/a2a with:
{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"messageId": "uuid",
"role": "user",
"parts": [{ "kind": "text", "text": "ignored" }]
},
"metadata": {
"toolplaza": {
"skillId": "ascii__from-text-to-ascii-codes",
"export": "encodeTextToAsciiCodes",
"args": ["Hello"]
}
}
}
}
Flat metadata is also accepted: metadata.skill, metadata.export, metadata.args (array or object).
Discovery endpoints
| Endpoint | Purpose |
|---|---|
GET /api/a2a | A2A transport metadata |
GET /api/a2a/skills?q= | Search skill index |
GET /api/a2a/resolve?q= | Resolve NL query → skillId + export |
GET /api/helpers/execute | REST execute discovery + error catalog |
GET /api/helpers/errors | Machine-readable failure reasons |
GET /api/helpers/{skillId} | Full programmatic API for one skill |
Rate limits (default)
| Route | Limit |
|---|---|
POST /api/helpers/execute | 30/min |
GET /api/helpers/* | 60/min |
POST /api/a2a | 30/min |
GET /api/a2a/* | 60/min |
Privacy
Server-side agent calls log aggregate usage (skillId, outcome) via Google Analytics. Request arguments are not logged. See the Privacy Policy.
MCP
Install the optional MCP server from packages/mcp-server-toolplaza and set TOOLPLAZA_BASE_URL to proxy tools into Cursor or Claude Desktop.