Skip to main content

Community Tools Library

OmniCoreAgent ships with 100+ pre-built community tools covering search, AI/ML, communication, databases, DevOps, finance, and more. Install once, import, and go — no boilerplate.
from omnicoreagent.community import TavilySearch, CalculatorTool, HackerNewsGetTopStories

Tool Categories

🔍 Search & Research

ToolDescription
TavilySearch / TavilyExtractWeb search and content extraction
GoogleSearchGoogle Custom Search
ExaSearch / ExaAnswer / ExaFindSimilar / ExaGetContents / ExaResearchExa AI search ecosystem
PerplexitySearchPerplexity AI search
DuckDuckGoSearchToolDuckDuckGo search (no API key!)
BraveSearchToolBrave Search
BaiduSearchToolsBaidu search
SerpApiGoogleSearchSerpAPI Google Search
SerperTools / SerperSearchNews / SerperScrapeWebpageSerper search + news + scraping
TakoSearchTako search
SearxngSelf-hosted SearXNG search
ValyuTools / ValyuSearchWeb / ValyuSearchPaperAcademic & web research
LinkupToolsLinkup search
PubmedToolsPubMed medical research
WikipediaSearchToolWikipedia search
ArxivToolarXiv paper search

🌐 Web Scraping & Content

ToolDescription
FirecrawlBase / FirecrawlScrape / FirecrawlCrawl / FirecrawlSearchWeb scraping + crawling
Crawl4AI / Crawl4AICrawlCrawl4AI web extraction
SpiderTools / SpiderScrape / SpiderCrawlSpider web scraping
ScrapeGraphBase / ScrapeGraphSmartScraper / ScrapeGraphMarkdownifyAI-powered scraping
TrafilaturaTools / TrafilaturaExtractMetadata / TrafilaturaHtmlToTextHTML to text extraction
JinaReadUrl / JinaSearchQueryJina AI reader + search
NewsArticleReadArticle extraction via Newspaper4k
BrightDataTools / BrightDataScrapeBright Data scraping
OxylabsTools / OxylabsGetAmazonProduct / OxylabsScrapeWebsiteOxylabs web scraping
AgentQLBase / AgentQLScrapeWebsite / AgentQLCustomQueryAgentQL web scraping
UrlExpandExpand shortened URLs

🤖 AI & Media Generation

ToolDescription
OpenAITranscribeAudio / OpenAIGenerateImage / OpenAIGenerateSpeechOpenAI multimodal tools
DalleBase / DalleCreateImageDALL·E image generation
FalBase / FalGenerateMedia / FalImageToImageFal AI media generation
ReplicateBase / ReplicateGenerateMediaReplicate model runner
ElevenLabsBase / ElevenLabsTextToSpeech / ElevenLabsGetVoicesElevenLabs TTS
CartesiaTools / CartesiaTTSCartesia TTS
DesiVocalTools / DesiVocalTTSDesiVocal TTS
LumaBase / LumaGenerateVideo / LumaImageToVideoLuma Labs video generation
ModelsLabMediaGenModelsLab media generation
NanoBananaImageGenNano Banana image gen
MLXTranscribeToolsMLX audio transcription
MoviePyExtractAudio / MoviePyCreateSRT / MoviePyEmbedCaptionsVideo processing

💬 Communication & Social

ToolDescription
SlackBase / SlackSendMessage / SlackListChannels / SlackGetHistorySlack messaging
DiscordBase / DiscordSendMessage / DiscordListChannelsDiscord messaging
TelegramSendMessageTelegram messaging
WhatsAppBase / WhatsAppSendMessageWhatsApp messaging
TwilioTools / TwilioGetCallDetails / TwilioListMessagesTwilio SMS & calls
GmailBase / GmailSendEmail / GmailReadEmailGmail integration
EmailToolsGeneric email tools
ResendToolsResend email API
AWSSETSendEmailAWS SES email
XBase / XCreatePost / XSearchPostsX (Twitter) integration
RedditBase / RedditGetSubreddit / RedditGetPosts / RedditCreatePostReddit
WebBrowserToolsOpen URLs in browser

