List Tools
curl --request GET \
--url https://api.example.com/api/tools/{
"tools": [
{
"id": "<string>",
"user_id": "<string>",
"name": "<string>",
"meta": {},
"access_grants": [
{
"principal_type": "<string>",
"principal_id": "<string>",
"permission": "<string>"
}
],
"write_access": true,
"updated_at": 123,
"created_at": 123
}
]
}Functions & Tools
List Tools
Retrieve tools including local tools, OpenAPI servers, and MCP servers
GET
/
api
/
tools
List Tools
curl --request GET \
--url https://api.example.com/api/tools/{
"tools": [
{
"id": "<string>",
"user_id": "<string>",
"name": "<string>",
"meta": {},
"access_grants": [
{
"principal_type": "<string>",
"principal_id": "<string>",
"permission": "<string>"
}
],
"write_access": true,
"updated_at": 123,
"created_at": 123
}
]
}Get Tools
curl -X GET "https://your-instance.com/api/tools/" \
-H "Authorization: Bearer YOUR_API_KEY"
- Local tools (Python-based tools stored in the database)
- OpenAPI tool servers
- MCP (Model Context Protocol) tool servers
Response
Array of tool objects
Show ToolUserResponse properties
Show ToolUserResponse properties
Unique identifier for the tool. Server tools use format
server:{id} or server:mcp:{id}ID of the user who created the tool (for local tools) or server ID (for server tools)
Display name of the tool
Whether the tool has user-configurable valves (local tools only)
OAuth authentication status (MCP servers with OAuth 2.1 only)
Unix timestamp of last update
Unix timestamp of creation
Access Control
- Admin users (with
BYPASS_ADMIN_ACCESS_CONTROL): See all tools - Regular users: See only:
- Tools they created
- Tools with read access grants
- Server tools with appropriate access grants
Get Tool List
curl -X GET "https://your-instance.com/api/tools/list" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Array of tool objects with access information
Show ToolAccessResponse properties
Show ToolAccessResponse properties
Tool identifier
Creator user ID
Tool name
Tool metadata
Whether the current user has write access to this tool
Last update timestamp
Creation timestamp
Access Determination
Write access is granted if:- User is an admin (with
BYPASS_ADMIN_ACCESS_CONTROL) - User is the tool creator
- User has a write permission grant
- User is in a group with write permission grant
Export Tools
curl -X GET "https://your-instance.com/api/tools/export" \
-H "Authorization: Bearer YOUR_API_KEY"
workspace.tools_export permission for non-admin users.
Response
Returns an array of completeToolModel objects including:
- Tool ID, name, and metadata
- Full source code content
- Tool specifications
- Access grants
Permissions
- Admin users (with
BYPASS_ADMIN_ACCESS_CONTROL): Export all tools - Non-admin users: Requires
workspace.tools_exportpermission, exports only tools with read access
Tool Types
Local Tools
Python-based tools stored in the database:- Identified by simple string IDs (e.g.,
"calculator") - Created and managed through the API
- Support user valves for customization
OpenAPI Tool Servers
External OpenAPI-compliant tool servers:- ID format:
server:{id} - Configured in
TOOL_SERVER_CONNECTIONS - Access controlled via server configuration
MCP Tool Servers
Model Context Protocol servers:- ID format:
server:mcp:{id} - Support OAuth 2.1 authentication
- Access controlled via server configuration
- Return
authenticatedfield for OAuth status
Authentication
All endpoints require verified user authentication. Some operations require admin privileges or specific permissions.⌘I