List Available Tools
Filter Tools
Find relevant tools for specific tasks:Get Tool Information
Execute Tools Directly
Run tools without LLM conversation:Filter Types
BM25 Filter (Default)
- Speed: ⚡ 1-5ms
- Best for: Keyword matching, production use
- Dependencies: None
Local Embedding Filter
- Speed: ⚡ 10ms
- Best for: Semantic search, offline use
- Dependencies:
pip install mcp-agents[embedding]
Cloud Filter
- Speed: 🐌 300-400ms
- Best for: Highest accuracy
- Dependencies:
pip install mcp-agents[cloud]
- Requirements:
PINECONE_API_KEY
,OPENAI_API_KEY
Available Tools
The SDK provides access to tools including:- 📧 Gmail: Email management, search, compose
- 🎥 YouTube: Video transcript retrieval
- 📋 Linear: Project management, issues
- 💬 Slack: Messaging, channels, files
- 📝 Notion: Database queries, page creation
- 🔍 Brave Search: Web search
- 📅 Google Calendar: Event management
- 📄 Google Docs: Document creation and editing
- 💾 Google Drive: File management
- 📊 Google Sheets: Spreadsheet operations
- And many more…
Examples
Find Tools for Email
Find Tools for Content Creation
Execute Multiple Tools
Custom Tools
Custom tools allow you to add your own functionality to the SDK without needing to create a full MCP server. They work seamlessly with all LLM providers and can be combined with existing MCP tools.Basic Usage
Tool Handler Function
The custom tool handler is an async function that receives:tool_name
: The name of the tool being calledtool_input
: Dictionary of input parameters
Tool Definition Format
Custom tools use the OpenAI function calling format:Combining Custom and MCP Tools
Non-Streaming Usage
Custom tools also work with the synchronous API:Common Use Cases
- Business Logic: Implement company-specific calculations or rules
- API Wrappers: Create simple wrappers for internal APIs
- Data Processing: Add custom data transformation tools
- Prototyping: Quickly test tool ideas before creating MCP servers
Limitations
- Custom tools are local to your application
- They don’t appear in
list_tools()
results - No built-in authentication or permissions
- Limited to the OpenAI function format or when filtering=True