🗄️ Databases & Storage

ToolDescription
PostgresBase / PostgresShowTables / PostgresRunQueryPostgreSQL
SQLBase / SQLListTables / SQLRunQueryGeneric SQL (SQLAlchemy)
DuckDbBase / DuckDbShowTables / DuckDbRunQueryDuckDB analytics
RedshiftBase / RedshiftShowTables / RedshiftRunQueryAWS Redshift
Neo4jTools / Neo4jListLabels / Neo4jGetSchemaNeo4j graph database
GoogleBigQueryBase / GoogleBigQueryListTables / GoogleBigQueryRunQueryBigQuery
Mem0Tools / Mem0SearchMemory / Mem0GetAllMemoriesMem0 memory layer
ZepTools / ZepGetMemory / ZepSearchMemoryZep memory service

🛠️ DevOps & Productivity

ToolDescription
GithubBase / GithubSearchRepos / GithubCreateIssueGitHub
BitbucketTools / BitbucketListRepos / BitbucketCreateRepoBitbucket
JiraBase / JiraGetIssue / JiraCreateIssue / JiraSearchIssuesJira
LinearBase / LinearGetIssue / LinearCreateIssueLinear
TrelloBase / TrelloCreateCard / TrelloGetCardsTrello
ClickUpBase / ClickUpListTasks / ClickUpCreateTaskClickUp
ConfluenceBase / ConfluenceGetPage / ConfluenceCreatePageConfluence
NotionBase / NotionCreatePage / NotionSearchPageNotion
TodoistBase / TodoistCreateTask / TodoistGetTasksTodoist
CalComTools / CalComCreateBookingCal.com scheduling
AirflowTools / AirflowReadDAGApache Airflow
DockerBase / DockerListContainers / DockerRunContainerDocker
ZoomBase / ZoomScheduleMeeting / ZoomListMeetingsZoom
ZendeskSearchArticlesZendesk support

📊 Finance & Data

ToolDescription
YFinanceBase / YFinanceGetStockPrice / YFinanceGetCompanyInfoYahoo Finance
FinancialDatasetsBase / FinancialDatasetsGetIncomeStatementsFinancial data
OpenBBBase / OpenBBGetStockPrice / OpenBBGetCompanyNewsOpenBB terminal
ShopifyTools / ShopifyGetProducts / ShopifyGetOrders / ShopifyGetSalesTrendsShopify analytics
PandasCreateDataframePandas dataframe creation
CsvRead / CsvGetColumnsCSV file tools
VisualizationTools / VisualizationLineChart / VisualizationPieChartChart generation
CalculatorToolMath operations (no API key!)

⚡ Code Execution & File System

ToolDescription
LocalPython / LocalBashExecute code locally ⚠️
PythonBase / PythonSaveAndRun / PythonRunCode / PythonPipInstallPython environment
ShellRunCommandShell command execution ⚠️
E2BTools / E2BRunCommand / E2BUploadFile / E2BReadFileE2B sandboxed execution
DaytonaTools / DaytonaRunShellCommand / DaytonaCreateFileDaytona workspaces
BrowserbaseBase / BrowserbaseSessionToolCloud browser automation
FileSystemWriteFile / FileSystemReadFile / FileSystemListFilesLocal file system
FileGenerationTools / GenerateCSVFile / GeneratePDFFile / GenerateTextFileFile generation

🗺️ Maps, Weather & Other

