---
title: Tools Basics - Enhancing DocsGPT Capabilities
description: Understand what DocsGPT Tools are, how they work, and explore the built-in tools available to extend DocsGPT's functionality.
---

import { Callout } from 'nextra/components';
import Image from 'next/image';
import { ToolCards } from '../../components/ToolCards';

# Understanding DocsGPT Tools

DocsGPT Tools are powerful extensions that significantly enhance the capabilities of your DocsGPT application. 
They allow DocsGPT to move beyond its core function of retrieving information from your documents and enable it to perform actions, 
interact with external data sources, and integrate with other services. You can find and configure available tools within 
the "Tools" section of the DocsGPT application settings in the user interface.

## What are Tools?

-   **Purpose:** The primary purpose of Tools is to bridge the gap between understanding a user's request (natural language processing by the LLM) and executing a tangible action. This could involve fetching live data from the web, sending notifications, running code snippets, querying databases, or interacting with third-party APIs.

-   **LLM as an Orchestrator:** The Large Language Model (LLM) at the heart of DocsGPT is designed to act as an intelligent orchestrator. Based on your query and the declared capabilities of the available tools (defined in their metadata), the LLM decides if a tool is needed, which tool to use, and what parameters to pass to it.

-   **Action-Oriented Interactions:** Tools enable more dynamic and action-oriented interactions. For example:
    * *"What's the latest news on renewable energy?"* - This might trigger a web search tool to fetch current articles.
    * *"Fetch the order status for customer ID 12345 from our database."* - This could use a database tool.
    * *"Summarize the content of this webpage and send the summary to the #general channel on Telegram."* - This might involve a web scraping tool followed by a Telegram notification tool.

## Overview of Built-in Tools

DocsGPT includes a suite of pre-built tools designed to expand its capabilities out-of-the-box. Below is an overview of the currently available tools. 

<ToolCards
  items={[
    {
      title: 'API Tool',
      link: '/Tools/api-tool',
      description: 'A highly flexible tool that allows DocsGPT to interact with virtually any API without needing to write custom Python code.'
    },
    {
      title: 'Brave Search Tool',
      link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/brave.py',
      description: 'Enables DocsGPT to perform real-time web and image searches using the Brave Search API for up-to-date information.'
    },
    {
      title: 'Cryptoprice Tool',
      link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/cryptoprice.py',
      description: 'Fetches the current price of specified cryptocurrencies.'
    },
    {
      title: 'Ntfy Tool',
      link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/ntfy.py',
      description: 'Allows DocsGPT to send push notifications to Ntfy.sh channels, ideal for alerts and updates.'
    },
    {
      title: 'PostgreSQL Tool',
      link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/postgres.py',
      description: 'Provides capabilities to connect to a PostgreSQL database, execute SQL queries, and retrieve schema information.'
    },
    {
      title: 'Read Webpage Tool', // Renamed from Scraper Tool
      link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/read_webpage.py',
      description: 'Enables DocsGPT to fetch and extract (scrape) textual content from specified web page URLs.'
    },
    {
      title: 'Telegram Tool',
      link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/telegram.py',
      description: 'Allows DocsGPT to send messages or images to Telegram chats via a Telegram Bot.'
    }
  ]}
/>

## Using Tools in DocsGPT (User Perspective)

Interacting with tools in DocsGPT is designed to be intuitive:

1.  **Natural Language Interaction:** As a user, you typically interact with DocsGPT using natural language queries or commands. The LLM within DocsGPT analyzes your input to determine if a specific task can or should be handled by one of the available and configured tools.

2.  **Configuration in UI:**
    * Tools are generally managed and configured within the DocsGPT application's settings, found under a "Tools" section in the GUI.
    * For tools that interact with external services (like Brave Search, Telegram, or any service via the API Tool), you might need to provide authentication credentials (e.g., API keys, tokens) or specific endpoint information during the tool's setup in the UI.

3.  **Prompt Engineering for Tools:** While the LLM aims to intelligently use tools, for more complex or reliable agent-like behaviors, you might need to customize the system prompts. Modifying the prompt can guide the LLM on when and how to prioritize or chain tools to achieve specific outcomes, especially if you're building an agent designed to perform a certain sequence of actions every time. For more on this, see [Customising Prompts](/Guides/Customising-prompts).

## Advancing with Tools

Understanding the basics of DocsGPT Tools opens up many possibilities:

* **Leverage the API Tool:** For quick integrations with numerous external services, explore the [API Tool Detailed Guide](/Tools/api-tool).
* **Develop Custom Tools:** If you have specific needs not covered by built-in tools or the generic API tool, you can develop your own. See our guide on `[Developing Custom Tools](/Tools/creating-a-tool)` (placeholder for now).
* **Build AI Agents:** Tools are the fundamental building blocks for creating sophisticated AI agents within DocsGPT. Explore how these can be combined by looking into the `[Agents section/tab concept - link to be added once available]`.

By harnessing the power of Tools, you can transform DocsGPT into a more versatile and proactive assistant tailored to your unique workflows.