LettaAPI.Api.Tools (letta_api v1.0.0)

API calls for all endpoints tagged Tools.

Summary

Functions

Upsert Base Tools Upsert base tools

Add Composio Tool Add a new Composio tool by action name (Composio refers to each tool as an Action)

Add Mcp Server To Config Add a new MCP server to the Letta MCP server config

Add Mcp Tool Register a new MCP tool as a Letta server by MCP server + tool name

Count Tools Get a count of all tools available to agents belonging to the org of the user

Create Tool Create a new tool

Delete Mcp Server From Config Add a new MCP server to the Letta MCP server config

Delete Tool Delete a tool by name

List Composio Actions By App Get a list of all Composio actions for a specific app

List Composio Apps Get a list of all Composio apps

List Mcp Servers Get a list of all configured MCP servers

List Mcp Tools By Server Get a list of all tools for a specific MCP server

List Tools Get a list of all tools available to agents belonging to the org of the user

Modify Tool Update an existing tool

Retrieve Tool Get a tool by ID

Run Tool From Source Attempt to build a tool from source, then run it on the provided arguments

Upsert Tool Create or update a tool

Functions

add_base_tools(connection, opts \\ [])

@spec add_base_tools(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:ok, [LettaAPI.Model.Tool.t()]}
  | {:error, Tesla.Env.t()}

Upsert Base Tools Upsert base tools

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, [%Tool{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

add_composio_tool(connection, composio_action_name, opts \\ [])

@spec add_composio_tool(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, LettaAPI.Model.Tool.t()}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

Add Composio Tool Add a new Composio tool by action name (Composio refers to each tool as an Action)

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • composio_action_name (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.Tool.t} on success
  • {:error, Tesla.Env.t} on failure

add_mcp_server(connection, request, opts \\ [])

Add Mcp Server To Config Add a new MCP server to the Letta MCP server config

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • request (Request):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, [%ResponseListMcpServersValue{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

add_mcp_tool(connection, mcp_server_name, mcp_tool_name, opts \\ [])

@spec add_mcp_tool(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, LettaAPI.Model.Tool.t()}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

Add Mcp Tool Register a new MCP tool as a Letta server by MCP server + tool name

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • mcp_server_name (String.t):
  • mcp_tool_name (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.Tool.t} on success
  • {:error, Tesla.Env.t} on failure

count_tools(connection, opts \\ [])

@spec count_tools(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, integer()}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

Count Tools Get a count of all tools available to agents belonging to the org of the user

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, integer()} on success
  • {:error, Tesla.Env.t} on failure

create_tool(connection, tool_create, opts \\ [])

Create Tool Create a new tool

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • tool_create (ToolCreate):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.Tool.t} on success
  • {:error, Tesla.Env.t} on failure

delete_mcp_server(connection, mcp_server_name, opts \\ [])

Delete Mcp Server From Config Add a new MCP server to the Letta MCP server config

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • mcp_server_name (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, [%ResponseListMcpServersValue{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

delete_tool(connection, tool_id, opts \\ [])

@spec delete_tool(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, any()}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

Delete Tool Delete a tool by name

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • tool_id (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, any()} on success
  • {:error, Tesla.Env.t} on failure

list_composio_actions_by_app(connection, composio_app_name, opts \\ [])

@spec list_composio_actions_by_app(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:ok, [LettaAPI.Model.ActionModel.t()]}
  | {:error, Tesla.Env.t()}

List Composio Actions By App Get a list of all Composio actions for a specific app

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • composio_app_name (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, [%ActionModel{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

list_composio_apps(connection, opts \\ [])

@spec list_composio_apps(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, [LettaAPI.Model.AppModel.t()]}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

List Composio Apps Get a list of all Composio apps

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :"user-id" (String.t):

Returns

  • {:ok, [%AppModel{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

list_mcp_servers(connection, opts \\ [])

@spec list_mcp_servers(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok,
   %{optional(String.t()) => LettaAPI.Model.ResponseListMcpServersValue.t()}}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

List Mcp Servers Get a list of all configured MCP servers

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :"user-id" (String.t):

Returns

  • {:ok, %{}} on success
  • {:error, Tesla.Env.t} on failure

list_mcp_tools_by_server(connection, mcp_server_name, opts \\ [])

@spec list_mcp_tools_by_server(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:ok, [LettaAPI.Model.McpTool.t()]}
  | {:error, Tesla.Env.t()}

List Mcp Tools By Server Get a list of all tools for a specific MCP server

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • mcp_server_name (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, [%McpTool{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

list_tools(connection, opts \\ [])

@spec list_tools(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:ok, [LettaAPI.Model.Tool.t()]}
  | {:error, Tesla.Env.t()}

List Tools Get a list of all tools available to agents belonging to the org of the user

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :after (String.t):
    • :limit (integer()):
    • :name (String.t):
    • :user_id (String.t):

Returns

  • {:ok, [%Tool{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

modify_tool(connection, tool_id, tool_update, opts \\ [])

Modify Tool Update an existing tool

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • tool_id (String.t):
  • tool_update (ToolUpdate):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.Tool.t} on success
  • {:error, Tesla.Env.t} on failure

retrieve_tool(connection, tool_id, opts \\ [])

@spec retrieve_tool(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, LettaAPI.Model.Tool.t()}
  | {:ok, LettaAPI.Model.HttpValidationError.t()}
  | {:error, Tesla.Env.t()}

Retrieve Tool Get a tool by ID

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • tool_id (String.t):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.Tool.t} on success
  • {:error, Tesla.Env.t} on failure

run_tool_from_source(connection, tool_run_from_source, opts \\ [])

Run Tool From Source Attempt to build a tool from source, then run it on the provided arguments

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • tool_run_from_source (ToolRunFromSource):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.ToolReturnMessage.t} on success
  • {:error, Tesla.Env.t} on failure

upsert_tool(connection, tool_create, opts \\ [])

Upsert Tool Create or update a tool

Parameters

  • connection (LettaAPI.Connection): Connection to server
  • tool_create (ToolCreate):
  • opts (keyword): Optional parameters
    • :user_id (String.t):

Returns

  • {:ok, LettaAPI.Model.Tool.t} on success
  • {:error, Tesla.Env.t} on failure