ToolDescription
GoogleMapTools / GoogleMapsDirections / GoogleMapsGeocodeGoogle Maps
OpenWeatherTools / OpenWeatherForecast / OpenWeatherAirPollutionWeather data
HackerNewsGetTopStories / HackerNewsGetUserDetailsHackerNews API (no API key!)
YouTubeTools / YouTubeGetVideoData / YouTubeGetTimestampsYouTube data
SpotifyBase / SpotifySearch / SpotifyPlay / SpotifyPlaylistSpotify
GoogleSheetsBase / GoogleSheetsRead / GoogleSheetsCreateGoogle Sheets
GoogleDriveBase / GoogleDriveListFilesGoogle Drive
GoogleCalendarBase / GoogleCalendarListEvents / GoogleCalendarCreateEventGoogle Calendar
GiphySearchGiphy GIF search
UnsplashBase / UnsplashSearchPhotos / UnsplashGetPhotoUnsplash photos
BrandfetchTools / BrandfetchSearchByBrandBrand asset lookup
ApifyRunActorApify actor execution
AWSLambdaBase / AWSLambdaListFunctions / AWSLambdaInvokeAWS Lambda
EvmToolsEthereum/EVM blockchain
SleepToolsAsync sleep utility

Quick Usage

Option A: Pass tools as a list (simplest)

from omnicoreagent import OmniCoreAgent
from omnicoreagent.community import TavilySearch, CalculatorTool

agent = OmniCoreAgent(
    name="assistant",
    system_instruction="You have search and math.",
    model_config={"provider": "openai", "model": "gpt-4o"},
    local_tools=[TavilySearch(), CalculatorTool()],
)

Option B: Use ToolRegistry (mix custom + community)

from omnicoreagent import OmniCoreAgent, ToolRegistry, Tool
from omnicoreagent.community import TavilySearch, HackerNewsGetTopStories

# Your custom tool
class GreetTool:
    def get_tool(self) -> Tool:
        return Tool(
            name="greet",
            description="Greet a user.",
            inputSchema={"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]},
            function=self._greet,
        )
    async def _greet(self, name: str):
        return {"status": "success", "data": f"Hello, {name}!", "message": "Greeted"}

registry = ToolRegistry()
registry.register(GreetTool())           # Custom tool
registry.register(TavilySearch())        # Community tool
registry.register(HackerNewsGetTopStories())

agent = OmniCoreAgent(
    name="hybrid_agent",
    system_instruction="You can greet users, search the web, and fetch HN stories.",
    model_config={"provider": "openai", "model": "gpt-4o"},
    local_tools=registry,
)

Option C: Use env vars (no hardcoded keys)

export TAVILY_API_KEY=tvly-...
export GOOGLE_API_KEY=...
export GOOGLE_CSE_ID=...
# Tools auto-read from env vars when no api_key is passed
agent = OmniCoreAgent(
    local_tools=[TavilySearch()],  # Reads TAVILY_API_KEY automatically
    ...
)

Environment Variables

Tools automatically read API keys from environment variables if none is passed explicitly:
ToolEnvironment Variable
TavilySearch / TavilyExtractTAVILY_API_KEY
GoogleSearchGOOGLE_API_KEY, GOOGLE_CSE_ID
ExaSearch / ExaAnswer / ExaFindSimilarEXA_API_KEY
PerplexitySearchPERPLEXITY_API_KEY
FirecrawlBaseFIRECRAWL_API_KEY
ValyuToolsVALYU_API_KEY
TakoSearchTAKO_API_KEY
SerperToolsSERPER_API_KEY
SerpApiGoogleSearchSERPAPI_API_KEY
OpenWeatherToolsOPENWEATHER_API_KEY
SlackBaseSLACK_BOT_TOKEN
DiscordBaseDISCORD_BOT_TOKEN
Many tools require no API key at all: CalculatorTool, HackerNewsGetTopStories, LocalPython, LocalBash, ShellRunCommand, SleepTools, WebBrowserTools, DuckDuckGoSearchTool, WikipediaSearchTool.

Standardized Response Format

All community tools return a consistent dictionary:
{
    "status": "success" | "error",
    "data": Any,       # The actual result
    "message": str     # Human-readable summary or error details
}

Dependency Handling

Each tool gracefully handles missing optional dependencies. If a library isn’t installed, you get a clear error with install instructions:
from omnicoreagent.community import SpotifySearch

try:
    tool = SpotifySearch(access_token="...")
except ImportError as e:
    print(e)
    # → "Could not import `httpx` python package. Please install it with `pip install httpx`."

Cookbook Examples