Skip to main content

Built-in tools

Tools are the capabilities you grant to an agent. Most ship in a mc-agent-tools-* module and register via the ToolFactory SPI — add the module to the runtime and the tool is available to assign. Some live in mc-agent-runtime-core itself (the todo tools, tool_search, and the inline run_agent/run_agents), and dynamic bundles like Gmail or workflow tools use the second SPI, MultiToolProvider. This page lists the built-in tools, what they do, and any configuration or environment keys they need.

Most tools need no configuration. The ones that do are called out in the Needs column; environment variables are documented on the environment variables page.

Core tools (mc-agent-tools)

Always available; no API keys required.

ToolDescriptionNeeds
get_current_datetimeReturns the current date and time in ISO-8601 with timezone.
list_agentsLists the agents in the current namespace with their names and descriptions.
bashExecutes a bash command in the configured working directory.Working dir (config)
file_readReads a plain-text file (path relative to the base directory).Base dir (config)
file_writeWrites a file, creating parent directories as needed.Base dir (config)
file_listLists files and directories under a path.Base dir (config)
globFinds files by name pattern, newest first.Base dir (config)
fetch_tool_resultReloads the full content of a tool result evicted from the live context.

Orchestration tools (mc-agent-runtime-core)

ToolDescriptionNeeds
run_agentDelegates a task to another agent by name — see sub-agents.
run_agentsFans several sub-agent calls out in parallel.
tool_searchLets the agent find and activate its deferred tools on demand.The agent's toolSearch config
view_attachmentShows an attached image or PDF to the model again — as a message of its own in the running turn, since media goes with a message in its own turn only. Activated for a session when an image or PDF is attached; see images and documents as message parts.

The file tools resolve paths against a base directory (mindconnect.tools.base-dir). It defaults to the user home — in the Admin UI too (its mindconnect.data.base-dir: ./data is a different property that only controls where stored data lives, not the file tools).

Workspace tools (mc-agent-tools)

The shared file area agents use to exchange work (see workspace & collaboration). No keys required.

ToolDescription
workspace_writeWrites (or overwrites) a file in a workspace scope.
workspace_readReads a file from a workspace scope.
workspace_listLists files available in a workspace scope.

Web tools (mc-agent-tools-web)

ToolDescriptionNeeds
web_searchSearches the web — the agent's first stop for web information.TAVILY_API_KEY — the tool is disabled if it's not set
web_readFetches and reads the full content of a specific URL as text (HTML converted to text).

web_search uses Tavily. Provide the key via the TAVILY_API_KEY environment variable; without it the factory reports the tool as unavailable.

Browser tool (mc-agent-tools-web-browser)

ToolDescriptionNeeds
web_read_browserFetches a URL via a headless browser (JavaScript executed) and returns the rendered page — for JS-heavy sites web_read can't handle.Playwright Chromium (downloaded on first use)

Document tools (mc-agent-tools-document)

For long PDFs and Word .docx files. No keys required (base dir config like the file tools).

ToolDescription
document_outlineReturns the structural outline of a long document (PDF / .docx).
document_sectionsLists a document's sections.
read_documentReads a specific page range from a long document.
read_document_sectionReads one section by reference.
grep_documentSearches inside a single long document for a regex pattern.
document_file_readReads a document file from the base directory.
document_writeWrites a document file.

Code execution (mc-agent-tools-code)

ToolDescriptionNeeds
code_executeRuns code in a disposable container sandbox (docker/podman).A container runtime; limits via mindconnect.code-exec.* (runtime, network, languages, memory, cpus, timeout-seconds, idle-seconds)

Knowledge tools (mc-vector-store-tools)

Semantic search over vector stores; embedding happens inside the tool. Needs an EMBEDDING-type LLM config (default name embeddings, via mindconnect.vector-store.embedding-config). See vector store & file store for the whole knowledge layer.

ToolDescription
vector_upsertAdds/updates chunks in a vector store.
vector_searchSemantic similarity search.
vector_ingest_fileChunks and ingests a whole file.
vector_delete_fileRemoves a file's chunks.

Workflow tools (mc-agent-tools-workflow)

Every persisted workflow is exposed as its own tool, workflow_<id>, with parameters generated from the workflow's input schema — the bridge between the agents and the workflow engine.

Todo tools (mc-agent-runtime-core)

A session-scoped planning list the LLM maintains while it works. No keys required.

ToolDescription
todo_writeCreates / updates the session todo list.
todo_readReads the current session todo list.

Gmail tools (mc-agent-tools-gmail)

Gmail is exposed through an MCP server (mcp/gmail, run via Docker). Each Gmail sub-tool appears as gmail_<name> (e.g. gmail_search_emails, gmail_read_email).

NeedsNotes
DockerRuns the mcp/gmail image (override with mc.tools.gmail.docker-image).
OAuth credentialsgcp-oauth.keys.json + credentials.json in ~/.gmail-mcp (override with mc.tools.gmail.credentials-dir).

Assigning tools to an agent

Which tools an agent can use is part of its definition — manage them in the Admin UI → Tools and per-agent in the agent detail view. To add a tool of your own, see creating a tool.