Tool Library Docs - supercog-ai/community GitHub Wiki
Admin
The Admin Tool provides functionality for managing agent schedules and retrieving system information.
Key Features
- Retrieve statistics about running jobs and active triggers
- Cancel running jobs and triggers
- Get system information
- Fetch current running agent jobs
Main Functions
Job and Trigger Management
- get_running_job_stats: Retrieve statistics about running jobs
- get_active_triggers: Get information about active triggers
- cancel_job: Cancel a specific running job
- cancel_trigger: Cancel a trigger for a given agent
System Information
- wakeup: Return system context information including date, time, OS, Python version, and more
Current Jobs
- get_current_jobs: Retrieve a list of currently running Agent jobs
Usage Notes
- This tool interacts with various services, including a trigger service for job and trigger management
- The tool uses the tenant ID from the run context for API calls
Configuration
- This tool may require authentication credentials for certain API calls, though they are not explicitly set in the provided code.
Amazon S3
The S3Tool provides functionality to interact with Amazon S3 (Simple Storage Service) for managing files and buckets.
Key Features
- List S3 buckets and files
- Upload, download, copy, and delete files
- Retrieve file metadata and generate presigned URLs
- Read and process various file types from S3
Main Functions
Bucket and File Management
- list_s3_buckets: List available S3 buckets
- list_files_in_bucket: List files in a specified bucket
- upload_file_to_s3: Upload a file to S3
- download_file_from_s3: Download a file from S3
- copy_file_within_s3: Copy a file within S3
- delete_file_from_s3: Delete a file from S3
File Operations
- read_file_from_s3: Read and process various file types from S3
- get_file_metadata: Retrieve metadata for a file in S3
- create_presigned_url: Generate a presigned URL for an S3 object
Usage Notes
- Supports various file types including Excel, PDF, EML, and text files
- Handles special characters and spaces in object names
Configuration
- This tool requires AWS credentials (AWS Access Key ID and AWS Secret Access Key) for authentication.
Auto Dynamic Tools
Auto Dynamic Tools The Auto Dynamic Tools provides functionality for enabling and managing tools autonomously within an AI agent system.
Key Features
- List available tools and system connections
- Search for tools based on purpose
- Enable tools for the AI agent
- Universal file reading capability
Main Functions Tool Management
- get_tools_and_connections: Returns a list of available tools and system connections
- search_for_tool: Searches for tools related to a specified purpose
- enable_agent_tool: Enables a specified tool for the AI agent File Handling
- universal_read_file: Reads and extracts content from various file types
Usage Notes
- The tool uses OpenAI's API for tool searching functionality
- File reading supports various formats including CSV, PDF, Excel, and plain text
Configuration
- This tool requires specifying an OpenAI API key for the tool search feature.
Basic Data
The Basic Data Tool provides functionality to manipulate and query dataframes using SQL-like operations.
Key Features
- Load full content of previewed data
- Query dataframes using SQL syntax
Main Functions Data Retrieval
- load_full_preview_content: Retrieve the entire content of a previously previewed data object
Usage Notes
- The tool can handle various data types, including pandas DataFrames and strings
- When working with DataFrames, only the first 1000 rows are returned to prevent overwhelming the system
- SQL queries on dataframes are executed using DuckDB, allowing for powerful data manipulation
Configuration
- This tool does not require any specific configuration or API keys
CSV
The CSV Tool provides functionality to read, write, and manipulate CSV files.
Key Features
- Read CSV files and return their contents as a dataframe
- Write data to CSV files from dataframes or lists of rows
- Append data to existing CSV files
- Write data to daily accumulation files with date-stamped filenames
Main Functions File Operations
- read_csv_file: Read a CSV file and return its contents as a dataframe
- write_csv_file: Write data to a CSV file from a dataframe or list of rows
- append_to_csv_file: Append data to an existing CSV file
- write_to_daily_accumulation_file: Append data to a daily accumulation CSV file with a date-stamped filename
Usage Notes
- Supports various encodings, with 'utf-8-sig' as the default
- Handles both dataframes and lists of rows as input
- Automatically manages headers when appending to existing files
- Provides options for timezone-aware date stamping in filenames
CaldavCalendar
The CalDAV Tool provides functionality to interact with CalDAV-compatible calendar servers, including special support for iCloud Calendar integration.
Key Features
- List available calendars
- Manage calendar events (create, update, delete)
- Search for events
- iCloud-specific features (create calendars, share calendars, set calendar colors)
Main Functions
Calendar Management
- list_calendars: Retrieve a list of available calendars
- create_icloud_calendar: Create a new calendar in iCloud (iCloud only)
Event Management
- list_events: Fetch events from a specific calendar within a given date range
- create_event: Add a new event to a calendar
- update_event: Modify an existing calendar event
- delete_event: Remove an event from a calendar
- search_events: Find events in a calendar matching a query
iCloud Specific Functions
- share_icloud_calendar: Share an iCloud calendar with another user
- get_icloud_calendar_sharing: Retrieve sharing information for an iCloud calendar
- set_icloud_calendar_color: Change the color of an iCloud calendar
- get_icloud_free_busy: Obtain free/busy information for an iCloud calendar
Usage Notes
- The tool supports both generic CalDAV servers and iCloud calendars
- iCloud-specific functions are only available when connected to an iCloud calendar
Configuration
- This tool requires authentication credentials for the CalDAV server or iCloud account.
Call Agent
The Agent Tool provides functionality to invoke another agent from the current agent.
Key Features
- Call another agent and retrieve its results
Main Functions
Agent Invocation
- invoke_{agent_name}_agent: Call the specified agent and return its results
Usage Notes
- The tool dynamically creates a function named after the target agent
- The created function takes a prompt as input and returns the target agent's response
Configuration
- This tool requires specifying a target agent ID and name when initializing The tool uses asynchronous execution to run the target agent and supports callback management for event tracking and association with the correct invocation in the caller.
Charting
The Matplotlib Chart Tool provides functionality to create various types of charts using Matplotlib.
Key Features
- Create scatter plots, bar charts, line charts, pie charts, and histograms
- Generate charts from pandas DataFrames
Main Functions
Scatter Plot
- create_scatter_plot: Create a customizable scatter plot
Bar Chart
- create_bar_chart: Generate a configurable bar chart with vertical or horizontal orientation
Line Chart
- create_line_chart: Produce a flexible line chart with multiple lines support
Pie Chart
- create_pie_chart: Create a customizable pie chart
Histogram
- create_histogram: Generate a configurable histogram
DataFrame Chart
- create_dataframe_chart: Create various chart types from a pandas DataFrame
Usage Notes
- All functions return a dictionary containing a markdown-formatted image link
- Charts are automatically saved and uploaded to S3 for easy embedding
Configuration
- This tool requires access to an S3 bucket for storing generated charts
Code Interpreter
The Code Interpreter Tool provides functionality to execute code in a sandboxed environment using the E2B Code Interpreter API.
Key Features
- Execute arbitrary code in a secure sandbox
- Set environment variables for the sandbox environment
Main Functions
Code Execution
- execute_code: Run provided code in a sandboxed interpreter and return the execution results
Environment Configuration
- set_env_var: Set an environment variable in the sandbox
Usage Notes
- The sandbox environment persists between calls, allowing for stateful operations
- A new sandbox is created if environment variables are changed
Configuration
- This tool requires an E2B API key for authentication. Configure it with the API key obtained from https://e2b.dev/docs/getting-started/api-key.
CodeIntrospection
The Code Introspection Tool provides functionality to access and manipulate internal code within the supercog system.
Key Features
- Read source code directories
- Write to source code files
Main Functions
Source Code Access
- read_source_directory: Returns the contents of a source directory in supercog in a format optimized for LLM consumption
Source Code Modification
- write_source_file: Allows writing to source code files within the supercog system
Usage Notes
- This tool is designed for internal code introspection and modification within the supercog environment
- Exercise caution when modifying source files to avoid unintended system changes
Database
The Database Tool provides functionality to interact with various types of databases, including PostgreSQL, MySQL, and MSSQL.
Key Features
- Execute SQL queries against connected databases
- Retrieve database type and SQL dialect
- Establish and test database connections
Main Functions
Database Queries
- run_database_query: Execute a SQL query against the connected database and return the results
Database Information
- get_database_type: Retrieve the type and SQL dialect of the connected database
Database Connection
- connect_to_database: Establish a connection to a database using a provided connection string
Usage Notes
- Supports multiple database types including PostgreSQL, MySQL, and MSSQL
- Handles various connection string formats and CLI-style commands
- Provides error handling for connection issues and query execution
Configuration
- This tool requires specifying a database configuration. Configure it with a connection string in the format:
postgresql://user:pass@host/database
.
Discord
The Discord Tool provides functionality to send messages and rich embeds to a Discord channel using webhooks.
Key Features
- Send simple messages to a Discord channel
- Send messages with customized embeds to a Discord channel
Main Functions
Message Sending
- send_message: Send a simple message to a Discord channel with customizable color
- send_message_with_embed: Send a message with a customized embed to a Discord channel
Usage Notes
- Messages are sent with a "from Supercog" signature
- Embed colors can be customized using hexadecimal color codes
Configuration
- This tool requires specifying a Discord webhook URL for authentication.
Docs from Google Drive
The Google Drive Doc Source tool provides functionality to load documents from Google Drive into your AI assistant's knowledge base.
Key Features
- Initialize OAuth flow for Google Drive access
- Select files or folders to index in the Knowledge Base
Usage Notes
- You select which documents or folders in your Google Drive to share with the knowledge base. You can remove documents or unshare folders at any time.
- Documents are only indexed in a knowledge base that you choose.
Docs from Local Files
LocalFolderDocSource Tool The LocalFolderDocSource tool provides functionality to retrieve documents from a specified local folder.
Key Features
- Fetch documents from a local directory
Main Functions
Document Retrieval
- get_documents: Yields documents from the specified local folder
Usage Notes
- The tool requires a path to a local folder containing the documents to be processed
Configuration
- This tool requires specifying a local folder path in the authentication configuration
Docs from Notion
The Notion Doc Source Tool provides functionality to load documents from Notion using OAuth authentication through the Ragie API.
Key Features
- Initialize OAuth flow for connecting to Notion
- Load documents from authenticated Notion accounts
Main Functions
OAuth Initialization
- get_authorize_url: Generate the OAuth authorization URL for Notion integration
Usage Notes
- This tool requires a connection to be established through Ragie before use
- The OAuth flow is handled via Ragie's API
Configuration
- This tool requires a Ragie API key to be set in the global configuration
DuckDB
The DuckDB Tool provides functionality to work with tabular data using DuckDB, a high-performance analytical database system.
Key Features
- Read and write data from various file formats
- Query and manipulate dataframes using SQL
- Interact with DuckDB tables
Main Functions
File Operations
- read_file_as_dataframe: Read data from CSV, Parquet, JSON, or Excel files into a dataframe
- write_dataframe_to_file: Write a dataframe to a file in CSV, Parquet, or Excel format
Dataframe Manipulation
- add_column_to_dataframe: Add a new column to an existing dataframe
- convert_text_to_dataframe: Convert text data to a dataframe
- query_dataframe: Execute SQL queries on dataframes
DuckDB Table Operations
- save_duckdb_table: Save a dataframe as a DuckDB table
- load_duckdb_table: Load a DuckDB table into a dataframe
- alter_duckdb_table: Modify a DuckDB table using SQL ALTER statements
- query_duckdb_tables: Execute SQL queries on DuckDB tables
- list_duckdb_tables: List all tables in the DuckDB database
- delete_duckdb_table: Delete a table from the DuckDB database
Usage Notes
- Column names in SQL queries should be enclosed in double quotes
- File formats are inferred from file extensions when not specified
Configuration
- This tool requires specifying a database file path in the configuration.
Dynamic Agent Functions
The Dynamic Agent Tool provides functionality for an AI agent to manage its own capabilities dynamically, including memory management and tool discovery.
Key Features
- Save important facts to long-term memory
- Search for and enable new tools dynamically
Main Functions
Memory Management
- save_memory: Adds a new fact to the agent's long-term memory
Tool Management
- get_available_system_tools: Retrieves a list of tools that can be enabled for the agent
- search_for_tool: Searches for tools related to a specified purpose
- enable_agent_tool: Enables a specific tool for the agent to use
Usage Notes
- The save_memory function should only be called for facts that are deemed important to remember
- Tool search and enabling allows the agent to expand its capabilities as needed
Configuration
- This tool requires an OpenAI API key for the tool search functionality
Dynamic Tool Builder
The Dynamic Tool Builder provides functionality to dynamically create and manage tool classes for an AI agent system.
Key Features
- Create new tool classes dynamically
- View details of created tools
Main Functions
Tool Creation
- create_dynamic_tool: Dynamically creates and registers a new tool class with specified attributes and methods
Tool Inspection
- view_created_tool: Retrieves and displays the source code and documentation for a previously created tool
Usage Notes
- The Dynamic Tool Builder uses Python's metaprogramming capabilities to create new classes at runtime
- Created tools are registered in the global TOOL_REGISTRY
Configuration
- This tool requires an OpenAI API key for certain operations.
Emotion Logic
The Emotion Logic Tool provides functionality to analyze sentiment in speech files using the Emotion Logic API.
Key Features
- Analyze sentiment in speech audio files
Main Functions
Speech Sentiment Analysis
- analyze_file: Analyze sentiment in a speech file using the Emotion Logic API
Usage Notes
- The tool uses the Emotion Logic cloud service for analysis
- Ensure the provided audio file exists before analysis
Configuration
- This tool requires API key authentication. Configure it with an API key and API key password for the Emotion Logic service.
Excel
The Excel Tool provides functionality to read, write, and manipulate Excel files.
Key Features
- Read data from Excel files
- Create Excel files from CSV data
- Insert rows and columns into existing Excel files
- Manage worksheets within Excel files
Main Functions
File Reading
- read_excel_file: Read data from a specified Excel file and sheet
File Creation
- create_excel_from_csv: Create a new Excel file from CSV data
Data Manipulation
- insert_rows: Insert new rows into an Excel sheet at a specified index
- insert_cols: Insert new columns into an Excel sheet at a specified index
- delete_rows: Delete rows from an Excel sheet
Worksheet Management
- sheetnames: Retrieve a list of worksheets in an Excel file
- create_sheet: Create a new worksheet in an Excel file
Usage Notes
- File operations are performed using the openpyxl and pandas libraries
- Sheet names can be specified by name or index (1-based)
Configuration
- This tool does not require any specific configuration or API keys.
FTP
The FTP Tool provides functionality for interacting with FTP servers, allowing file and directory management operations.
Key Features
- Connect to and disconnect from FTP servers
- Upload and download files
- Manage directories and files on the server
Main Functions
Connection Management
- connect: Establish a connection to an FTP server
- disconnect: Close the connection to the FTP server
File Operations
- get_ftp_file: Download a file from the FTP server
- put_ftp_file: Upload a file to the FTP server
- delete_file: Remove a file from the FTP server
- rename_file: Rename a file on the FTP server
- change_permissions: Modify file permissions on the server
Directory Operations
- ls: List files and directories in a specified directory
- mkdir: Create a new directory on the FTP server
- rmdir: Remove a directory from the FTP server
Usage Notes
- Most operations require an active connection to the FTP server
- File paths should be specified relative to the current working directory on the server
Configuration
- This tool requires FTP server credentials for authentication.
File Access
The Read File Tool provides functionality to read, save, list, and extract content from various file types.
Key Features
- Read and extract content from different file formats
- Save text content and PDF files
- List files in the filesystem
- Create directories
Main Functions
File Operations
- list_filesystem_files: Returns a list of available files on the local agent filesystem with their sizes
- mkdir: Creates a directory at the specified path
- read_file: Reads and returns the contents of a given file, handling various file types
- save_file: Saves the given text content using the provided filename
- save_pdf_file: Saves the given text as a PDF file using the provided filename
- create_agent_directory: Creates and returns the path to an agent-specific directory
Usage Notes
- The tool can handle various file types including Excel, CSV, COBOL, PDF, EML, and more
- It can download files from HTTP URLs
- For specific file types like EML, it provides structured representation of the content
File Download
The File Download Tool provides functionality to download files and content from the web.
Key Features
- Download files from URLs and save them locally
- Retrieve file content directly from web links
Main Functions
File Download
- download_url_as_file: Downloads a file from a given URL and saves it locally
Content Retrieval
- download_file_content: Fetches content from a URL and returns it as text
Usage Notes
- HTML content is automatically converted to plain text
- Content retrieval is limited to 4000 characters by default
Github
The GitHub Tool provides functionality to interact with GitHub repositories and perform various GitHub-related operations.
Key Features
- Search GitHub repositories
- Create and manage issues
- Create and manage pull requests
- Access repository contents
- Manage repositories
- Retrieve user information
Main Functions
Repository Operations
- search_repositories: Search for GitHub repositories based on keywords and filters
- get_repository_contents: Retrieve contents of a repository
- create_repository: Create a new GitHub repository
- delete_repository: Delete a GitHub repository
Issue Management
- create_github_issue: Create a new issue in a GitHub repository
- get_github_issues: Retrieve a list of issues for a repository
- add_comment_to_issue: Add a comment to an existing issue
Pull Request Operations
- create_pull_request: Create a new pull request
- get_pull_requests: Retrieve a list of pull requests for a repository
- list_repository_pull_requests: List pull requests for a specific repository
User Information
- get_user_info: Retrieve information about a GitHub user
- list_user_repositories: List repositories for a specific user
Code Search and File Operations
- search_in_repo: Search for code within a specific repository
- download_repo_file: Download a file from a repository
Usage Notes
- Most functions support specifying a repository owner and name. If not provided, they use the default repository configured in the credentials.
- The tool uses asynchronous HTTP requests for improved performance.
Configuration
- This tool requires specifying GitHub API credentials. Configure it with a GitHub API key and optionally a default repository in the format "owner/repo".
Gmail Connector (IMAP)
The IMAPTool provides functionality to interact with Gmail accounts using IMAP and SMTP protocols. It allows sending and retrieving emails, listing folders, and managing email processing.
Key Features
- Send emails via SMTP
- Retrieve emails from specified folders
- List available email folders
- List email headers
- Process and parse email content, including attachments
Main Functions
Email Operations
- send_email: Send an email message
- retrieve_emails: Retrieve emails from a specified folder without tracking read status
- retrieve_emails_once: Retrieve emails from a specified folder while tracking which emails have been read
- list_emails: List email headers in a specified folder
- list_folders: List all available folders in the email account
Usage Notes
- The tool uses IMAP for email retrieval and SMTP for sending emails
- Email retrieval supports various search criteria and filtering options
- Attachment handling is included, with files saved to a designated agent directory
Configuration
- This tool requires Gmail credentials (email address and app password) for authentication
- Users need to create an App Password for their Gmail account to use this tool securely
GmailAPI
The Gmail API Tool provides functionality to interact with Gmail using the Google Gmail API.
Key Features
- Search for emails in a Gmail account
- Retrieve detailed content of specific emails
- Send emails, including support for plain text, HTML, and image attachments
Main Functions
Email Search
- search_for_emails: Search for email messages using Gmail's advanced search syntax
Email Retrieval
- get_email_details: Fetch the full content of a specific email, converting HTML to plain text
Email Sending
- send_email: Compose and send an email, with options for plain text or markdown body and image attachment
Usage Notes
- Supports Gmail's advanced search syntax for email queries
- HTML email bodies are automatically converted to plain text for easier processing
- Markdown formatting is supported for email composition
Configuration
- This tool requires OAuth 2.0 authentication with Gmail API.
- Users need to complete the OAuth flow to grant access to their Gmail account.
- The tool uses GSUITE_CLIENT_ID and GSUITE_CLIENT_SECRET from global configuration.
Google Calendar
The Google Calendar Tool provides functionality to interact with Google Calendar, allowing users to manage events, retrieve information, and perform various calendar-related operations.
Key Features
- List upcoming events
- Get events within a specific date range
- Create, update, and delete events
- Retrieve event details and attendee status
- Manage participants and meetings
Main Functions
Event Management
- list_upcoming_events: Retrieve a list of upcoming events
- get_events_by_date_range: Fetch events within a specified date range
- create_event: Create a new calendar event
- update_event: Modify an existing calendar event
- delete_event: Remove a calendar event
- get_event_details: Retrieve detailed information about a specific event
- get_attendee_status: Get attendance status for all attendees of an event
Participant and Meeting Management
- get_unique_participants_in_range: Retrieve unique participants from meetings in a specified period
- get_meetings_by_participant: Find all meetings with a specific participant within a given period
- get_todays_meetings_by_participant: Get today's meetings organized by participant
- get_last_meeting_with_participant: Find the most recent past meeting with a specific participant
- get_next_meeting_with_participant: Find the next upcoming meeting with a specific participant
Event Analytics
- count_events_in_range: Count events within a specific date range, with optional grouping
Usage Notes
- All date and time inputs should be in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)
- The 'primary' calendar is used by default, but other calendar IDs can be specified
Configuration
- This tool requires OAuth authentication with Google Calendar API.
Google News
The Google News Tool provides functionality to retrieve and analyze news articles from Google News using various search and filtering options.
Key Features
- Fetch top headlines and articles on specific topics
- Perform advanced searches with multiple parameters
- Retrieve news by category and location
- Analyze local and trending topics
Main Functions
Headlines and Topic Search
- get_top_headlines: Fetch top headlines for a specified language and country
- query_topic: Get news articles related to a specific topic
- query_news: Perform an advanced search with multiple parameters
Categorized and Local News
- get_category_news: Retrieve news from specific categories (e.g., WORLD, BUSINESS, TECHNOLOGY)
- get_location_news: Get news articles related to a specific location
Topic Analysis
- get_local_topics: Analyze news to extract trending topics for a specific location
- get_trending_topics: Retrieve a list of currently trending topics on Google News
Search Assistance
- explain_search_syntax: Provide an explanation of the advanced search syntax
Usage Notes
- The tool uses the Google News RSS feed and does not require an API key
- Advanced search options allow for precise querying of news articles
- Topic analysis functions provide insights into local and global trending topics
Hubspot
The HubSpot CRM Tool provides functionality to interact with HubSpot CRM, view email engagement statistics, perform operations on companies, contacts, deals, and tickets.
Key Features
- Retrieve email engagement statistics
- Search and manage companies, contacts, deals, and tickets
- Upsert (create or update) CRM objects
Main Functions
Email Engagements
- get_recent_email_engagements: Retrieve recent email-related engagements
- get_email_engagement_stats: Get email engagement statistics for a specified period
Companies
- get_all_companies: Retrieve all companies from the HubSpot account
- search_companies: Search for companies using flexible criteria
Contacts
- get_all_contacts: Retrieve all contacts from HubSpot
- search_contacts: Search for contacts using flexible criteria
Deals
- search_deals: Search for deals based on provided criteria
Tickets
- search_tickets: Search for tickets based on provided criteria
Upsert Operations
- upsert_company: Create a new company or update an existing one
- upsert_contact: Create a new contact or update an existing one
- upsert_ticket: Create a new ticket or update an existing one
- upsert_deal: Create a new deal or update an existing one
Usage Notes
- All functions return JSON strings containing the requested data or operation results
- Search functions allow for flexible criteria and property retrieval
- Upsert functions use a specified unique property to determine whether to create or update an object
Configuration
- This tool requires specifying a HubSpot Private App Access Token for authentication.
Image Analysis & Recognition
The Image Analysis Tool provides functionality to analyze images using either Claude or GPT-4V models.
Key Features
- Analyze images using advanced AI models
- Automatic model selection based on image content and query
- Support for both Claude and GPT-4V models
- Image preprocessing and optimization
Main Function
Image Analysis
- analyze_image: Analyze an image using AI vision models
Usage Notes
- Supports various image formats and sources (URL or local file path)
- Automatically handles image resizing and chunking when necessary
- Provides detailed statistics on image processing and cost estimation
Configuration
- This tool requires API keys for OpenAI and Anthropic services.
Image Generator
The Image Generator Tool provides functionality to generate images from textual descriptions using OpenAI's DALL-E model.
Key Features
- Generate images based on text descriptions
Main Functions
Image Generation
- generate_image: Creates an image from a given description and returns the image URL in Markdown syntax
Usage Notes
- The generated image is resized to 512x512 pixels
- The image is uploaded to an S3 bucket and a public URL is returned
Configuration
- This tool requires an OpenAI API key to be set in the global configuration
JIRA
The JIRA Tool provides functionality to interact with JIRA projects and issues using the JIRA API.
Key Features
- List JIRA projects
- Create JIRA tickets
- Create multiple JIRA tickets from a dataframe
- Search JIRA issues using JQL
Main Functions
Project Management
- list_projects: Retrieve a list of all projects in JIRA
Issue Management
- create_jira_ticket: Create a single JIRA ticket with specified details
- create_multiple_jira_tickets: Create multiple JIRA tickets from a dataframe
- search_jira_issues: Search for JIRA issues using JQL and return results as a dataframe
Usage Notes
- The tool uses JIRA's REST API for all operations
- JQL (JIRA Query Language) knowledge is required for advanced searching
Configuration
- This tool requires specifying JIRA credentials including username, personal access token, and JIRA domain.
Knowledge Index Search and Saving
The Ragie Tool provides functionality to search and manage knowledge indexes using the Ragie API.
Key Features
- List documents in a specified index
- Search for relevant content across knowledge indexes
- Save text to a knowledge index
Main Functions
Document Listing
- list_documents: Retrieve a list of documents from a specified index with pagination support
Knowledge Search
- search_knowledge_index: Search for documents relevant to a given query across specified indexes
Content Saving
- save_text_to_knowledge_index: Save text content to a specified knowledge index
Usage Notes
- The tool uses personal indexes by default when no specific index is provided
- Search results are sorted by relevance and can be filtered using a threshold value
Configuration
- This tool requires specifying a Ragie API key.
LinkedIn Data Tool
The LinkedIn Data Tool provides functionality to retrieve and search for LinkedIn profile and company information using the LinkedIn Data API via RapidAPI.
Key Features
- Fetch LinkedIn profile information
- Retrieve company details from LinkedIn
- Search for LinkedIn profiles based on various criteria
Main Functions
Profile Information
- get_linkedin_profile_info: Fetch profile data for a given LinkedIn profile URL
Company Information
- get_company_linkedin_info: Retrieve company details using a company username or domain
People Search
- linkedin_people_search: Search for LinkedIn profiles based on name, location, job title, and company
Usage Notes
- All functions return data in a DataFrame format for consistent output
Configuration
- This tool requires an API key from RapidAPI for the LinkedIn Data API. Set the RAPIDAPI_KEY environment variable or configure it in the application settings.
Mapping
The Mapping Tool provides functionality to move and transform data between multiple systems using CSV files and mapping definitions.
Key Features
- Integrate data between different systems using source and target CSV files
- Apply custom field mappings to transform data
Main Functions
Data Integration
- integrate: Move and transform data between systems using source CSV, target CSV, and mapping definitions
Usage Notes
- The tool expects a source CSV file, a target CSV file name, and a dictionary of mappings
- Mappings should define how source column names correspond to target column names
- The source CSV file must exist in the specified path
- The resulting transformed data is saved to the specified target CSV file
MeetingBot
The Meeting Tool provides functionality to manage Google Meet sessions and retrieve transcripts using the Transkriptor API.
Key Features
- Join and record Google Meet sessions
- Retrieve transcripts from recorded meetings
- List recent meetings
- Get meeting information
Main Functions
Meeting Management
- join_and_record_meeting: Joins and records a Google Meet meeting using a meeting code or full link
Transcript Retrieval
- retrieve_meeting: Retrieves the transcription result of a recorded Google Meet session
Meeting Information
- get_meeting_info: Retrieves information about a specific meeting
- list_recent_meetings: Lists recent meetings or retrieves a specific meeting by order ID
Usage Notes
- Meeting codes or full Google Meet links are required for joining sessions
- Transcripts may not be immediately available after a meeting ends
Configuration
- This tool requires specifying a Transkriptor API key.
Memory Compression
The Memory Compression Tool provides functionality to retrieve and manage compressed memory data.
Key Features
- Retrieve full data for compressed messages
Main Functions
Data Retrieval
- retreive_full_data_for_compressed_message: Fetch the original content of a compressed message using its unique identifier
Usage Notes
- This tool interacts with a database to store and retrieve compressed message data
- The compressed_id parameter must be a non-empty string
Configuration
- This tool requires specifying a database configuration.
Native Interpreter
The Native Interpreter Tool provides functionality to execute Python code and system commands in a sandboxed environment.
Key Features
- Execute Python code in a sandboxed interpreter
- Run system commands within the container
- Set environment variables in the sandbox
Main Functions
Python Code Execution
- execute_python_code: Execute given Python code in a sandboxed interpreter
System Command Execution
- execute_system_commands: Run system commands on the underlying Linux system inside the container
Environment Variable Management
- set_env_var: Set an environment variable in the sandbox
Usage Notes
- The tool provides a sandboxed environment for code execution
- System commands are executed within the container's context
- Environment variables set using this tool are local to the sandbox
PDF Tool
The PDF Tool provides functionality to interact with PDF files, including reading content, saving new PDFs, and converting PDFs to images.
Key Features
- Read content from PDF files
- Save text content as PDF files
- Convert PDF pages to images
Main Functions
PDF Reading
- read_pdf: Extract text content from a PDF file stored in S3
PDF Creation
- save_pdf_file: Convert text or markdown content to a PDF file and save it to S3
PDF to Image Conversion
- convert_pdf_to_images: Convert each page of a PDF to an image and upload to S3
Usage Notes
- PDF files are stored and retrieved from S3
- Generated PDFs and images are accessible via download links
Configuration
- This tool requires specifying a database configuration.
- OpenAI API key is required for certain operations.
Pandas
The Pandas Tool provides functionality to manipulate dataframes and convert various file formats into dataframes using the pandas library.
Key Features
- Read files as dataframes
- Add columns to existing dataframes
- Convert dataframes to text
- Write dataframes to files
Main Functions
File Operations
- read_file_as_dataframe: Read a file (CSV, Parquet, or Excel) and return its contents as a DataFrame preview
- read_file_as_text: Read a file and return its contents as text
- write_dataframe_to_file: Write a DataFrame to a file (CSV, Parquet, or Excel)
DataFrame Manipulations
- add_column_to_dataframe: Add a new column to an existing DataFrame
- get_dataframe_as_text: Convert a DataFrame to a text representation
Usage Notes
- File formats supported: CSV, Parquet, and Excel
- When file format is not specified, the tool attempts to infer it from the file name
- DataFrame operations use variable names to reference existing dataframes in memory
Playwright
The Playwright Tool provides functionality to manipulate and test websites using Playwright, a powerful browser automation library.
Key Features
- Execute custom Playwright scripts for web automation
- Read and write Playwright scripts from/to files
Main Functions
Script Execution
- run_script: Executes a Playwright script, either provided as text or from a file
Script Management
- write_script: Saves a Playwright script to a file in the designated directory
- read_script: Retrieves the content of a saved Playwright script file
Usage Notes
- Scripts are executed asynchronously, capturing both stdout and stderr
- Scripts can be provided directly as text or referenced by filename
- The tool manages a dedicated directory for storing Playwright scripts
Configuration
- No specific API keys or authentication required for basic usage
RAG Tool
The RAG Tool provides functionality for Retrieval-Augmented Generation tasks using pgvector for storage and retrieval of embedded documents.
Key Features
- Add content to the index from various sources (local files, URLs, websites)
- Perform semantic and hybrid searches on the indexed content
- List sources stored in the index
Main Functions
Adding Content
- add_to_index: Add content to the index from local files, file URLs, or dataframe-like content
- add_single_webpage_to_index: Add content from a single webpage to the index
- add_website_to_index: Add content from a website and its subpages to the index
Searching
- search_index: Perform semantic search on the indexed content
- hybrid_search: Perform a hybrid search combining semantic and keyword search with re-ranking
Utility
- list_sources: List all unique sources stored in the index with their chunk counts
Usage Notes
- The tool supports various file formats including CSV, Excel, JSON, Parquet, text, and PDF
- Content is automatically split into chunks for efficient indexing and retrieval
- Hybrid search combines semantic and keyword search for improved results
Configuration
- This tool requires specifying a database configuration using the PGVECTOR_DB_URL environment variable
- An OpenAI API key is required for embedding generation and re-ranking in hybrid search
- A Firecrawl API key is needed for web scraping functionality
REST API
The REST API Tool provides functionality to interact with various REST API endpoints, supporting GET and POST methods with different data formats.
Key Features
- Make GET and POST requests to any REST API endpoint
- Support for JSON data, form data, and file uploads
- Handle various authentication methods including Basic Auth and API key parameters
- Process different response types including JSON, images, HTML, plain text, CSV, and XML
Main Functions
REST API Call
- call_rest_endpoint: Make a REST API call with customizable parameters, headers, authentication, and data formats
Usage Notes
- Supports environment variable resolution in parameters and headers using ${KEY} syntax
- Allows specifying a delay before making the API call
- Can return responses as pandas DataFrames for JSON data
- Handles image responses by uploading to S3 and returning a markdown-formatted image link
Configuration
- This tool uses environment variables for sensitive information.
REST API (Authorized)
The AuthorizedRESTAPITool provides functionality to interact with REST API endpoints that require authorization.
Key Features
- Make authorized REST API calls using various authentication methods
- Support for Bearer token, Basic auth, custom headers, and request arguments
Main Functions
API Interactions
- get_resource: Perform GET requests to API endpoints
- post_resource: Send POST requests with JSON or form data
- put_resource: Execute PUT requests with JSON data
- patch_resource: Perform PATCH requests with JSON data
- delete_resource: Send DELETE requests to API endpoints
Utility Functions
- add_request_header: Add custom headers to requests
- debug_request: Debug API requests (implementation not shown)
Usage Notes
- Authentication is configured via a Connection object
- Supports multiple authentication strategies: Bearer token, Basic auth, custom headers, and request arguments
Configuration
- This tool requires specifying authentication credentials in the Connection configuration.
Reflection
The Reflection Tool provides functionality for an AI agent to reflect on its actions and learn from them.
Key Features
- Reflect on previous runs and outputs
- Learn from reflections and errors
Main Functions
Reflection
- reflect: Instructs the LLM to reflect on the last run and fix any errors
Learning
- learn: Processes the result of a reflection or an error for learning purposes
Usage Notes
- The tool adds reflections to the context for future reference
- Future implementations may include saving reflections in a RAG database
Configuration
- No specific configuration required for this tool The ReflectionTriggerable class handles the execution of reflection tasks:
- Supports setting a maximum number of retry attempts
- Creates and manages agent runs for reflection
- Parses trigger arguments to extract max tries and reflection instructions
SMS
The SMS Tool provides functionality to send SMS messages via email to recipients on various mobile carriers.
Key Features
- Send SMS messages using email gateways provided by mobile carriers
Main Functions
SMS Sending
- send_sms_via_email: Send an SMS message to a specified phone number through email
Usage Notes
- Supports multiple carriers including T-Mobile, AT&T, Verizon, Claro, Sprint, and SprintPCS
- Carrier must be specified when sending a message
- Message content is appended with "(sent by supercog.ai)"
Configuration
- This tool requires specifying email credentials for the sender. Configure it with a sender's email address and password.
Salesforce
The Salesforce Tool provides functionality to interact with Salesforce, allowing users to read and write records, access metadata, and execute Salesforce Object Query Language (SOQL) queries.
Key Features
- List and describe Salesforce objects (SObjects)
- Execute SOQL queries
- Retrieve and update Salesforce records
- Create and update custom objects
- Execute anonymous Apex code
Main Functions
Object Information
- list_sobjects: List SObjects matching a given string
- list_custom_objects: List all custom SObjects
- describe_sobject: Describe the metadata of a specific SObject
Data Retrieval and Manipulation
- salesforce_search_by_SOQL: Execute a SOQL query
- salesforce_SOSQL_search: Perform a Salesforce Object Search Language (SOSL) search
- get_object_by_id: Retrieve a Salesforce record by ID
- create_salesforce_record: Create a new Salesforce record
- update_salesforce_record: Update an existing Salesforce record
- insert_list_of_objects: Insert multiple records from a dataframe
- upsert_list_of_objects: Upsert records from a dataframe
Custom Object Management
- metadata_api_create_custom_object: Create a new custom object
- delete_custom_object: Delete a custom object
Apex Code Execution
- salesforce_execute_anonymous: Execute anonymous Apex code
- get_latest_apex_logs: Retrieve Apex execution logs
- list_apex_classes: List Apex classes
- get_apex_class: Retrieve the source code of an Apex class
Usage Notes
- The tool uses OAuth for authentication and automatically refreshes tokens when needed
- Some functions support asynchronous operations for improved performance
Configuration
- This tool requires Salesforce OAuth credentials for authentication.
Salesforce Developer
The Salesforce Developer Tool provides advanced functionality for Salesforce development and administration tasks.
Key Features
- Execute anonymous Apex code
- Create and delete custom objects
- Retrieve and analyze Apex logs
- Query and manage Apex classes
- Interact with Salesforce REST API
Main Functions
Apex Code Execution
- salesforce_execute_anonymous: Execute arbitrary Apex code in Salesforce
Custom Object Management
- metadata_api_create_custom_object: Define and create a new custom object using the Metadata API
- delete_custom_object: Remove a custom object from Salesforce (requires confirmation)
Apex Logs
- query_log_id_list_from_apex: Retrieve the most recent set of Apex execution runs
- get_latest_apex_logs: Fetch Apex logs for the most recent or specified run
Apex Class Management
- list_apex_classes: Get a list of all Apex classes, with optional name filtering
- get_apex_class: Retrieve the source code of a specific Apex class
REST API Interaction
- call_sf_rest_api: Make GET requests to any Salesforce REST API endpoint
Usage Notes
- Some functions require careful use and may have significant impacts on your Salesforce org
- Always review and test code before execution in production environments
Configuration
- This tool requires Salesforce authentication. Login to Salesforce to connect your account.
Sample Data
The Sample Data Tool provides functionality to create and generate sample CSV data for testing purposes.
Key Features
- Create CSV files with specified column names and data rows
- Generate sample CSV data based on a given data type description
Main Functions
CSV Creation
- create_sample_csv: Creates a CSV file with specified column names and data rows
Sample Data Generation
- generate_sample_csv: Generates a CSV file with random contents based on a specified data type
Usage Notes
- The tool uses OpenAI's API to intelligently generate realistic sample data
- Generated CSV files are stored locally
Configuration
- This tool requires specifying an OpenAI API key.
Send Email (built-in)
The Basic Emailer Tool provides functionality to send emails using a built-in email system.
Key Features
- Send emails to specified recipients
- Send emails to the current user
- Support for Markdown and plain text email bodies
Main Functions
Email Sending
- send_email: Send an email to a specified recipient with subject and body
- send_mail_to_current_user: Send an email to the current user with subject and body
Usage Notes
- Email recipients must be whitelisted in the EMAIL_WHITELIST environment variable
- Supports Markdown formatting for email bodies, which is converted to HTML
- Plain text versions of emails are also sent for compatibility
Configuration
- This tool requires setting the EMAIL_WHITELIST environment variable to a comma-separated list of allowed recipient email addresses.
ServiceNow Custom
The ServiceNow Custom Tool provides functionality to interact with ServiceNow instances using custom REST API calls.
Key Features
- Initialize and manage ServiceNow sessions
- Perform CRUD operations on ServiceNow records
- Query records with custom filters
- Manage attachments
- Handle incidents
- Retrieve user information
- Execute server-side scripts
Main Functions
Session Management
- initialize_servicenow: Establish a new ServiceNow session
Record Operations
- get_record: Retrieve a single record from a specified table
- create_record: Create a new record in a specified table
- update_record: Update an existing record in a specified table
- delete_record: Remove a record from a specified table
- query_records: Fetch multiple records based on a custom query
Attachment Handling
- get_attachment: Retrieve attachment details
- add_attachment: Attach a file to a record
- delete_attachment: Remove an attachment
Table Information
- get_table_schema: Obtain the schema of a specified table
Incident Management
- create_incident: Create a new incident
- update_incident: Modify an existing incident
- resolve_incident: Mark an incident as resolved
User Information
- get_user_info: Fetch details about a specific user
- get_current_user: Retrieve information about the currently logged-in user
Script Execution
- execute_script: Run a server-side script in ServiceNow
Usage Notes
- Most functions require an initialized ServiceNow session
- Proper error handling is implemented for API requests
Configuration
- This tool requires specifying ServiceNow credentials including instance URL, username, and password.
Single Webpage
The Single Page Document Source Tool provides functionality to load and index content from a single webpage using Firecrawl for parsing.
Key Features
- Parse and extract content from a single webpage
- Convert extracted content to markdown format
Main Functions
Document Retrieval
- get_documents: Yields parsed content from a single webpage as Document objects
Usage Notes
- The tool uses Firecrawl to parse the webpage content
- The parsed content is converted to markdown format
- The tool generates a filename based on the page's og:title or URL
Configuration
- This tool requires a Firecrawl API key and a Ragie API key to be set in the global configuration.
- A URL for the webpage to be parsed must be provided in the tool's credentials or as a parameter.
Slack Tool
The Slack Tool provides functionality to interact with Slack, allowing sending messages, listing channels, fetching messages, and listing users.
Key Features
- Send messages to Slack channels
- List Slack channels
- Fetch messages from Slack channels
- List Slack users
Main Functions
Messaging
- send_slack_message: Send a message to a specified Slack channel
Channel Management
- list_slack_channels: Retrieve a list of Slack channels, optionally filtered by name
Message Retrieval
- fetch_slack_messages: Fetch recent messages from a specified Slack channel
User Management
- list_slack_users: Retrieve a list of Slack users, optionally filtered by name
Usage Notes
- The tool handles channel name resolution, supporting both channel names and IDs
- User mentions in messages are automatically resolved to user names
Configuration
- This tool requires Slack Bot Token and Signing Secret for authentication.
Snowflake
The Snowflake Tool provides functionality to interact with Snowflake databases, execute SQL queries, and manage data operations.
Key Features
- Execute SQL queries on Snowflake databases
- List available databases in the Snowflake warehouse
- Upload dataframes to Snowflake tables
Main Functions
SQL Execution
- run_snowflake_sql: Execute SQL commands on a specified Snowflake database and schema
Database Management
- list_databases: Retrieve a list of all databases in the Snowflake warehouse
Data Upload
- upload_dataframe_to_snowflake: Upload a pandas dataframe to a Snowflake table, with options to create or overwrite existing tables
Usage Notes
- Ensure proper database, schema, and table names are provided when executing operations
- When uploading dataframes, you can optionally create new tables or use existing ones
Configuration
- This tool requires Snowflake account credentials including account name, username, password, and warehouse name for authentication.
Speech to Text
The Speech to Text Tool provides functionality to convert speech to text using OpenAI's Whisper API.
Key Features
- Convert speech from audio files to text
- Generate text from microphone input
- Extract and playback audio segments from files
Main Functions
Speech to Text Conversion
- generate_text_from_file: Transcribe audio from a file to text
- generate_text_from_microphone: Record audio from microphone and transcribe to text
Audio Processing
- local_playback_from_file: Play a segment of an audio file locally
- playback_from_file_to_file: Extract a segment of an audio file and save it to S3
- extract_from_file_to_file: Extract a segment of an audio file and save it to S3, returning the audio URL
Usage Notes
- The tool supports various audio file formats
- Transcription can be performed on specific segments of audio files
- Audio playback and extraction functions are available for processing audio data
Configuration
- This tool requires an OpenAI API key for accessing the Whisper API.
Supercog Google Docs (beta)
The Google Docs Document Source Tool provides functionality to index and retrieve documents from Google Drive folders and individual files.
Key Features
- Index documents from selected Google Drive folders
- Process individual files from Google Drive
- Support for various file types including Google Docs, PDFs, Spreadsheets, and Word documents
Main Functions
Document Retrieval
- get_documents: Fetch and process documents from specified Google Drive folders or individual files
Usage Notes
- Requires OAuth authentication with Google
- Supports indexing of folders and individual file selection
- Extracts content from various file types including Google Docs, PDFs, Spreadsheets, and plain text files
Configuration
- This tool requires OAuth credentials for Google API access. Configure it with a Google client ID and client secret.
Swagger API Tool
The Swagger Tool provides functionality to retrieve and process Swagger API documentation for constructing network requests.
Key Features
- Load and process Swagger API documentation from a URL
- Find relevant API endpoints based on search queries
- List available API endpoints
- Retrieve detailed request data for specific API endpoints
Main Functions
Documentation Loading
- load_swagger_documentation: Loads and processes Swagger API documentation from a given URL
Endpoint Search
- find_swagger_documentation_for_request: Finds the most relevant API endpoint for a given search query
API Information
- list_api_endpoints: Lists all available API endpoints from the loaded Swagger documentation
- get_api_request_data: Retrieves detailed request data for a specific API endpoint
Usage Notes
- Ensure Swagger documentation is loaded before using other functions
- The tool uses GPT-4 to find relevant endpoints based on search queries
Configuration
- This tool requires specifying an OpenAI API key.
Text to Speech
The Text to Speech Tool provides functionality to convert text to speech using OpenAI's API and other services.
Key Features
- Generate speech audio from text
- Save generated speech to a file
- Pause execution for a specified duration
Main Functions
Text to Speech Conversion
- generate_speech_file_from_text: Convert text to speech and save it as an audio file
- bark_generate_speech_from_text: Generate speech using the Replicate API (Bark model)
Utility
- sleep_for: Pause execution for a specified number of seconds
Usage Notes
- The tool supports various voices for text-to-speech conversion
- Generated audio files are saved and can be accessed via URL
Configuration
- This tool requires an OpenAI API key for text-to-speech conversion
- A Replicate API token is needed for the Bark text-to-speech model
Weather
The Weather Tool provides functionality to retrieve current weather data, weather forecasts, and historical weather information using the Open-Meteo API.
Key Features
- Get current weather conditions for a specified location
- Obtain hourly or daily weather forecasts
- Retrieve historical weather data
- Calculate historical weather averages
Main Functions
Current Weather
- get_current_weather: Fetch current weather data for a given location
Weather Forecast
- get_forecast_weather: Obtain hourly or daily weather forecast for a specified location
Historical Weather
- get_historical_weather: Retrieve historical weather data for a specific date range
- get_historical_averages: Calculate 5-year historical weather averages for a specific date range
Usage Notes
- No API key is required for basic usage
- Optional API key parameter available for professional/production use
- Latitude and longitude coordinates are used to specify locations
- Date formats vary by function (YYYY-MM-DD for full dates, MM-DD for recurring dates)
Web Browsing (Scale SERP)
The Scale SERP Browser Tool provides functionality to search the web and download web content using the Scale SERP API and other fallback methods.
Key Features
- Web search using Scale SERP API
- Download and extract content from web pages
- Fallback to ScrapingBee API if Scale SERP fails
Main Functions
Web Browsing
- browse_web_tool: Searches the web using Scale SERP API and returns full page contents related to the search term
Web Page Download
- download_web_pages: Downloads and extracts content from one or more specified web pages
Usage Notes
- The tool handles HTML content extraction and formatting
- Implements concurrency for efficient multiple page downloads
- Includes error handling and fallback mechanisms
Configuration
- This tool requires specifying a Scale SERP API key
- Optionally, a ScrapingBee API key can be configured for fallback functionality
Web Search
The Slack Web Browser Tool provides functionality to perform web searches and retrieve information about people from various online sources, including LinkedIn.
Key Features
- Conduct general web searches
- Search for information about specific individuals
Main Functions
Web Search
- web_search_tool: Perform a general web search using the Tavily search engine
People Search
- people_web_search_tool: Search for information about a person using available details such as name, email, company, or location
- linkedin_people_search: Search for LinkedIn profiles matching the provided criteria
Usage Notes
- The tool combines results from web searches and LinkedIn profile data
- For people searches, it returns a summary including LinkedIn profile information and general web search results
Configuration
- This tool requires API keys for Tavily and LinkedIn data access.
Web Search and Page Browser
The TavilySearchTool provides functionality to perform web searches and retrieve search results using the Tavily search engine.
Key Features
- Perform web searches with customizable parameters
- Retrieve search results including web pages and optionally images
Main Functions
Web Search
- web_search_tool: Execute a web search query and retrieve results
Usage Notes
- The tool uses the Tavily API to perform searches
- Search results are returned as a DataFrame preview
- Images can be optionally included in the search results
Configuration
- This tool requires a Tavily API key. Set it as an environment variable 'TAVILY_API_KEY' or configure it in the application settings.
Website Documents
The Website Document Source tool provides functionality to crawl, parse, and index content from specified websites using Firecrawl and Ragie services.
Key Features
- Crawl and parse website content
- Index parsed content for later retrieval and search
Main Functions
Document Retrieval
- get_documents: Crawls a specified website, parses its content, and yields Document objects containing the parsed information
Usage Notes
- The tool uses Firecrawl for web crawling and parsing
- Parsed content is indexed using Ragie for efficient retrieval
- Rate limiting is implemented to prevent overloading external services
Configuration
- This tool requires a Firecrawl API key and a Ragie API key to be set in the global configuration.
YouTube Search
The YouTube Search Tool provides functionality to search for YouTube videos, playlists, and channels using the YouTube Data API v3.
Key Features
- Search for YouTube videos, playlists, or channels
- Retrieve detailed information about search results
Main Functions
YouTube Search
- youtube_search_tool: Perform a search query on YouTube and return results
Usage Notes
- Results include title, description, publication date, channel title, thumbnail URL, and video/playlist/channel URL
- Maximum number of results is limited to 50 due to YouTube API constraints
Configuration
- This tool requires a YouTube Data API key. Set the API key in the environment variable
YOUTUBE_API_KEY
or in the global configuration.
YouTube Transcription
The YouTube Transcription Tool provides functionality to transcribe YouTube videos and search through transcriptions using vector embeddings.
Key Features
- Transcribe YouTube videos and store the transcriptions in a database
- Search through stored transcriptions using semantic similarity
Main Functions
Transcription
- transcribe_youtube_video: Download, transcribe, and store the content of a YouTube video
Search
- search_transcriptions: Search through stored transcriptions using semantic similarity
Usage Notes
- Requires a PostgreSQL database with pgvector extension
- Uses OpenAI's Whisper model for transcription and embeddings for search
Configuration
- This tool requires specifying a database configuration and an OpenAI API key.
Zapier
The Zapier Tool provides functionality to interact with Zapier and connected systems using the Zapier API.
Key Features
- List available Zaps
- Execute Zaps
- Retrieve data from connected systems
- Write data to connected systems
Main Functions
Zap Management
- list_zaps: Retrieve a list of available Zaps for the authenticated user
Zap Execution
- execute_zap: Execute a specific Zap with given input data
Data Operations
- retrieve_data: Fetch data from a connected system using a specific Zap action
- write_data: Send data to a connected system using a specific Zap action
Usage Notes
- All functions return JSON strings containing the results or error details
- Error handling is built into each function to manage API connection issues
Configuration
- This tool requires specifying a Zapier API key. Configure it with your Zapier API key to access Zapier services.
Zyte Web Scraping
The Zyte Web Scraping Tool provides functionality to scrape web pages using the Zyte.com API.
Key Features
- Scrape web pages and retrieve their content
- Option to return content as HTML or plain text
Main Functions
Web Scraping
- scrape_web_page: Fetch the browser-rendered content of a web page
Usage Notes
- The tool uses Zyte's API to render web pages, which can handle JavaScript-rendered content
Configuration
- This tool requires a Zyte API key. Set the ZYTE_API_KEY environment variable with your API key.
Zyte Web Screenshots
The Zyte Screenshot Tool provides functionality to capture screenshots of web pages using the Zyte.com service.
Key Features
- Capture high-quality screenshots of web pages
Main Functions
Web Page Screenshot
- get_page_screenshot: Returns an image of the browser rendering content of a specified web page
Usage Notes
- The tool uses Zyte's API to capture screenshots
- Returned screenshots are processed and converted to a suitable format for further use
Configuration
- This tool requires environment variables to be set for authentication with the Zyte API
appconnect_analysis
The AppConnect Analysis Tool provides functionality to analyze IBM App Connect (formerly WebSphere Cast Iron) project structures, orchestrations, and mappings.
Key Features
- Analyze AppConnect project structures
- Examine orchestration flows and activities
- Extract detailed mapping information
Main Functions
Project Structure
- list_project_structure: List the project structure with focus on orchestrations
Orchestration Analysis
- list_project_orchestrations: List all orchestrations in an AppConnect project
- analyze_orchestration: Analyze a specific AppConnect orchestration with focus on mappings and flow
Usage Notes
- The tool recursively searches for project directories and files
- Detailed analysis includes activity trees, mapping statistics, and data transformations
Configuration
- This tool does not require any specific configuration or API keys.
coda
The Coda Tool provides functionality to interact with Coda documents, tables, and manage permissions using the Coda API.
Key Features
- List and retrieve Coda documents
- Manage tables and rows within documents
- Export document contents
- Retrieve analytics data for documents and pages
Main Functions
Document Management
- list_docs: List available Coda documents
- get_doc_details: Get details about a specific document
- get_doc_contents: Retrieve full contents of a document including page content and tables
Table and Row Operations
- list_tables: List tables in a document
- get_table: Get details about a specific table
- list_rows: List rows in a table with optional filtering
- get_row: Get details about a specific row
- insert_rows: Insert or upsert rows into a table
- update_row: Update a specific row in a table
- delete_row: Delete a specific row from a table
Analytics
- get_doc_analytics: Retrieve analytics data for documents
- get_page_analytics: Get analytics data for pages within a document
- get_doc_analytics_summary: Get summarized analytics data for documents
Usage Notes
- All functions require a document ID and some require additional identifiers for tables or rows
- Analytics functions offer various filtering options
Configuration
- This tool requires specifying a Coda API key. Configure it in the app under tools->options->API key.
list_manager
The List Manager Tool provides functionality to create, manage, and manipulate lists with multiple columns using DuckDB as a backend.
Key Features
- Create and manage lists with custom columns and types
- Add, update, remove, and search items in lists
- Merge lists and manage columns
- Import and export list data
- Retrieve list summaries and schemas
Main Functions
List Creation and Management
- create_list: Create a new list with specified columns and an optional primary key
- add_items: Add multiple items to an existing list
- update_items: Update items in a list matching specified criteria
- remove_items: Remove items from a list based on a condition
- add_column: Add a new column to an existing list
List Operations
- search_list: Search for items in a list using SQL-like queries
- merge_lists: Merge items from one list into another
- export_list: Export a list to a file in CSV, JSON, or Excel format
- import_list: Import items from a file into a new or existing list
List Information
- get_list_summary: Retrieve summary statistics about a list
- get_list_schema: Get schema information for a list
- list_all_lists: Get information about all lists in the database
List Deletion
- delete_list: Delete a list and its metadata completely from the database
Usage Notes
- The tool uses DuckDB as a backend, providing SQL-like functionality for list operations
- System columns (e.g., system_id, created_at, modified_at) are automatically managed
- Lists can have a natural primary key for item identification
Configuration
- This tool requires specifying a database file path for DuckDB storage.
nmap
The Nmap Tool provides functionality to perform advanced network scans using the Nmap security scanner.
Key Features
- Conduct customizable port scans on specified targets
- Detect operating systems and service versions
- Run Nmap scripts for vulnerability assessment
Main Functions
Network Scanning
- nmap_scan: Perform an advanced network scan on a specified target
Usage Notes
- Some scan types and features (like SYN scans and OS detection) require root privileges
- Non-root users are automatically switched to TCP connect scans
- Scan results can be returned in normal, XML, or JSON formats
Configuration
- This tool does not require API keys or additional authentication
zap
The ZAP Tool provides functionality to perform security scans on web applications using OWASP ZAP (Zed Attack Proxy).
Key Features
- Perform comprehensive security scans on target URLs
- Retrieve high and medium risk security alerts
Main Functions
Security Scanning
- zap_scan: Initiates a full security scan on a specified target URL, including spidering, passive scanning, and active scanning
Alert Retrieval
- get_high_risk_alerts: Fetches high risk security alerts from the latest scan
- get_medium_risk_alerts: Retrieves medium risk security alerts from the latest scan
Usage Notes
- The tool generates a JSON report file with detailed alert information after each scan
- Scan progress and results are logged for monitoring
Configuration
- This tool requires specifying an API key and ZAP port.
- Configure the API key in the OWASP ZAP application under Tools -> Options -> API
- Set the ZAP port to match the local proxy configuration in Options -> Network -> Local Proxy