Finding Tools API Guide

A guide on how to find tools using Knit's Find Tools API

Overview

The find tools API allows developers to discover tools available for integration with specific apps or find unified tools across categories. This guide explains how to use the API to find and select tools for AI agents or MCP Server integration.

Request Schema

Main Parameters

ParameterDescription
app_idSpecify the app ID for tools related to a specific app
entities(Optional) List of entities for specific data or functionalities
operation(Optional) Type of operation (e.g., "read" or "write")
include_unified_toolsSet to true to include Knit's Unified Tools when searching by app or by category
usecaseSearch tools using plain English description of your use case - semantic search
category_idFind unified tools for a specific category (e.g., "CALENDAR") , category value is case agnostic

Finding Supported Apps

You can find the complete list of supported apps and categories at:
https://developers.getknit.dev/reference/supported-apps

Example API Requests

1. Search Unified API Tools by Category

curl --location --request POST 'https://api.getknit.dev/v1.0/ai.tools.find' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
    "filters": {
        "category_id": "CALENDAR", //case agnostic - can work with lower case also
        "include_unified_tools": true
    }
}'

2. Search by App

curl --location --request POST 'https://api.getknit.dev/v1.0/ai.tools.find' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
    "filters": {
        "app_id": "hubspot"
    }
}'

3. Search by App and Use Case

curl --location --request POST 'https://api.getknit.dev/v1.0/ai.tools.find' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
    "filters": {
        "app_id": "hubspot",
        "usecase": "get leads"
    }
}'

4. Search by App and Entity

curl --location --request POST 'https://api.getknit.dev/v1.0/ai.tools.find' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
    "filters": {
        "app_id": "hubspot",
        "entities": [
        "lead",
        "association",
        "property"
      ]
    }
}'

5. Search by Operation

operation can either be read or write. write operation covers insert, update and delete APIs.

curl --location --request POST 'https://api.getknit.dev/v1.0/ai.tools.find' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
    "filters": {
        "app_id": "hubspot",
        "operation": "read"
    }
}'

Response Schema

The API returns a list of tool summaries containing key information about each available tool, including:

  • tool_id: Unique identifier for the tool, use this in your Knit AI SDK or MCP Server.
  • title: Name of the tool
  • description: Brief description of tool functionality
  • entities: Entities associated with the tool (if any)
  • operation: Operation the tool supports (read/write)
  • is_unified_tool: Indicates if it's one of Knit's Unified API tools

Sample Response

{
  "success": true,
  "data": [
    {
      "tool_id": "hubspot__get_lead_details_by_id",
      "entities": [
        "lead",
        "association",
        "property"
      ],
      "operation": "read",
      "title": "Get Lead Details by ID",
      "description": "This API endpoint retrieves details of a lead identified by the {leadsId}. The {leadsId} can be the internal object ID or any unique property value specified by the idProperty query parameter. The API allows filtering of returned properties using the properties query parameter and can include property history with propertiesWithHistory. It also supports retrieving associated object IDs with the associations parameter and can filter archived results using the archived parameter. The response includes lead details such as associations, creation and update timestamps, properties, and archived status.",
      "is_unified_tool": false
    },
    {
      "tool_id": "hubspot__post_create_a_lead",
      "entities": [
        "lead",
        "association",
        "property"
      ],
      "operation": "write",
      "title": "Create a Lead",
      "description": "This API endpoint allows you to create a lead with specified properties and associations in HubSpot. The request requires an authorization header with a Bearer token and a content-type header set to application/json. The body of the request includes an array of associations and a properties object, which now includes 'hs_lead_name', 'hs_lead_type', and 'hs_lead_label'. The response returns a copy of the created lead object, including its ID, creation and update timestamps, and properties with history. If there is an error, a detailed error message is provided.",
      "is_unified_tool": false
    }
    // Additional tools will appear in full response
  ]
}

Implementation Steps

  1. Choose the appropriate filtering parameters based on your needs
  2. Send the request to the API endpoint with your Knit API key
  3. Process the returned list of tools
  4. Select and implement the tools that best fit your requirements

Best Practices

  • Start with broader searches and narrow down as needed
  • Use the usecase parameter with plain English descriptions for intuitive searches
  • Consider including unified tools when available for more integration options
  • Reference the complete documentation for advanced configurations