Mcp Servers
Create Mcp Server
List Mcp Servers
Get Mcp Server
Delete Mcp Server
Update Mcp Server
Connect Mcp Server
Refresh Mcp Server Tools
ModelsExpand Collapse
CreateSseMcpServer { server_name, server_url, auth_header, 3 more }
Create a new SSE MCP server
server_name: string
The name of the server
server_url: string
The URL of the server
auth_header?: string | null
The name of the authentication header (e.g., 'Authorization')
auth_token?: string | null
The authentication token or API key value
custom_headers?: Record<string, string> | null
Custom HTTP headers to include with requests
type?: "sse" | "stdio" | "streamable_http"
CreateStdioMcpServer { args, command, server_name, 2 more }
Create a new Stdio MCP server
args: Array<string>
The arguments to pass to the command
command: string
The command to run (MCP 'local' client will run this command)
server_name: string
The name of the server
env?: Record<string, string> | null
Environment variables to set
type?: "sse" | "stdio" | "streamable_http"
CreateStreamableHTTPMcpServer { server_name, server_url, auth_header, 3 more }
Create a new Streamable HTTP MCP server
server_name: string
The name of the server
server_url: string
The URL of the server
auth_header?: string | null
The name of the authentication header (e.g., 'Authorization')
auth_token?: string | null
The authentication token or API key value
custom_headers?: Record<string, string> | null
Custom HTTP headers to include with requests
type?: "sse" | "stdio" | "streamable_http"
McpToolExecuteRequest { args }
Request to execute an MCP tool by IDs.
args?: Record<string, unknown>
Arguments to pass to the MCP tool
SseMcpServer { server_name, server_url, id, 4 more }
An SSE MCP server
server_name: string
The name of the server
server_url: string
The URL of the server
id?: string
The human-friendly ID of the Mcp_server
auth_header?: string | null
The name of the authentication header (e.g., 'Authorization')
auth_token?: string | null
The authentication token or API key value
custom_headers?: Record<string, string> | null
Custom HTTP headers to include with requests
type?: "sse" | "stdio" | "streamable_http"
StdioMcpServer { args, command, server_name, 3 more }
A Stdio MCP server
args: Array<string>
The arguments to pass to the command
command: string
The command to run (MCP 'local' client will run this command)
server_name: string
The name of the server
id?: string
The human-friendly ID of the Mcp_server
env?: Record<string, string> | null
Environment variables to set
type?: "sse" | "stdio" | "streamable_http"
StreamableHTTPMcpServer { server_name, server_url, id, 4 more }
A Streamable HTTP MCP server
server_name: string
The name of the server
server_url: string
The URL of the server
id?: string
The human-friendly ID of the Mcp_server
auth_header?: string | null
The name of the authentication header (e.g., 'Authorization')
auth_token?: string | null
The authentication token or API key value
custom_headers?: Record<string, string> | null
Custom HTTP headers to include with requests
type?: "sse" | "stdio" | "streamable_http"
ToolExecutionResult { status, agent_state, func_return, 3 more }
status: "success" | "error"
The status of the tool execution and return object
Representation of an agent's state. This is the state of the agent at a given time, and is persisted in the DB backend. The state has all the information needed to recreate a persisted agent.
id: string
The id of the agent. Assigned by the database.
The type of agent.
The memory blocks used by the agent.
value: string
Value of the block.
id?: string
The human-friendly ID of the Block
base_template_id?: string | null
The base template id of the block.
created_by_id?: string | null
The id of the user that made this Block.
deployment_id?: string | null
The id of the deployment.
description?: string | null
Description of the block.
entity_id?: string | null
The id of the entity within the template.
hidden?: boolean | null
If set to True, the block will be hidden.
is_template?: boolean
Whether the block is a template (e.g. saved human/persona options).
label?: string | null
Label of the block (e.g. 'human', 'persona') in the context window.
last_updated_by_id?: string | null
The id of the user that last updated this Block.
limit?: number
Character limit of the block.
metadata?: Record<string, unknown> | null
Metadata of the block.
preserve_on_migration?: boolean | null
Preserve the block on template migration.
project_id?: string | null
The associated project id.
read_only?: boolean
Whether the agent has read-only access to the block.
template_id?: string | null
The id of the template.
template_name?: string | null
Name of the block if it is a template.
Deprecatedembedding_config: EmbeddingConfig { embedding_dim, embedding_endpoint_type, embedding_model, 7 more }
Deprecated: Use embedding field instead. The embedding configuration used by the agent.
embedding_dim: number
The dimension of the embedding.
embedding_endpoint_type: "openai" | "anthropic" | "bedrock" | 16 more
The endpoint type for the model.
embedding_model: string
The model for the embedding.
azure_deployment?: string | null
The Azure deployment for the model.
azure_endpoint?: string | null
The Azure endpoint for the model.
azure_version?: string | null
The Azure version for the model.
batch_size?: number
The maximum batch size for processing embeddings.
embedding_chunk_size?: number | null
The chunk size of the embedding.
embedding_endpoint?: string | null
The endpoint for the model (None if local).
handle?: string | null
The handle for this config, in the format provider/model-name.
Deprecated: Use model field instead. The LLM configuration used by the agent.
context_window: number
The context window size for the model.
model: string
LLM model name.
model_endpoint_type: "openai" | "anthropic" | "google_ai" | 18 more
The endpoint type for the model.
compatibility_type?: "gguf" | "mlx" | null
The framework compatibility type for the model.
display_name?: string | null
A human-friendly display name for the model.
enable_reasoner?: boolean
Whether or not the model should use extended thinking if it is a 'reasoning' style model
frequency_penalty?: number | null
Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. From OpenAI: Number between -2.0 and 2.0.
handle?: string | null
The handle for this config, in the format provider/model-name.
max_reasoning_tokens?: number
Configurable thinking budget for extended thinking. Used for enable_reasoner and also for Google Vertex models like Gemini 2.5 Flash. Minimum value is 1024 when used with enable_reasoner.
max_tokens?: number | null
The maximum number of tokens to generate. If not set, the model will use its default value.
model_endpoint?: string | null
The endpoint for the model.
model_wrapper?: string | null
The wrapper for the model.
parallel_tool_calls?: boolean | null
If set to True, enables parallel tool calling. Defaults to False.
The provider category for the model.
provider_name?: string | null
The provider name for the model.
put_inner_thoughts_in_kwargs?: boolean | null
Puts 'inner_thoughts' as a kwarg in the function call if this is set to True. This helps with function calling performance and also the generation of inner thoughts.
reasoning_effort?: "minimal" | "low" | "medium" | "high" | null
The reasoning effort to use when generating text reasoning models
temperature?: number
The temperature to use when generating text with the model. A higher temperature will result in more random text.
tier?: string | null
The cost tier for the model (cloud only).
verbosity?: "low" | "medium" | "high" | null
Soft control for how verbose model output should be, used for GPT-5 models.
Deprecatedmemory: Memory { blocks, agent_type, file_blocks, prompt_template }
Deprecated: Use blocks field instead. The in-context memory of the agent.
Memory blocks contained in the agent's in-context memory
value: string
Value of the block.
id?: string
The human-friendly ID of the Block
base_template_id?: string | null
The base template id of the block.
created_by_id?: string | null
The id of the user that made this Block.
deployment_id?: string | null
The id of the deployment.
description?: string | null
Description of the block.
entity_id?: string | null
The id of the entity within the template.
hidden?: boolean | null
If set to True, the block will be hidden.
is_template?: boolean
Whether the block is a template (e.g. saved human/persona options).
label?: string | null
Label of the block (e.g. 'human', 'persona') in the context window.
last_updated_by_id?: string | null
The id of the user that last updated this Block.
limit?: number
Character limit of the block.
metadata?: Record<string, unknown> | null
Metadata of the block.
preserve_on_migration?: boolean | null
Preserve the block on template migration.
project_id?: string | null
The associated project id.
read_only?: boolean
Whether the agent has read-only access to the block.
template_id?: string | null
The id of the template.
template_name?: string | null
Name of the block if it is a template.
Agent type controlling prompt rendering.
AgentType = "memgpt_agent" | "memgpt_v2_agent" | "letta_v1_agent" | 6 more
Enum to represent the type of agent.
file_blocks?: Array<FileBlock>
Special blocks representing the agent's in-context memory of an attached file
file_id: string
Unique identifier of the file.
is_open: boolean
True if the agent currently has the file open.
source_id: string
Unique identifier of the source.
value: string
Value of the block.
id?: string
The human-friendly ID of the Block
base_template_id?: string | null
The base template id of the block.
created_by_id?: string | null
The id of the user that made this Block.
deployment_id?: string | null
The id of the deployment.
description?: string | null
Description of the block.
entity_id?: string | null
The id of the entity within the template.
hidden?: boolean | null
If set to True, the block will be hidden.
is_template?: boolean
Whether the block is a template (e.g. saved human/persona options).
label?: string | null
Label of the block (e.g. 'human', 'persona') in the context window.
last_accessed_at?: string | null
UTC timestamp of the agent’s most recent access to this file. Any operations from the open, close, or search tools will update this field.
last_updated_by_id?: string | null
The id of the user that last updated this Block.
limit?: number
Character limit of the block.
metadata?: Record<string, unknown> | null
Metadata of the block.
preserve_on_migration?: boolean | null
Preserve the block on template migration.
project_id?: string | null
The associated project id.
read_only?: boolean
Whether the agent has read-only access to the block.
template_id?: string | null
The id of the template.
template_name?: string | null
Name of the block if it is a template.
prompt_template?: string
Deprecated. Ignored for performance.
name: string
The name of the agent.
sources: Array<Source>
The sources used by the agent.
id: string
The human-friendly ID of the Source
embedding_config: EmbeddingConfig { embedding_dim, embedding_endpoint_type, embedding_model, 7 more }
The embedding configuration used by the source.
embedding_dim: number
The dimension of the embedding.
embedding_endpoint_type: "openai" | "anthropic" | "bedrock" | 16 more
The endpoint type for the model.
embedding_model: string
The model for the embedding.
azure_deployment?: string | null
The Azure deployment for the model.
azure_endpoint?: string | null
The Azure endpoint for the model.
azure_version?: string | null
The Azure version for the model.
batch_size?: number
The maximum batch size for processing embeddings.
embedding_chunk_size?: number | null
The chunk size of the embedding.
embedding_endpoint?: string | null
The endpoint for the model (None if local).
handle?: string | null
The handle for this config, in the format provider/model-name.
name: string
The name of the source.
created_at?: string | null
The timestamp when the source was created.
created_by_id?: string | null
The id of the user that made this Tool.
description?: string | null
The description of the source.
instructions?: string | null
Instructions for how to use the source.
last_updated_by_id?: string | null
The id of the user that made this Tool.
metadata?: Record<string, unknown> | null
Metadata associated with the source.
updated_at?: string | null
The timestamp when the source was last updated.
The vector database provider used for this source's passages
system: string
The system prompt used by the agent.
tags: Array<string>
The tags associated with the agent.
The tools used by the agent.
id: string
The human-friendly ID of the Tool
args_json_schema?: Record<string, unknown> | null
The args JSON schema of the function.
created_by_id?: string | null
The id of the user that made this Tool.
default_requires_approval?: boolean | null
Default value for whether or not executing this tool requires approval.
description?: string | null
The description of the tool.
enable_parallel_execution?: boolean | null
If set to True, then this tool will potentially be executed concurrently with other tools. Default False.
json_schema?: Record<string, unknown> | null
The JSON schema of the function.
last_updated_by_id?: string | null
The id of the user that made this Tool.
metadata_?: Record<string, unknown> | null
A dictionary of additional metadata for the tool.
name?: string | null
The name of the function.
Optional list of npm packages required by this tool.
name: string
Name of the npm package.
version?: string | null
Optional version of the package, following semantic versioning.
Optional list of pip packages required by this tool.
name: string
Name of the pip package.
version?: string | null
Optional version of the package, following semantic versioning.
return_char_limit?: number
The maximum number of characters in the response.
source_code?: string | null
The source code of the function.
source_type?: string | null
The type of the source code.
tags?: Array<string>
Metadata tags.
The type of the tool.
base_template_id?: string | null
The base template id of the agent.
created_at?: string | null
The timestamp when the object was created.
created_by_id?: string | null
The id of the user that made this object.
deployment_id?: string | null
The id of the deployment.
description?: string | null
The description of the agent.
embedding?: Embedding | null
Schema for defining settings for an embedding model
model: string
The name of the model.
provider: "openai" | "ollama"
The provider of the model.
enable_sleeptime?: boolean | null
If set to True, memory management will move to a background agent thread.
entity_id?: string | null
The id of the entity within the template.
hidden?: boolean | null
If set to True, the agent will be hidden.
The identities associated with this agent.
id: string
The human-friendly ID of the Identity
Deprecatedagent_ids: Array<string>
The IDs of the agents associated with the identity.
Deprecatedblock_ids: Array<string>
The IDs of the blocks associated with the identity.
identifier_key: string
External, user-generated identifier key of the identity.
The type of the identity.
name: string
The name of the identity.
project_id?: string | null
The project id of the identity, if applicable.
List of properties associated with the identity
key: string
The key of the property
type: "string" | "number" | "boolean" | "json"
The type of the property
value: string | number | boolean | Record<string, unknown>
The value of the property
Deprecatedidentity_ids?: Array<string>
Deprecated: Use identities field instead. The ids of the identities associated with this agent.
last_run_completion?: string | null
The timestamp when the agent last completed a run.
last_run_duration_ms?: number | null
The duration in milliseconds of the agent's last run.
The stop reason from the agent's last run.
last_updated_by_id?: string | null
The id of the user that made this object.
The multi-agent group that this agent manages
id: string
The id of the group. Assigned by the database.
base_template_id?: string | null
The base template id.
deployment_id?: string | null
The id of the deployment.
hidden?: boolean | null
If set to True, the group will be hidden.
max_message_buffer_length?: number | null
The desired maximum length of messages in the context window of the convo agent. This is a best effort, and may be off slightly due to user/assistant interleaving.
min_message_buffer_length?: number | null
The desired minimum length of messages in the context window of the convo agent. This is a best effort, and may be off-by-one due to user/assistant interleaving.
project_id?: string | null
The associated project id.
template_id?: string | null
The id of the template.
max_files_open?: number | null
Maximum number of files that can be open at once for this agent. Setting this too high may exceed the context window, which will break the agent.
message_buffer_autoclear?: boolean
If set to True, the agent will not remember previous messages (though the agent will still retain state via core memory blocks and archival/recall memory). Not recommended unless you have an advanced use case.
message_ids?: Array<string> | null
The ids of the messages in the agent's in-context memory.
metadata?: Record<string, unknown> | null
The metadata of the agent.
model?: Model | null
Schema for defining settings for a model
model: string
The name of the model.
max_output_tokens?: number
The maximum number of tokens the model can generate.
parallel_tool_calls?: boolean
Whether to enable parallel tool calling.
Deprecated: Use managed_group field instead. The multi-agent group that this agent manages.
id: string
The id of the group. Assigned by the database.
base_template_id?: string | null
The base template id.
deployment_id?: string | null
The id of the deployment.
hidden?: boolean | null
If set to True, the group will be hidden.
max_message_buffer_length?: number | null
The desired maximum length of messages in the context window of the convo agent. This is a best effort, and may be off slightly due to user/assistant interleaving.
min_message_buffer_length?: number | null
The desired minimum length of messages in the context window of the convo agent. This is a best effort, and may be off-by-one due to user/assistant interleaving.
project_id?: string | null
The associated project id.
template_id?: string | null
The id of the template.
per_file_view_window_char_limit?: number | null
The per-file view window character limit for this agent. Setting this too high may exceed the context window, which will break the agent.
project_id?: string | null
The id of the project the agent belongs to.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
The response format used by the agent
TextResponseFormat { type }
Response format for plain text responses.
type?: "text"
The type of the response format.
JsonSchemaResponseFormat { json_schema, type }
Response format for JSON schema-based responses.
json_schema: Record<string, unknown>
The JSON schema of the response.
type?: "json_schema"
The type of the response format.
JsonObjectResponseFormat { type }
Response format for JSON object responses.
type?: "json_object"
The type of the response format.
The environment variables for tool execution specific to this agent.
agent_id: string
The ID of the agent this environment variable belongs to.
key: string
The name of the environment variable.
value: string
The value of the environment variable.
id?: string
The human-friendly ID of the Agent-env
created_at?: string | null
The timestamp when the object was created.
created_by_id?: string | null
The id of the user that made this object.
description?: string | null
An optional description of the environment variable.
last_updated_by_id?: string | null
The id of the user that made this object.
updated_at?: string | null
The timestamp when the object was last updated.
value_enc?: string | null
Encrypted secret value (stored as encrypted string)
template_id?: string | null
The id of the template the agent belongs to.
timezone?: string | null
The timezone of the agent (IANA format).
Deprecatedtool_exec_environment_variables?: Array<AgentEnvironmentVariable { agent_id, key, value, 7 more } >
Deprecated: use secrets field instead.
agent_id: string
The ID of the agent this environment variable belongs to.
key: string
The name of the environment variable.
value: string
The value of the environment variable.
id?: string
The human-friendly ID of the Agent-env
created_at?: string | null
The timestamp when the object was created.
created_by_id?: string | null
The id of the user that made this object.
description?: string | null
An optional description of the environment variable.
last_updated_by_id?: string | null
The id of the user that made this object.
updated_at?: string | null
The timestamp when the object was last updated.
value_enc?: string | null
Encrypted secret value (stored as encrypted string)
tool_rules?: Array<ChildToolRule { children, tool_name, child_arg_nodes, 2 more } | InitToolRule { tool_name, args, prompt_template, type } | TerminalToolRule { tool_name, prompt_template, type } | 6 more> | null
The list of tool rules.
ChildToolRule { children, tool_name, child_arg_nodes, 2 more }
A ToolRule represents a tool that can be invoked by the agent.
children: Array<string>
The children tools that can be invoked.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
child_arg_nodes?: Array<ChildArgNode> | null
Optional list of typed child argument overrides. Each node must reference a child in 'children'.
name: string
The name of the child tool to invoke next.
args?: Record<string, unknown> | null
Optional prefilled arguments for this child tool. Keys must match the tool's parameter names and values must satisfy the tool's JSON schema. Supports partial prefill; non-overlapping parameters are left to the model.
prompt_template?: string | null
Optional template string (ignored).
type?: "constrain_child_tools"
InitToolRule { tool_name, args, prompt_template, type }
Represents the initial tool rule configuration.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
args?: Record<string, unknown> | null
Optional prefilled arguments for this tool. When present, these values will override any LLM-provided arguments with the same keys during invocation. Keys must match the tool's parameter names and values must satisfy the tool's JSON schema. Supports partial prefill; non-overlapping parameters are left to the model.
prompt_template?: string | null
Optional template string (ignored). Rendering uses fast built-in formatting for performance.
type?: "run_first"
TerminalToolRule { tool_name, prompt_template, type }
Represents a terminal tool rule configuration where if this tool gets called, it must end the agent loop.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
prompt_template?: string | null
Optional template string (ignored).
type?: "exit_loop"
ConditionalToolRule { child_output_mapping, tool_name, default_child, 3 more }
A ToolRule that conditionally maps to different child tools based on the output.
child_output_mapping: Record<string, string>
The output case to check for mapping
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
default_child?: string | null
The default child tool to be called. If None, any tool can be called.
prompt_template?: string | null
Optional template string (ignored).
require_output_mapping?: boolean
Whether to throw an error when output doesn't match any case
type?: "conditional"
ContinueToolRule { tool_name, prompt_template, type }
Represents a tool rule configuration where if this tool gets called, it must continue the agent loop.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
prompt_template?: string | null
Optional template string (ignored).
type?: "continue_loop"
RequiredBeforeExitToolRule { tool_name, prompt_template, type }
Represents a tool rule configuration where this tool must be called before the agent loop can exit.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
prompt_template?: string | null
Optional template string (ignored).
type?: "required_before_exit"
MaxCountPerStepToolRule { max_count_limit, tool_name, prompt_template, type }
Represents a tool rule configuration which constrains the total number of times this tool can be invoked in a single step.
max_count_limit: number
The max limit for the total number of times this tool can be invoked in a single step.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
prompt_template?: string | null
Optional template string (ignored).
type?: "max_count_per_step"
ParentToolRule { children, tool_name, prompt_template, type }
A ToolRule that only allows a child tool to be called if the parent has been called.
children: Array<string>
The children tools that can be invoked.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
prompt_template?: string | null
Optional template string (ignored).
type?: "parent_last_tool"
RequiresApprovalToolRule { tool_name, prompt_template, type }
Represents a tool rule configuration which requires approval before the tool can be invoked.
tool_name: string
The name of the tool. Must exist in the database for the user's organization.
prompt_template?: string | null
Optional template string (ignored). Rendering uses fast built-in formatting for performance.
type?: "requires_approval"
updated_at?: string | null
The timestamp when the object was last updated.
func_return?: unknown
The function return object
sandbox_config_fingerprint?: string | null
The fingerprint of the config for the sandbox
stderr?: Array<string> | null
Captured stderr from the function invocation
stdout?: Array<string> | null
Captured stdout (prints, logs) from function invocation
UpdateSseMcpServer { token, auth_header, auth_token, 3 more }
Update schema for SSE MCP server - all fields optional
token?: string | null
The authentication token (internal)
auth_header?: string | null
The name of the authentication header (e.g., 'Authorization')
auth_token?: string | null
The authentication token or API key value
custom_headers?: Record<string, string> | null
Custom headers to send with requests
server_name?: string | null
The name of the MCP server
server_url?: string | null
The URL of the SSE MCP server
UpdateStdioMcpServer { args, command, env, server_name }
Update schema for Stdio MCP server - all fields optional
args?: Array<string> | null
The arguments to pass to the command
command?: string | null
The command to run the MCP server
env?: Record<string, string> | null
Environment variables to set
server_name?: string | null
The name of the MCP server
UpdateStreamableHTTPMcpServer { token, auth_header, auth_token, 3 more }
Update schema for Streamable HTTP MCP server - all fields optional
token?: string | null
The authentication token (internal)
auth_header?: string | null
The name of the authentication header (e.g., 'Authorization')
auth_token?: string | null
The authentication token or API key value
custom_headers?: Record<string, string> | null
Custom headers to send with requests
server_name?: string | null
The name of the MCP server
server_url?: string | null
The URL of the Streamable HTTP MCP server