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
🔍 Search & Research
| Tool | Description |
|---|
TavilySearch / TavilyExtract | Web search and content extraction |
GoogleSearch | Google Custom Search |
ExaSearch / ExaAnswer / ExaFindSimilar / ExaGetContents / ExaResearch | Exa AI search ecosystem |
PerplexitySearch | Perplexity AI search |
DuckDuckGoSearchTool | DuckDuckGo search (no API key!) |
BraveSearchTool | Brave Search |
BaiduSearchTools | Baidu search |
SerpApiGoogleSearch | SerpAPI Google Search |
SerperTools / SerperSearchNews / SerperScrapeWebpage | Serper search + news + scraping |
TakoSearch | Tako search |
Searxng | Self-hosted SearXNG search |
ValyuTools / ValyuSearchWeb / ValyuSearchPaper | Academic & web research |
LinkupTools | Linkup search |
PubmedTools | PubMed medical research |
WikipediaSearchTool | Wikipedia search |
ArxivTool | arXiv paper search |
🌐 Web Scraping & Content
| Tool | Description |
|---|
FirecrawlBase / FirecrawlScrape / FirecrawlCrawl / FirecrawlSearch | Web scraping + crawling |
Crawl4AI / Crawl4AICrawl | Crawl4AI web extraction |
SpiderTools / SpiderScrape / SpiderCrawl | Spider web scraping |
ScrapeGraphBase / ScrapeGraphSmartScraper / ScrapeGraphMarkdownify | AI-powered scraping |
TrafilaturaTools / TrafilaturaExtractMetadata / TrafilaturaHtmlToText | HTML to text extraction |
JinaReadUrl / JinaSearchQuery | Jina AI reader + search |
NewsArticleRead | Article extraction via Newspaper4k |
BrightDataTools / BrightDataScrape | Bright Data scraping |
OxylabsTools / OxylabsGetAmazonProduct / OxylabsScrapeWebsite | Oxylabs web scraping |
AgentQLBase / AgentQLScrapeWebsite / AgentQLCustomQuery | AgentQL web scraping |
UrlExpand | Expand shortened URLs |
| Tool | Description |
|---|
OpenAITranscribeAudio / OpenAIGenerateImage / OpenAIGenerateSpeech | OpenAI multimodal tools |
DalleBase / DalleCreateImage | DALL·E image generation |
FalBase / FalGenerateMedia / FalImageToImage | Fal AI media generation |
ReplicateBase / ReplicateGenerateMedia | Replicate model runner |
ElevenLabsBase / ElevenLabsTextToSpeech / ElevenLabsGetVoices | ElevenLabs TTS |
CartesiaTools / CartesiaTTS | Cartesia TTS |
DesiVocalTools / DesiVocalTTS | DesiVocal TTS |
LumaBase / LumaGenerateVideo / LumaImageToVideo | Luma Labs video generation |
ModelsLabMediaGen | ModelsLab media generation |
NanoBananaImageGen | Nano Banana image gen |
MLXTranscribeTools | MLX audio transcription |
MoviePyExtractAudio / MoviePyCreateSRT / MoviePyEmbedCaptions | Video processing |
💬 Communication & Social
| Tool | Description |
|---|
SlackBase / SlackSendMessage / SlackListChannels / SlackGetHistory | Slack messaging |
DiscordBase / DiscordSendMessage / DiscordListChannels | Discord messaging |
TelegramSendMessage | Telegram messaging |
WhatsAppBase / WhatsAppSendMessage | WhatsApp messaging |
TwilioTools / TwilioGetCallDetails / TwilioListMessages | Twilio SMS & calls |
GmailBase / GmailSendEmail / GmailReadEmail | Gmail integration |
EmailTools | Generic email tools |
ResendTools | Resend email API |
AWSSETSendEmail | AWS SES email |
XBase / XCreatePost / XSearchPosts | X (Twitter) integration |
RedditBase / RedditGetSubreddit / RedditGetPosts / RedditCreatePost | Reddit |
WebBrowserTools | Open URLs in browser |
🗄️ Databases & Storage
| Tool | Description |
|---|
PostgresBase / PostgresShowTables / PostgresRunQuery | PostgreSQL |
SQLBase / SQLListTables / SQLRunQuery | Generic SQL (SQLAlchemy) |
DuckDbBase / DuckDbShowTables / DuckDbRunQuery | DuckDB analytics |
RedshiftBase / RedshiftShowTables / RedshiftRunQuery | AWS Redshift |
Neo4jTools / Neo4jListLabels / Neo4jGetSchema | Neo4j graph database |
GoogleBigQueryBase / GoogleBigQueryListTables / GoogleBigQueryRunQuery | BigQuery |
Mem0Tools / Mem0SearchMemory / Mem0GetAllMemories | Mem0 memory layer |
ZepTools / ZepGetMemory / ZepSearchMemory | Zep memory service |
🛠️ DevOps & Productivity
| Tool | Description |
|---|
GithubBase / GithubSearchRepos / GithubCreateIssue | GitHub |
BitbucketTools / BitbucketListRepos / BitbucketCreateRepo | Bitbucket |
JiraBase / JiraGetIssue / JiraCreateIssue / JiraSearchIssues | Jira |
LinearBase / LinearGetIssue / LinearCreateIssue | Linear |
TrelloBase / TrelloCreateCard / TrelloGetCards | Trello |
ClickUpBase / ClickUpListTasks / ClickUpCreateTask | ClickUp |
ConfluenceBase / ConfluenceGetPage / ConfluenceCreatePage | Confluence |
NotionBase / NotionCreatePage / NotionSearchPage | Notion |
TodoistBase / TodoistCreateTask / TodoistGetTasks | Todoist |
CalComTools / CalComCreateBooking | Cal.com scheduling |
AirflowTools / AirflowReadDAG | Apache Airflow |
DockerBase / DockerListContainers / DockerRunContainer | Docker |
ZoomBase / ZoomScheduleMeeting / ZoomListMeetings | Zoom |
ZendeskSearchArticles | Zendesk support |
📊 Finance & Data
| Tool | Description |
|---|
YFinanceBase / YFinanceGetStockPrice / YFinanceGetCompanyInfo | Yahoo Finance |
FinancialDatasetsBase / FinancialDatasetsGetIncomeStatements | Financial data |
OpenBBBase / OpenBBGetStockPrice / OpenBBGetCompanyNews | OpenBB terminal |
ShopifyTools / ShopifyGetProducts / ShopifyGetOrders / ShopifyGetSalesTrends | Shopify analytics |
PandasCreateDataframe | Pandas dataframe creation |
CsvRead / CsvGetColumns | CSV file tools |
VisualizationTools / VisualizationLineChart / VisualizationPieChart | Chart generation |
CalculatorTool | Math operations (no API key!) |
⚡ Code Execution & File System
| Tool | Description |
|---|
LocalPython / LocalBash | Execute code locally ⚠️ |
PythonBase / PythonSaveAndRun / PythonRunCode / PythonPipInstall | Python environment |
ShellRunCommand | Shell command execution ⚠️ |
E2BTools / E2BRunCommand / E2BUploadFile / E2BReadFile | E2B sandboxed execution |
DaytonaTools / DaytonaRunShellCommand / DaytonaCreateFile | Daytona workspaces |
BrowserbaseBase / BrowserbaseSessionTool | Cloud browser automation |
FileSystemWriteFile / FileSystemReadFile / FileSystemListFiles | Local file system |
FileGenerationTools / GenerateCSVFile / GeneratePDFFile / GenerateTextFile | File generation |
🗺️ Maps, Weather & Other
| Tool | Description |
|---|
GoogleMapTools / GoogleMapsDirections / GoogleMapsGeocode | Google Maps |
OpenWeatherTools / OpenWeatherForecast / OpenWeatherAirPollution | Weather data |
HackerNewsGetTopStories / HackerNewsGetUserDetails | HackerNews API (no API key!) |
YouTubeTools / YouTubeGetVideoData / YouTubeGetTimestamps | YouTube data |
SpotifyBase / SpotifySearch / SpotifyPlay / SpotifyPlaylist | Spotify |
GoogleSheetsBase / GoogleSheetsRead / GoogleSheetsCreate | Google Sheets |
GoogleDriveBase / GoogleDriveListFiles | Google Drive |
GoogleCalendarBase / GoogleCalendarListEvents / GoogleCalendarCreateEvent | Google Calendar |
GiphySearch | Giphy GIF search |
UnsplashBase / UnsplashSearchPhotos / UnsplashGetPhoto | Unsplash photos |
BrandfetchTools / BrandfetchSearchByBrand | Brand asset lookup |
ApifyRunActor | Apify actor execution |
AWSLambdaBase / AWSLambdaListFunctions / AWSLambdaInvoke | AWS Lambda |
EvmTools | Ethereum/EVM blockchain |
SleepTools | Async sleep utility |
Quick Usage
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()],
)
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:
| Tool | Environment Variable |
|---|
TavilySearch / TavilyExtract | TAVILY_API_KEY |
GoogleSearch | GOOGLE_API_KEY, GOOGLE_CSE_ID |
ExaSearch / ExaAnswer / ExaFindSimilar | EXA_API_KEY |
PerplexitySearch | PERPLEXITY_API_KEY |
FirecrawlBase | FIRECRAWL_API_KEY |
ValyuTools | VALYU_API_KEY |
TakoSearch | TAKO_API_KEY |
SerperTools | SERPER_API_KEY |
SerpApiGoogleSearch | SERPAPI_API_KEY |
OpenWeatherTools | OPENWEATHER_API_KEY |
SlackBase | SLACK_BOT_TOKEN |
DiscordBase | DISCORD_BOT_TOKEN |
Many tools require no API key at all: CalculatorTool, HackerNewsGetTopStories, LocalPython, LocalBash, ShellRunCommand, SleepTools, WebBrowserTools, DuckDuckGoSearchTool, WikipediaSearchTool.
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