Tool
A Tool is a Verb as a Worker reaches it through an Interface, under one name on every Interface.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
name | string | required | The Noun.verb name, such as Contact.create. |
Object
{
"$id": "https: //api.sb/ quietcopy.com/ tools/ tool_1",
"$type": "Tool",
"name": "QuietCopy"
}Relationships
- A Tool exposes one Verb: a Tool is one Verb under one name on every Interface, such as
Contact.create.exposes, inverseexposedAs. - A Tool is used by many Workers: the Tools a Worker may call, narrowed to its Role’s Permissions.
usedBy, inverseuses.
Verbs
createCreates a Tool.POST /{namespace}/toolsgetReturns one Tool by id.GET /{namespace}/tools/{id}listReturns Tools, newest first, one page at a time.GET /{namespace}/toolsupdateChanges the given properties of a Tool.PATCH /{namespace}/tools/{id}deleteDeletes a Tool; its history is kept.DELETE /{namespace}/tools/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Tool.create | Yes | Yes | Yes | No |
Tool.get | Yes | Yes | Yes | Yes |
Tool.list | Yes | Yes | Yes | Yes |
Tool.update | Yes | Yes | Yes | No |
Tool.delete | Yes | Yes | Yes | No |
Call it
Add a tool to TutorLoop.Example
convert_currency is one Tool: an MCP tool for Agents, a CLI command for operators, and an SDK method for developers, all exposing Rate.convert.