Skip to content

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

ToolDescription
get_profileGet the user's full profile (identity, preferences, integrations, agents, summary).
profile_readRead specific data from the user's profile by storage path.
profile_lsList files and directories in the user's profile.
get_memoriesGet memories with optional agent and date filtering.
rememberSave a specific fact or preference to memory.
ingestExtract and save memories from conversations or freeform text.

Self Tools (High-Level)

ToolDescription
self_get_profileGet the agent's own assembled profile (soul, config, skills, memory summary).
self_get_memoriesGet the agent's own memory entries with optional date filtering.

Search Tools

ToolDescription
search_emailsSearch the user's Gmail. Supports Gmail search operators.
get_calendarGet calendar events for a time range (today, tomorrow, week, month).
search_filesSearch the user's Google Drive files.
search_notesSearch the user's Notion workspace.
search_webSearch the web. Always available, no connection required.
fetch_urlFetch a web page's content by URL. Always available, no connection required.

Action Tools

ToolDescription
create_calendar_eventCreate a Google Calendar event.
send_emailSend 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.

ToolDescription
profile_writeWrite to the user's profile storage (restricted to /agents/{name}/).
profile_searchFull-text search the user's profile storage.
profile_rmDelete from the user's profile storage (restricted to /agents/{name}/).
self_readRead from the agent's own storage.
self_lsList files in the agent's own storage.
self_searchSearch 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.

ToolDescription
self_writeWrite content to the agent's own storage.
self_rmDelete from the agent's own storage.
self_rememberSave 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.

ToolDescription
show_ui_componentDisplay 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_profile

toOpenAIFunctions

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.

NameTypeDefaultDescription
opts.selfWriteEnabledbooleanfalseInclude SELF_WRITE_TOOLS.
opts.includeUserToolsbooleanfalseInclude 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 | undefined

Find a tool definition by name. Strips the configure_ prefix automatically.


isUITool

typescript
isUITool(toolName: string): boolean

Check 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> } | null

Parse 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

FunctionReturns
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

Identity and memory infrastructure for AI agents