# Tool Catalog Reference

> Quick lookup. Full documentation with per-toolkit method lists and usage examples: [capabilities/tools/catalog](../capabilities/tools/catalog.md).

TnsAI ships **63 POJO toolkits** exposing **209 `@Tool`-annotated methods** across 29 categories. Each toolkit is a plain class in `tnsai-tools` with public `@Tool` methods that the framework discovers reflectively at agent build time.

## Categories

The 29 categories below are derived from each toolkit's backing package. Every
one of the 63 `BuiltInTool` constants is listed exactly once.

| Category | `BuiltInTool` constants |
|---|---|
| `academic` | `ACADEMIC_TOOLS`, `ACADEMIC_EXTRA_TOOLS` |
| `ai` | `VISION_TOOLS` |
| `audio` | `TEXT_TO_SPEECH_TOOLS`, `SPEECH_TO_TEXT_TOOLS` |
| `code` | `E2B_SANDBOX_TOOLS`, `JS_EXECUTION_TOOLS`, `PYTHON_EXECUTION_TOOLS` |
| `commerce` | `ETSY_TOOLS`, `SHOPIFY_TOOLS` |
| `communication` | `EMAIL_TOOLS`, `MESSAGING_TOOLS` |
| `crm` | `HUBSPOT_TOOLS`, `SALESFORCE_TOOLS` |
| `database` | `MONGO_TOOLS`, `QDRANT_TOOLS`, `REDIS_TOOLS`, `SQL_TOOLS`, `WEAVIATE_TOOLS` |
| `developer` | `DEPENDENCY_TOOLS`, `DEVELOPER_TOOLS`, `PROJECT_ANALYZER_TOOLS` |
| `diagram` | `DIAGRAM_TOOLS` |
| `document` | `DOCUMENT_TOOLS`, `DOCLING_TOOLS` |
| `file` | `CSV_TOOLS`, `FILE_IO_TOOLS`, `JSON_TOOLS`, `MARKDOWN_TOOLS`, `PDF_TOOLS`, `XML_TOOLS` |
| `finance` | `FINANCE_TOOLS` |
| `fintech` | `AFTERPAY_TOOLS`, `CASH_APP_PAY_TOOLS`, `LIGHTNING_TOOLS`, `PAYMENT_ANALYTICS_TOOLS`, `SQUARE_TOOLS` |
| `goose` | `CLIPBOARD_TOOLS`, `GOOSE_TOOLS` |
| `image` | `IMAGE_GEN_TOOLS` |
| `knowledge` | `KNOWLEDGE_TOOLS` |
| `media` | `CHATTERBOX_TOOLS`, `MEDIA_TOOLS` |
| `memory` | `MEMORY_TOOLS` |
| `productivity` | `GOOGLE_TOOLS`, `JIRA_TOOLS`, `NOTION_TOOLS`, `TRELLO_TOOLS` |
| `project` | `PROJECT_TOOLS` |
| `realtime` | `REALTIME_TOOLS` |
| `scraping` | `SCRAPING_TOOLS` |
| `search` | `QNA_TOOLS`, `SPECIALIZED_SEARCH_TOOLS`, `WEB_SCRAPING_TOOLS`, `WEB_SEARCH_TOOLS` |
| `social` | `LINKEDIN_TOOLS`, `REDDIT_TOOLS`, `TWITTER_TOOLS` |
| `system` | `SYSTEM_TOOLS` |
| `trading` | `TRADING_TOOLS` |
| `utility` | `ENCODING_TOOLS`, `UTILITY_TOOLS` |
| `visualization` | `VISUALIZATION_TOOLS` |

## Finding a toolkit

The compile-safe path is the `BuiltInTool` enum — every entry maps a stable `toolName` to the FQCN of a backing POJO:

```java
import com.tnsai.enums.BuiltInTool;

// Register on an agent
Agent agent = AgentBuilder.create()
    .llm(llm)
    .role(role)
    .builtInTools(BuiltInTool.WEB_SEARCH_TOOLS, BuiltInTool.PDF_TOOLS)
    .build();

// Or instantiate directly
Object pdfToolkit = BuiltInTool.PDF_TOOLS.instantiate();

// Inspect catalog
for (var entry : BuiltInTool.values()) {
    System.out.println(entry.getToolName() + " — " + entry.getClassName());
}
```

## Inspecting registered tools at runtime

Each agent has a `ToolMethodDispatcher` whose `registry()` exposes every `@Tool` method registered with that agent:

```java
import com.tnsai.tools.method.ToolMethodRegistry;

ToolMethodRegistry registry = agent.getToolMethodDispatcher().registry();
for (var tool : registry.allMethods()) {
    System.out.println(tool.name() + " — " + tool.description());
}
```

For the complete list with per-toolkit method names, parameter shapes, and required environment variables, see [capabilities/tools/catalog](../capabilities/tools/catalog.md).
