Find widget
find_widgetREADno token neededSearch the Docsbook widget catalog for an interactive UI widget matching the user's request. Returns matching widget ids and summaries. Use this to discover available widgets (e.g. 'dark mode toggle', 'analytics chart', 'search bar'). After finding a widget, use the returned resourceUri to read its HTML bundle via the ui:// resource. This tells you what is here, not what to do with it. If you have not already asked docsbook_expert what the user actually wants done, ask it — one call returns the ordered steps with the tool on each, and it changes nothing.
Free-text description of what the user wants, e.g. 'dark mode toggle' or 'analytics dashboard'.
Restrict matches to widgets available in this mode (admin or user). One of: admin, user.
Call it#
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_widget",
"arguments": {
"query": "<query>",
"mode": "admin"
}
}
}curl -X POST 'https://docsbook.io/api/mcp/server' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_widget","arguments":{"query":"<query>","mode":"admin"}}}'Try it over REST#
The same tool is callable as a plain HTTP request, no MCP client required. It runs on the same server, at the same price.
Your workspace is resolved from the API key, so workspace_id is decided server-side here and anything you send for it is ignored.
/api/v1/tools/find_widgetYour API key, sent as Authorization: Bearer dbk_YOUR_API_KEY.Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.
The arguments above, as one JSON object.
curl -X POST 'https://docsbook.io/api/v1/tools/find_widget' \
-H 'Authorization: Bearer dbk_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"args":{"query":"<query>","mode":"admin"}}'