lt.mcp
lt.mcp manages MCP server registrations, live connections, credential status and tool calls. See MCP and the MCP tool reference.
listServers
Section titled “listServers”const result = await lt.mcp.listServers({ status: 'active', limit: 10 });List registered MCP servers with filtering and pagination.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
No | Filter by server status (for example 'active', 'inactive') |
auto_connect |
boolean |
No | Filter by the auto-connect setting |
search |
string |
No | Free-text search across names and descriptions |
tags |
string[] |
No | Servers matching any of these tags |
limit |
number |
No | Max results |
offset |
number |
No | Pagination offset |
Returns: LTApiResult<{ servers: McpServer[], total: number }>
Auth: Not required.
createServer
Section titled “createServer”const result = await lt.mcp.createServer({ name: 'my-server', transport_type: 'sse', transport_config: { url: 'https://mcp.example.com/sse' },});Register an MCP server.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | Unique display name |
description |
string |
No | Description |
transport_type |
string |
Yes | Transport protocol (for example 'sse', 'stdio') |
transport_config |
Record<string, any> |
Yes | Transport-specific connection settings |
auto_connect |
boolean |
No | Connect automatically on startup |
metadata |
Record<string, any> |
No | Arbitrary metadata |
tags |
string[] |
No | Tags for discovery and filtering |
compile_hints |
any |
No | Hints used when compiling workflows that call these tools |
credential_providers |
string[] |
No | Credential provider ids the server’s tools need |
Returns: LTApiResult<McpServer>
Auth: Not required.
testConnection
Section titled “testConnection”const result = await lt.mcp.testConnection({ transport_type: 'sse', transport_config: { url: 'https://mcp.example.com/sse' },});Test connectivity to an MCP server without saving it.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
transport_type |
string |
Yes | Transport protocol to test |
transport_config |
Record<string, any> |
Yes | Transport-specific connection settings |
Returns: LTApiResult<{ success: boolean, error?: string, tools: any[] }>
Auth: Not required.
getServer
Section titled “getServer”const result = await lt.mcp.getServer({ id: 'server-id' });Get one MCP server by ID.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
Returns: LTApiResult<McpServer>
Auth: Not required.
updateServer
Section titled “updateServer”const result = await lt.mcp.updateServer({ id: 'server-id', description: 'Updated description' });Update fields on an MCP server.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
... |
any |
No | Any mutable server field (name, description, transport_config and so on) |
Returns: LTApiResult<McpServer>
Auth: Not required.
deleteServer
Section titled “deleteServer”const result = await lt.mcp.deleteServer({ id: 'server-id' });Delete an MCP server.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
Returns: LTApiResult<{ deleted: true }>
Auth: Not required.
connectServer
Section titled “connectServer”const result = await lt.mcp.connectServer({ id: 'server-id' });Open a live connection to a registered MCP server.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
Returns: LTApiResult<{ connected: true, serverId: string }>
Auth: Not required.
disconnectServer
Section titled “disconnectServer”const result = await lt.mcp.disconnectServer({ id: 'server-id' });Close a live MCP server connection.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
Returns: LTApiResult<{ disconnected: true, serverId: string }>
Auth: Not required.
getCredentialStatus
Section titled “getCredentialStatus”const result = await lt.mcp.getCredentialStatus({ id: 'server-id' });Report which credential providers a server needs, which the caller has registered, and which are missing.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
Returns: LTApiResult<{ required: string[], registered: string[], missing: string[] }>
Auth: Required. Credentials resolve against the authenticated user.
listTools
Section titled “listTools”const result = await lt.mcp.listTools({ id: 'server-id' });List the tools a connected MCP server exposes.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
Returns: LTApiResult<{ tools: any[] }>
Auth: Not required.
callTool
Section titled “callTool”const result = await lt.mcp.callTool({ id: 'server-id', toolName: 'screenshot', arguments: { url: 'https://example.com' },});Call a tool on a connected MCP server.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | Server ID |
toolName |
string |
Yes | Tool to call |
arguments |
Record<string, any> |
No | Tool arguments |
execute_as |
string |
No | Account id or external_id to run the tool as |
Returns: LTApiResult<{ result: any }>
Auth: Required (401 without it). The tool runs as the caller, or as execute_as when given. For execute_as, a superadmin may act as anyone, and a caller holding an admin-type grant may act as an account that holds no superadmin grant and whose every role the caller holds at the same or higher type. A built-in tool requires the capability its manifest gate declares, checked for the acting account; a built-in tool with no gate requires builder access (superadmin or the engineer role). Refusals return 403.
