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
Parameter | Description |
---|---|
app_id | Specify 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_tools | Set to true to include Knit's Unified Tools when searching by app or by category |
usecase | Search tools using plain English description of your use case - semantic search |
category_id | Find 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 tooldescription
: Brief description of tool functionalityentities
: 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
- Choose the appropriate filtering parameters based on your needs
- Send the request to the API endpoint with your Knit API key
- Process the returned list of tools
- 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
Updated about 22 hours ago