Tools

Built-in MCP Servers

Copy page

Pre-built MCP servers you can add to agents without hosting or configuring a server URL.

Built-in MCP servers are pre-built tool collections hosted and maintained for you. Import them directly from @inkeep/agents-sdk and add them to any agent — no server URL required. Search servers require a credential to be configured.

Available servers

ExportServerDescription
INKEEP_COREUTILSinkeep-coreutilsCore text and data tools: search, replace, slice, diff, patch, window, JSON, encoding, hash, HTML, and utilities
INKEEP_HTTPinkeep-httpOutbound HTTP requests via curl
INKEEP_MEDIAinkeep-mediaImage processing: info, resize, crop
INKEEP_SEARCH.EXAinkeep-search-exaWeb search powered by Exa. Requires a credential.
INKEEP_SEARCH.TAVILYinkeep-search-tavilyWeb search powered by Tavily. Requires a credential.
INKEEP_SEARCH.BRAVEinkeep-search-braveWeb search powered by Brave. Requires a credential.
INKEEP_SEARCH.SERPAPIinkeep-search-serpapiWeb search powered by SerpAPI. Requires a credential.

Usage

import { subAgent } from "@inkeep/agents-sdk";
import { INKEEP_COREUTILS, INKEEP_SEARCH } from "@inkeep/agents-sdk";

const myAgent = subAgent({
  id: "my-agent",
  name: "My Agent",
  description: "An agent with access to built-in tools",
  prompt: "You are a helpful assistant.",
  canUse: () => [INKEEP_COREUTILS, INKEEP_SEARCH.TAVILY],
});

Selecting specific tools

Use .with() to enable only a subset of tools:

import { INKEEP_COREUTILS, INKEEP_COREUTILS_TOOLS } from "@inkeep/agents-sdk";

canUse: () => [
  INKEEP_COREUTILS.with({
    selectedTools: [
      INKEEP_COREUTILS_TOOLS.TEXT_SEARCH,
      INKEEP_COREUTILS_TOOLS.TEXT_REPLACE,
      INKEEP_COREUTILS_TOOLS.JSON_QUERY,
    ],
  }),
]

Tool reference

INKEEP_COREUTILS

ToolDescription
text_searchSearch for a pattern in text. Supports regex, case control, context lines, invert match, and count mode.
text_replaceFind and replace text. Supports literal or regex patterns, global or single replacement, and capture group references.
text_sliceExtract a contiguous portion of text by line range, character range, or pattern-bounded range.
text_diffGenerate a unified diff between two strings.
text_patchApply a unified diff patch to a string.
text_windowReturn the first N lines, last N lines, or both from text.
json_formatPretty-print a JSON string or object.
json_queryExtract a value from a JSON object using a JMESPath expression.
json_mergeDeep or shallow merge two JSON objects.
json_diffShow structural differences between two JSON values.
base64_encodeEncode a string to base64.
base64_decodeDecode a base64 string to UTF-8 text.
url_encodePercent-encode a string for use in a URL.
url_decodeDecode a percent-encoded URL string.
hashCompute a cryptographic hash (MD5, SHA-1, SHA-256, SHA-512).
html_to_markdownConvert HTML to Markdown.
calculateEvaluate a numeric arithmetic expression.
uuidGenerate a random UUID (v4).
timestampGet the current date/time in ISO, Unix, UTC, or locale format.

INKEEP_HTTP

ToolDescription
curlMake an outbound HTTP request and return the response.

INKEEP_MEDIA

ToolDescription
image_infoGet metadata about an image (dimensions, format, size).
image_resizeResize an image to specified dimensions.
image_cropCrop an image to a specified region.

Each search provider is a separate server. Use INKEEP_SEARCH.EXA, INKEEP_SEARCH.TAVILY, INKEEP_SEARCH.BRAVE, or INKEEP_SEARCH.SERPAPI.

ToolDescription
web_searchSearch the web and return relevant results.
Note
Note

Built-in servers can also be added from the Visual Builder under Tools → Built-in Servers, without writing any code.