Tool Catalog
The Tools module provides 152 ready-to-use tools across 37 categories. All tools extend `AbstractTool`, are discoverable via SPI, and can be registered with any agent using `AgentBuilder.tool()`.
For creating your own tools, see Custom Tools.
Quick Start
// Register tools with an agent
Agent agent = AgentBuilder.create()
.llm(LLMClientFactory.create("openai", "gpt-4o", 0.7f))
.role(myRole)
.tool(new BraveSearchTool())
.tool(new CalculatorTool())
.tool(new WikipediaTool())
.build();
// The LLM will call tools automatically during conversation
String response = agent.chat("What is the population of Tokyo? Calculate 3x that number.");Tools require API keys via environment variables:
export BRAVE_API_KEY=your-key
export SERPAPI_API_KEY=your-keySearch (18 tools)
Search tools let your agent find information on the web, in knowledge bases, and across package registries. Some require an API key (set as an environment variable), while others work out of the box.
| Tool | Description | API Key |
|---|---|---|
BraveSearchTool | Fast web search via Brave API | BRAVE_API_KEY |
DuckDuckGoTool | Privacy-focused web search | None |
SerpApiTool | Google search results | SERPAPI_API_KEY |
TavilyTool | AI-optimized search | TAVILY_API_KEY |
WikipediaTool | Wikipedia article search | None |
WikidataTool | Structured knowledge base | None |
HackerNewsTool | Hacker News stories and comments | None |
SearXNGTool | Self-hosted meta search | None |
NPMTool | NPM package search | None |
MavenCentralTool | Maven artifact search | None |
WebScraperTool | Extract content from web pages | None |
ExaSearchTool | Neural search API | EXA_API_KEY |
YahooFinanceTool | Financial data and stock quotes | None |
StackOverflowSearchTool | Stack Overflow Q&A | None |
WolframAlphaTool | Computational knowledge | WOLFRAM_API_KEY |
FirecrawlTool | Web scraping and crawling | FIRECRAWL_API_KEY |
HeadlessBrowserTool | Browser-based scraping | None |
WebCrawlerTool | Multi-page web crawling | None |
Academic (19 tools)
Academic tools give your agent access to scholarly papers, preprints, citation data, and researcher profiles. They are useful for research assistants, literature review agents, and scientific Q&A.
| Tool | Description | API Key |
|---|---|---|
ArxivTool | arXiv preprint search | None |
PubMedTool | Biomedical literature | None |
SemanticScholarTool | Academic paper search | S2_API_KEY |
GoogleScholarTool | Google Scholar search | None |
CrossRefTool | DOI and citation metadata | None |
OpenAlexTool | Open scholarly metadata | None |
PapersWithCodeTool | ML papers with code | None |
IEEEXploreTool | IEEE publications | IEEE_API_KEY |
DBLPTool | CS bibliography | None |
BioRxivTool | Biology preprints | None |
MedRxivTool | Medical preprints | None |
PubChemTool | Chemical compound data | None |
ORCIDTool | Researcher profiles | None |
UnpaywallTool | Open access article finder | None |
CORESearchTool | Open access aggregator | CORE_API_KEY |
DimensionsTool | Research analytics | DIMENSIONS_API_KEY |
LensOrgTool | Patent and scholarly search | LENS_API_KEY |
ConnectedPapersTool | Paper citation graph | None |
AlphaXivTool | arXiv paper ratings | None |
File (10 tools)
File tools let your agent read, write, and transform files on the local filesystem. This includes plain text, PDFs, CSV, JSON, and XML formats.
| Tool | Description |
|---|---|
FileReadTool | Read file contents |
FileWriteTool | Write content to files |
PDFExtractorTool | Extract text from PDFs |
PDFMergeTool | Merge multiple PDFs |
PDFSplitTool | Split PDFs by page range |
PDFCompressTool | Compress PDF file size |
PDFToImageTool | Convert PDF pages to images |
CSVParserTool | Parse and query CSV data |
JSONQueryTool | Query JSON with expressions |
XMLParserTool | Parse and extract XML data |
Communication (7 tools)
Communication tools allow your agent to send emails, post messages to Slack or Discord, and send SMS. Each tool requires credentials for the corresponding service.
| Tool | Description | API Key |
|---|---|---|
EmailSenderTool | Send emails via SMTP | SMTP config |
GmailTool | Send emails via Gmail API | GMAIL_CREDENTIALS |
GmailInboxTool | Read Gmail inbox | GMAIL_CREDENTIALS |
SlackWebhookTool | Post to Slack channels | SLACK_WEBHOOK_URL |
DiscordWebhookTool | Post to Discord channels | DISCORD_WEBHOOK_URL |
TwilioSMSTool | Send SMS messages | TWILIO_ACCOUNT_SID |
TwilioStatusTool | Check SMS delivery status | TWILIO_ACCOUNT_SID |
FinTech (8 tools)
FinTech tools enable your agent to process payments, create invoices, and manage product catalogs through services like Square, Cash App, and Lightning Network.
| Tool | Description | API Key |
|---|---|---|
SquarePaymentTool | Process payments via Square | SQUARE_ACCESS_TOKEN |
SquareInvoiceTool | Create Square invoices | SQUARE_ACCESS_TOKEN |
SquareCatalogTool | Manage Square product catalog | SQUARE_ACCESS_TOKEN |
SquareCustomerTool | Square customer management | SQUARE_ACCESS_TOKEN |
CashAppPayTool | Cash App payments | CASHAPP_API_KEY |
LightningNetworkTool | Bitcoin Lightning payments | LN_MACAROON |
AfterpayCheckoutTool | Buy-now-pay-later checkout | AFTERPAY_API_KEY |
PaymentAnalyticsTool | Payment analytics dashboard | Varies |
Database (4 tools)
Database tools let your agent query SQL databases, MongoDB collections, Redis key-value stores, and vector databases directly. Each tool needs a connection string or URL configured as an environment variable.
| Tool | Description | Config |
|---|---|---|
SQLQueryTool | Execute SQL queries | JDBC_URL |
MongoDBQueryTool | MongoDB document queries | MONGODB_URI |
RedisTool | Redis key-value operations | REDIS_URL |
VectorDBTool | Vector database search | Varies |
Developer (4 tools)
Developer tools help your agent interact with code repositories, execute Java snippets, analyze project structure, and manage dependencies.
| Tool | Description | API Key |
|---|---|---|
GitHubSearchTool | Search GitHub repos and code | GITHUB_TOKEN |
JShellTool | Execute Java code snippets | None |
ProjectAnalyzerTool | Analyze project structure | None |
DependencyManagerTool | Manage project dependencies | None |
Productivity (5 tools)
Productivity tools connect your agent to popular project management and workspace platforms like Google Calendar, Google Drive, Notion, Trello, and Jira.
| Tool | Description | API Key |
|---|---|---|
GoogleCalendarTool | Google Calendar events | GOOGLE_CREDENTIALS |
GoogleDriveTool | Google Drive files | GOOGLE_CREDENTIALS |
NotionTool | Notion pages and databases | NOTION_API_KEY |
TrelloTool | Trello boards and cards | TRELLO_API_KEY |
JiraTool | Jira issues and projects | JIRA_API_TOKEN |
Media (5 tools)
Media tools handle audio processing, including speech-to-text transcription and text-to-speech synthesis. They are useful for building voice-enabled agents.
| Tool | Description | API Key |
|---|---|---|
WhisperTool | Speech-to-text (OpenAI Whisper) | OPENAI_API_KEY |
AudioTranscriptionTool | Audio transcription | Varies |
TextToSpeechTool | Text-to-speech synthesis | Varies |
ChatterboxTTSTool | Chatterbox TTS engine | None |
ChatterboxStreamingTool | Streaming TTS output | None |
Social (4 tools)
Social tools let your agent interact with social media platforms -- posting tweets, browsing Reddit, and retrieving LinkedIn data.
| Tool | Description | API Key |
|---|---|---|
TwitterTool | Post and search tweets | TWITTER_BEARER_TOKEN |
RedditTool | Reddit posts and comments | REDDIT_CLIENT_ID |
RedditAnalysisTool | Reddit trend analysis | REDDIT_CLIENT_ID |
LinkedInTool | LinkedIn profile data | LINKEDIN_ACCESS_TOKEN |
Utility (5 tools)
Utility tools provide common helper functions that agents frequently need, such as math calculations, date/time operations, hashing, QR codes, and translation.
| Tool | Description | API Key |
|---|---|---|
CalculatorTool | Mathematical expressions | None |
DateTimeTool | Date/time operations | None |
HashingTool | Hash generation (MD5, SHA) | None |
QRCodeTool | QR code generation | None |
GoogleTranslateTool | Text translation | GOOGLE_TRANSLATE_KEY |
Diagram (3 tools)
Diagram tools let your agent generate visual diagrams and architecture charts programmatically, without needing a manual drawing tool.
| Tool | Description |
|---|---|
MermaidTool | Generate Mermaid diagrams |
ExcalidrawTool | Create Excalidraw drawings |
ICraft3DTool | 3D architecture diagrams |
Code Execution (3 tools)
Code execution tools let your agent run code snippets in sandboxed environments. This is useful for agents that need to compute results, test code, or process data dynamically.
| Tool | Description | API Key |
|---|---|---|
CodeExecutionTool | Sandboxed code execution (GraalVM) | None |
PythonExecutionTool | Python code execution | None |
E2BSandboxTool | Cloud sandbox execution | E2B_API_KEY |
Real-time Data (3 tools)
Real-time data tools provide your agent with live information such as cryptocurrency prices, weather conditions, and currency exchange rates.
| Tool | Description | API Key |
|---|---|---|
CryptoPriceTool | Cryptocurrency prices | None |
OpenWeatherMapTool | Weather data | OPENWEATHER_API_KEY |
CurrencyExchangeTool | Currency exchange rates | None |
Visualization (3 tools)
Visualization tools let your agent produce charts, data tables, and infographics from structured data, turning raw numbers into visual outputs.
| Tool | Description |
|---|---|
AutoChartTool | Automatic chart generation |
DataTableTool | Data table rendering |
InfographicTool | Infographic generation |
Agentic (4 tools)
Agentic tools are meta-level tools that enable higher-order agent behaviors -- delegating work to sub-agents, summarizing documents intelligently, and conducting multi-step research.
| Tool | Description |
|---|---|
AgenticTool | Meta-tool for agent delegation |
SmartSummarizerTool | Intelligent document summarization |
DeepResearcherTool | Multi-step deep research |
ToolContext | Shared context between tools |
AI / Self-Evolution (1 tool)
The self-evolution tool allows an agent to learn from past interactions by recording feedback, optimizing its prompts, and extracting reusable skills -- all without external services.
| Tool | Description | API Key |
|---|---|---|
SelfEvolutionTool | Enable agents to learn and improve over time | None |
SelfEvolutionTool provides nine operations for prompt optimization and agent self-improvement, based on research in self-evolving agents (EvoAgentX, TextGrad, DSPy).
| Operation | Description |
|---|---|
optimize_prompt | Improve a prompt based on collected feedback history |
mutate_prompt | Generate prompt variations (strategies: paraphrase, elaborate, simplify, specialize, constrain, all) |
record_feedback | Record success/failure feedback with optional reason and rating |
learn_skill | Extract reusable skills from successful execution traces |
get_performance | Get performance metrics (success rate, average rating, trends) |
suggest_improvement | Get improvement suggestions based on feedback patterns |
list_skills | List all learned skills |
get_skill | Get details of a specific learned skill |
apply_skill | Apply a learned skill's action sequence to a context |
Data (feedback, skills, performance) is persisted to ~/.tnsai/evolution/. No external API key required.
Agent agent = AgentBuilder.create()
.llm(client)
.role(myRole)
.tool(new SelfEvolutionTool())
.build();
// The agent can now record feedback and optimize its own prompts
agent.chat("{\"operation\": \"record_feedback\", \"prompt_id\": \"research\", \"success\": true, \"rating\": 4}");
agent.chat("{\"operation\": \"optimize_prompt\", \"prompt_id\": \"research\", \"prompt\": \"Research the topic\"}");Document (5 tools)
Document tools handle reading, converting, and generating documents. They can extract text from URLs and files, convert between formats, and create slide presentations.
| Tool | Description | API Key |
|---|---|---|
DocumentReaderTool | Extract text from URLs and files (HTML, Markdown, PDF) | None |
ImageConverterTool | Convert between image formats | None |
MarkdownConverterTool | Convert documents to Markdown | None |
SlideTool | Generate slide presentations | None |
DocumentReaderTool
Extracts plain text from URLs and local files. Supports HTML (strips tags, extracts body text), Markdown (renders to text), and PDF (text extraction).
Agent agent = AgentBuilder.create()
.llm(client)
.tool(new DocumentReaderTool())
.build();
// Read from URL
agent.chat("Read and summarize https://example.com/article");
// Read local file
agent.chat("Extract text from /path/to/report.pdf");The tool accepts a source parameter (URL or file path) and returns the extracted text content. For HTML pages, it strips scripts, styles, and navigation elements to return clean body text.
Additional Categories
Beyond the main categories above, TnsAI includes specialized tool groups for e-commerce, system integration, scraping, AI vision, finance, CRM, knowledge graphs, and external memory.
| Category | Tools | Description |
|---|---|---|
| Commerce | ACPClientTool, ShopifyACPTool, EtsyACPTool | E-commerce operations |
| Goose | GitTool, ScreenshotTool, ClipboardTool, SystemInfoTool, ContextManagerTool, MemoryStoreTool | System integration |
| Document | ImageConverterTool, MarkdownConverterTool, SlideTool | Document conversion |
| Scraping | ApifyTool, ActorRegistry | Web scraping automation |
| AI | ImageAnalysisTool, VisionToCodeTool, SelfEvolutionTool | Vision, code generation, self-improvement |
| Finance | BorsaTool, PolymarketTool | Market data and trading |
| CRM | UnifiedCRMTool | Customer relationship management |
| Knowledge | KnowledgeGraphTool | Knowledge graph operations |
| Memory | ReeverTool | External memory integration |