Capabilities
Capabilities are built-in tools that extend what your agents can do beyond pure language generation. When you enable a capability on an agent, TARX adds the corresponding tool definition to the LLM's tool list. The model decides when to call each tool during its reasoning process.
There are two capabilities:
| Capability | What It Does |
|---|---|
web_search | Search the web and return relevant results |
web_scraper | Fetch and extract text from a URL |
The agent-level capability set is intentionally small. For calling APIs inside a workflow, use the dedicated http_request node (in the workflow editor) — it is a separate feature from agent capabilities. For richer integrations (databases, SaaS tools), attach an MCP server to the agent. There is no agent-level code execution.
How Capabilities Work
When an agent has capabilities enabled, the execution flow is:
The model can make multiple tool calls in one execution. For example, a research agent might:
- Call
web_search("topic")→ get result URLs - Call
web_scraper("url1")→ get article text - Call
web_scraper("url2")→ get article text - Synthesize both results into a final answer
TARX limits tool call rounds per agent execution to prevent infinite loops.
web_search
Searches the web and returns the top results.
Tool Input
{
"query": "string — the search query",
"num_results": 5
}
Tool Output
{
"results": [
{
"title": "Result title",
"url": "https://...",
"snippet": "Brief text excerpt from the page..."
}
],
"query": "the search query",
"count": 5
}
When to Enable
- Any agent that needs current information (news, prices, events, recent research)
- Research agents that need to find sources before writing
- Competitive analysis or market monitoring workflows
- Any task where the training data cutoff matters
System Prompt Guidance
When enabling web_search, add instructions about how to use search results:
Use web_search to find current, authoritative information. Prefer:
- Official documentation and company websites
- Research papers and academic sources
- Recent news from established outlets
Always include sources in your response using the URLs from search results.
Never state search results as facts without citing where you found them.
web_scraper
Fetches a URL and extracts the readable text content from the page.
Tool Input
{
"url": "string — the URL to fetch"
}
Tool Output
{
"url": "https://...",
"title": "Page title",
"text": "Extracted text content of the page..."
}
When to Enable
- Agents that need to read full article/documentation content (not just snippets)
- Workflows that monitor specific URLs for content changes
- Data extraction pipelines that need to read web pages
- Research agents that follow links from search results
Usage Pattern
web_scraper is almost always paired with web_search. The search finds URLs, the scraper reads the full content:
1. web_search("topic") → get URLs
2. web_scraper("url1") → read full content
3. Synthesize and respond
Limitations
- Cannot execute JavaScript (returns server-rendered HTML only)
- Cannot handle login-required pages
- Very long pages are truncated to prevent context overflow
- Some sites block scraping (Cloudflare, CAPTCHAs)
Best Practices
Match the Tool to the Task
| Task | Use |
|---|---|
| Research and summarize | web_search + web_scraper capabilities |
| Call an API inside a workflow | http_request node (workflow editor) |
| Integrate a database / SaaS tool | MCP server attached to the agent |
Set Clear Tool Usage Instructions
In your system prompt, tell the agent when and how to use capabilities. Don't leave it to the model to guess.
Watch Token Overhead
Each enabled capability adds tool-definition tokens to every LLM call. Enable only what the agent actually uses.