Table of Contents

Namespace LMKit.Agents.Tools.BuiltIn.Net

Classes

FtpDeleteTool

A built-in tool for deleting a file on an FTP server.

This is an irreversible operation. The file cannot be recovered after deletion.

FtpDownloadTool

A built-in tool for downloading a file from an FTP server.

Downloads a remote file and either saves it to a local path or returns the content as text. When returning as text, content is truncated to the configured maximum text length. Local path access is validated against the configured allow/block lists.

FtpListTool

A built-in tool for listing files and directories on an FTP server.

Retrieves directory listings with parsed entry metadata (name, type, size, permissions, date). Also supports querying individual file information (size and last modification time) via the optional infoPath parameter.

FtpMkdirTool

A built-in tool for creating a directory on an FTP server.

Issues an MKD command to create a new directory at the specified remote path.

FtpRenameTool

A built-in tool for renaming or moving a file on an FTP server.

Issues RNFR/RNTO commands to rename a remote file or move it to a different path.

FtpRmdirTool

A built-in tool for removing a directory on an FTP server.

This is an irreversible operation. The directory and its metadata cannot be recovered after removal. The directory must typically be empty for the RMD command to succeed.

FtpTestTool

A built-in tool for testing the connection to an FTP server.

Connects to the server, retrieves the system type and current working directory, and measures the elapsed time. Useful for verifying credentials and connectivity before performing other operations.

FtpToolOptions

Configuration options shared by all FTP tools.

FtpUploadTool

A built-in tool for uploading a file to an FTP server.

Supports uploading from inline text content or from a local file path. Local path access is validated against the configured allow/block lists. File size is checked against the configured maximum before transfer.

HttpDeleteTool

Makes an HTTP DELETE request to remove a resource.

Enables agents to delete resources on REST APIs and other HTTP endpoints that accept DELETE requests.

HttpDownloadTool

Downloads a file from a URL to the local filesystem with streaming and size limits.

HttpGetTool

Makes an HTTP GET request to fetch content from a URL.

This is a read-only tool that retrieves web content, API responses, and other resources accessible via HTTP GET.

HttpHeadTool

Makes an HTTP HEAD request to retrieve response headers without body.

Enables agents to check resource metadata, verify URL existence, and inspect headers without downloading the full response body.

HttpPatchTool

Makes an HTTP PATCH request to partially update a resource.

Enables agents to apply partial modifications to resources on REST APIs and other HTTP endpoints that accept PATCH requests.

HttpPostTool

Makes an HTTP POST request to send data to a URL.

Enables agents to submit data to REST APIs, web services, and other HTTP endpoints that accept POST requests.

HttpPutTool

Makes an HTTP PUT request to replace a resource at a URL.

Enables agents to update or replace resources on REST APIs and other HTTP endpoints that accept PUT requests.

HttpToolOptions

Configuration options shared by all HTTP tools.

NetworkConnectivityTool

Test overall network connectivity by checking internet reachability and DNS resolution.

NetworkDnsTool

Perform DNS lookups: resolve hostnames to IP addresses, or reverse-resolve IPs to hostnames.

NetworkInterfacesTool

A built-in tool for listing network interfaces.

Lists all active network interfaces with their addresses, types, speeds, and operational status.

NetworkPingTool

Ping a host to measure latency and check reachability.

NetworkPortCheckTool

Check whether a specific TCP port is open on a remote host.

NetworkPortScanTool

Scan multiple TCP ports on a remote host to find open services.

NetworkToolOptions

Configuration options for network diagnostic tools.

RssFeedToolOptions

Configuration options for RSS feed tools.

RssFetchTool

A built-in tool for fetching and parsing RSS and Atom feeds.

Supports fetching feeds from URLs, parsing raw XML content, and filtering entries by keyword or date.

SmtpSendTool

A built-in tool for sending emails via SMTP.

Enables agents to compose and send email messages with optional CC, BCC, reply-to, priority, and HTML body support.

SmtpTestTool

A built-in tool for testing SMTP connectivity and validating email addresses.

Test SMTP server connections and validate email address format.

SmtpToolOptions

Configuration options for SMTP tools.

WebEgressFetcher

The fetch that honors WebEgressPolicy end to end: redirects are followed manually so EVERY hop re-enters validation, connections go to the hop's pinned addresses (a name cannot re-resolve to something private between check and connect), and the body is read from the decompressed stream under a hard byte cap.

WebEgressFetcher.FetchResult

One completed fetch, body capped by policy.

WebEgressFetcher.StreamResult

One validated fetch handed over as a stream: the headers arrived under the policy's timeout and every redirect hop was validated, but the body is the caller's to read at its own pace (a large download is not bounded by the policy's byte cap or wall clock). Dispose releases the connection.

WebEgressPolicy

The one gate every server-side web fetch passes through. Tools run on the host that serves remote callers, so an unchecked URL is a route into that host's own network; this policy decides what a fetch may reach and pins how it connects.

Two modes. PublicWeb (the default) requires no configuration: any public web destination is reachable, while every address in the host's own world (loopback, RFC1918, link-local and its metadata endpoints, CGNAT, ULA, multicast, reserved) is unreachable by construction. AllowedHostsOnly additionally requires the destination host to be explicitly listed.

Independent of mode, PrivateAllowedHosts names the intranet endpoints an administrator deliberately opens; only those may resolve to non-public addresses.

Connections are DNS-PINNED: names resolve once per hop, every resolved address is validated, and the socket connects to an address from that validated set, so a name cannot re-resolve to something private between check and connect. Redirects are followed manually and each hop re-enters the full validation.

WebReadTool

Reads the main content of a public web page as clean Markdown: the step after web_search, which only names pages. Navigation, scripts, forms, banners, and repeated site chrome are stripped; the result carries the page title, the canonical URL, the source domain, and the publication date when the page states one.

The model-facing schema is the URL alone. Every limit (timeout, redirects, response size, content cap) and the whole egress policy (public-web or allowed-hosts mode, private-address protection, pinned connections) are server-side settings on WebReadTool.Options, never the model's to choose.

WebReadTool.Options

Server-side settings; nothing here is model-facing.

WebSearchTool

A built-in tool for performing web searches using various search providers.

Enables agents to search the web for information using DuckDuckGo, Brave Search, SearXNG, Tavily, Serper, or custom search providers.

Production note: the default DuckDuckGo provider scrapes the public no-JavaScript HTML endpoint and is rate-limited aggressively by anti-bot protections. It is suitable for local development and ad-hoc queries only. For production agent workloads, use Brave, Tavily, or Serper (all offer free tiers and require an API key).

WebSearchTool.Options

Configuration options for WebSearchTool.

WebSearchTool.RawContentEventArgs

Provides data for the RawContentReceived event.

Contains the full raw HTML or JSON response from the search provider, allowing access to the complete page content before processing.

WebSearchTool.Response

Represents a web search response from WebSearchTool.

WebSearchTool.Result

Represents a single web search result from WebSearchTool.

WebSearchTool.ResultProcessingEventArgs

Provides data for the ResultProcessing event.

Contains the processed result along with the raw (unprocessed) content, allowing inspection or filtering of individual results.

Structs

WebEgressPolicy.Decision

One validation verdict: allowed, or refused with the reason.

Enums

WebEgressPolicy.EgressMode

How the gate treats destination hosts.

WebSearchTool.Provider

Specifies the search provider to use with WebSearchTool.

Share