from observee_agents import list_tools
tools = list_tools(observee_api_key="obs_your_key_here")
print(f"Found {len(tools)} tools")
for tool in tools[:5]: # Show first 5
print(f"- {tool['name']}: {tool['description']}")
Find relevant tools for specific tasks:
from observee_agents import filter_tools
# Find email tools
email_tools = filter_tools(
query="email management",
max_tools=5,
observee_api_key="obs_your_key_here"
)
for tool in email_tools:
print(f"- {tool['name']} (score: {tool['relevance_score']})")
from observee_agents import get_tool_info
tool_info = get_tool_info(
tool_name="youtube_get_transcript",
observee_api_key="obs_your_key_here"
)
if tool_info:
print(f"Tool: {tool_info['name']}")
print(f"Description: {tool_info['description']}")
print(f"Parameters: {tool_info['parameters']}")
Run tools without LLM conversation:
from observee_agents import execute_tool
result = execute_tool(
tool_name="youtube_get_transcript",
tool_input={"video_url": "https://youtube.com/watch?v=example"},
observee_api_key="obs_your_key_here"
)
print(result)
Filter Types
BM25 Filter (Default)
- Speed: ⚡ 1-5ms
- Best for: Keyword matching, production use
- Dependencies: None
tools = filter_tools(
query="gmail email",
filter_type="bm25"
)
Local Embedding Filter
- Speed: ⚡ 10ms
- Best for: Semantic search, offline use
- Dependencies:
pip install mcp-agents[embedding]
tools = filter_tools(
query="help me be productive",
filter_type="local_embedding"
)
Cloud Filter
- Speed: 🐌 300-400ms
- Best for: Highest accuracy
- Dependencies:
pip install mcp-agents[cloud]
- Requirements:
PINECONE_API_KEY
, OPENAI_API_KEY
tools = filter_tools(
query="complex analytical task",
filter_type="cloud"
)
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
email_tools = filter_tools(
query="email management gmail",
max_tools=3
)
for tool in email_tools:
print(f"📧 {tool['name']}: {tool['description']}")
Find Tools for Content Creation
content_tools = filter_tools(
query="youtube video transcript content",
max_tools=5
)
for tool in content_tools:
print(f"🎥 {tool['name']}: {tool['description']}")
# Get YouTube transcript
transcript = execute_tool(
tool_name="youtube_get_transcript",
tool_input={"video_url": "https://youtube.com/watch?v=example"}
)
# Create Linear issue
issue = execute_tool(
tool_name="linear_create_issue",
tool_input={
"title": "Video Summary",
"description": transcript["result"]
}
)
Best Practices
- Use appropriate filtering: BM25 for keywords, embeddings for semantic search
- Limit tool count: Use
max_tools
to control performance
- Check tool availability: Not all tools may be available in your account
- Handle errors: Tools may fail due to authentication or API limits
Next Steps