Tool Definitions
Canonical tool definitions for the Configure SDK. These are the tools that agents use to read/write profiles, search external services, and perform actions on behalf of users.
All tool definitions use Anthropic's tool format and can be passed directly to the tools parameter in Anthropic's messages API. For OpenAI, use toOpenAIFunctions() to convert.
Import
typescript
import {
CONFIGURE_TOOLS,
OPT_IN_TOOLS,
SELF_WRITE_TOOLS,
UI_TOOLS,
withMcpPrefix,
toOpenAIFunctions,
} from 'configure';Tool Sets
CONFIGURE_TOOLS
The default tool set (15 tools).
Profile Tools
| Tool | Description |
|---|---|
get_profile | Get the user's full profile (identity, preferences, integrations, agents, summary). |
profile_read | Read specific data from the user's profile by storage path. |
profile_ls | List files and directories in the user's profile. |
get_memories | Get memories with optional agent and date filtering. |
remember | Save a specific fact or preference to memory. |
ingest | Extract and save memories from conversations or freeform text. |
Self Tools (High-Level)
| Tool | Description |
|---|---|
self_get_profile | Get the agent's own assembled profile (soul, config, skills, memory summary). |
self_get_memories | Get the agent's own memory entries with optional date filtering. |
Search Tools
| Tool | Description |
|---|---|
search_emails | Search the user's Gmail. Supports Gmail search operators. |
get_calendar | Get calendar events for a time range (today, tomorrow, week, month). |
search_files | Search the user's Google Drive files. |
search_notes | Search the user's Notion workspace. |
search_web | Search the web. Always available, no connection required. |
fetch_url | Fetch a web page's content by URL. Always available, no connection required. |
Action Tools
| Tool | Description |
|---|---|
create_calendar_event | Create a Google Calendar event. |
send_email | Send an email via the user's Gmail. |
OPT_IN_TOOLS
Tools not included in the default set. Enable selectively for agents that need direct storage access.
| Tool | Description |
|---|---|
profile_write | Write to the user's profile storage (restricted to /agents/{name}/). |
profile_search | Full-text search the user's profile storage. |
profile_rm | Delete from the user's profile storage (restricted to /agents/{name}/). |
self_read | Read from the agent's own storage. |
self_ls | List files in the agent's own storage. |
self_search | Search the agent's own storage by keyword. |
SELF_WRITE_TOOLS
Agent self-mutation tools. Off by default in MCP. Enable via CONFIGURE_SELF_WRITE=true for autonomous agents.
| Tool | Description |
|---|---|
self_write | Write content to the agent's own storage. |
self_rm | Delete from the agent's own storage. |
self_remember | Save a fact to the agent's own memory. |
UI_TOOLS
Client-side UI component tools. These are handled in your UI code and do not call the Configure backend.
| Tool | Description |
|---|---|
show_ui_component | Display a UI component (connection_list, single_connector, memory_card, confirmation, memory_import). |
Utility Functions
withMcpPrefix
typescript
withMcpPrefix(tools: ConfigureToolDefinition[]): ConfigureToolDefinition[]Add the configure_ prefix to all tool names for MCP contexts.
typescript
const mcpTools = withMcpPrefix(CONFIGURE_TOOLS);
// get_profile → configure_get_profiletoOpenAIFunctions
typescript
toOpenAIFunctions(tools: ConfigureToolDefinition[]): Array<{
type: 'function';
function: { name: string; description: string; parameters: any };
}>Convert Configure tool definitions to OpenAI function calling format.
typescript
const openaiTools = toOpenAIFunctions(CONFIGURE_TOOLS);
const response = await openai.chat.completions.create({
model: 'gpt-4o',
messages,
tools: openaiTools,
});getMcpTools
typescript
getMcpTools(opts?: {
selfWriteEnabled?: boolean;
includeUserTools?: boolean;
}): ConfigureToolDefinition[]Get MCP-appropriate tools based on auth state. Self read tools are always included (API key only). User profile/data/action tools require a user token. Self write tools require explicit opt-in.
| Name | Type | Default | Description |
|---|---|---|---|
opts.selfWriteEnabled | boolean | false | Include SELF_WRITE_TOOLS. |
opts.includeUserTools | boolean | false | Include profile, data, action, and document tools. |
getAllTools
typescript
getAllTools(): ConfigureToolDefinition[]Get all default tools plus UI tools (CONFIGURE_TOOLS + UI_TOOLS).
getToolByName
typescript
getToolByName(name: string): ConfigureToolDefinition | undefinedFind a tool definition by name. Strips the configure_ prefix automatically.
isUITool
typescript
isUITool(toolName: string): booleanCheck if a tool name is a UI-only tool (no backend dispatch needed).
parseUIToolCall
typescript
parseUIToolCall(
toolName: string,
toolInput: Record<string, unknown>
): { component: string; props: Record<string, unknown> } | nullParse a show_ui_component tool call into a normalized { component, props } object. Returns null if the tool name is not show_ui_component.
Category Getters
| Function | Returns |
|---|---|
getProfileTools() | Profile tools (6): get_profile, profile_read, profile_ls, get_memories, remember, ingest |
getSelfTools() | Self tools (5): self_get_profile, self_get_memories, self_read, self_write, self_ls |
getSearchTools() | Search tools (6): search_emails, get_calendar, search_files, search_notes, search_web, fetch_url |
getActionTools() | Action tools (2): create_calendar_event, send_email |
getOptInTools() | Opt-in tools (6): profile_write, profile_search, profile_rm, self_read, self_ls, self_search |
getUITools() | UI tools (1): show_ui_component |