xAI Agent Tools API for autonomous tool calling with X search, web search, and code execution. Use when building agents that need real-time data access and autonomous task execution.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add NeverSight/skills_feed --skill xai-agent-tools --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Xai Agent Tools?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/neversight-xai-agent-tools)More formats (shields.io, HTML) on the badges page.
---
name: xai-agent-tools
description: xAI Agent Tools API for autonomous tool calling with X search, web search, and code execution. Use when building agents that need real-time data access and autonomous task execution.
version: 1.0.0
---
# xAI Agent Tools API
Server-side agentic tool calling that enables Grok to autonomously search, analyze, and execute code.
## Overview
The Agent Tools API manages the entire reasoning and tool-execution loop on the server side, unlike traditional tool-calling where clients must handle each invocation.
**Available Tools:**
- `x_search` - Search Twitter/X posts
- `web_search` - Real-time web search
- `code_execution` - Python sandbox
- `document_search` - Search uploaded documents
## Quick Start
```python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1"
)
# Agent with automatic tool use
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{
"role": "user",
"content": "Search X for Tesla news, then search the web for Tesla stock price, and calculate the sentiment score"
}]
)
print(response.choices[0].message.content)
```
## Tool Configurations
### X Search Tool
```python
x_search_config = {
"type": "x_search",
"x_search": {
"enabled": True,
"allowed_x_handles": ["elonmusk", "Tesla"], # Max 10
"excluded_x_handles": [], # Cannot use with allowed
"date_range": {
"start": "2025-12-01", # ISO8601
"end": "2025-12-05"
},
"include_media": True # Analyze images/videos
}
}
```
### Web Search Tool
```python
web_search_config = {
"type": "web_search",
"web_search": {
"enabled": True,
"search_depth": "comprehensive", # or "quick"
"include_domains": ["reuters.com", "bloomberg.com"],
"exclude_domains": ["spam.com"]
}
}
```
### Code Execution Tool
```python
code_execution_config = {
"type": "code_execution",
"code_execution": {
"enabled": True,
"language": "python",
"timeout": 30 # seconds
}
}
```
## Agent Patterns
### Research Agent
```python
def research_agent(query: str) -> str:
"""Agent that searches both X and web for comprehensive research."""
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{
"role": "user",
"content": f"""You are a research agent. For the query: "{query}"
1. Search X for real-time social discussion
2. Search the web for news and analysis
3. Synthesize findings into a comprehensive report
Include:
- Key findings from X
- Key findings from web
- Sentiment analysis
- Recommendations"""
}]
)
return response.choices[0].message.content
```
### Analysis Agent
```python
def analysis_agent(data: str, analysis_type: str) -> str:
"""Agent that uses code execution for analysis."""
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{
"role": "user",
"content": f"""Analyze this data using Python:
Data: {data}
Analysis type: {analysis_type}
Use code execution to:
1. Parse the data
2. Perform statistical analysis
3. Generate insights
4. Create visualizations if helpful
Return the analysis results."""
}]
)
return response.choices[0].message.content
```
### Financial Agent
```python
def financial_agent(ticker: str) -> str:
"""Comprehensive financial analysis agent."""
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{
"role": "user",
"content": f"""You are a financial analyst agent. Analyze ${ticker}:
1. Search X for:
- Retail sentiment
- Influencer opinions
- Breaking news
2. Search web for:
- Recent news articles
- Analyst ratings
- Earnings reports
3. Use code execution to:
- Calculate sentiment score
- Analyze mention velocity
- Generate summary statistics
Return a comprehensive investment report with:
- Overall sentiment
- Key catalysts
- Risk factors
- Trading recommendation"""
}]
)
return response.choices[0].message.content
```
### Multi-Step Agent
```python
def multi_step_agent(objective: str) -> str:
"""Agent that breaks down and executes complex tasks."""
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{
"role": "user",
"content": f"""Objective: {objective}
You have access to:
- X search (real-time social data)
- Web search (news and information)
- Code execution (Python analysis)
Process:
1. Break down the objective into steps
2. Execute each step using appropriate tools
3. Synthesize results
4. Provide actionable insights
Think step by step and use tools as needed."""
}]
)
return response.choices[0].message.content
```
## Tool Cost Management
| Tool | Cost per 1,000 calls |
|------|---------------------|
| X Search | $5.00 |
| Web Search | $5.00 |
| Code Execution | $5.00 |
| Document Search | $2.50 |
### Cost-Optimized Agent
```python
def cost_optimized_agent(query: str, max_tool_calls: int = 3) -> str:
"""Agent with tool call limits for cost control."""
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{
"role": "user",
"content": f"""Query: {query}
IMPORTANT: Minimize tool usage. You have a budget of {max_tool_calls} tool calls.
- Only use tools when essential
- Combine related searches
- Prefer single comprehensive searches
Provide the best answer within this constraint."""
}]
)
return response.choices[0].message.content
```
## Error Handling
```python
def robust_agent(query: str) -> dict:
"""Agent with comprehensive error handling."""
try:
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{"role": "user", "content": query}],
timeout=60
)
return {
"success": True,
"result": response.choices[0].message.content,
"usage": {
"prompt_tokens": response.usage.prompt_tokens,
"completion_tokens": response.usage.completion_tokens
}
}
except Exception as e:
return {
"success": False,
"error": str(e),
"error_type": type(e).__name__
}
```
## Streaming Responses
```python
def streaming_agent(query: str):
"""Agent with streaming output."""
stream = client.chat.completions.create(
model="grok-4-1-fast",
messages=[{"role": "user", "content": query}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
```
## Conversation Context
```python
class ConversationalAgent:
"""Agent that maintains conversation history."""
def __init__(self):
self.messages = []
def add_system_prompt(self, prompt: str):
self.messages.append({"role": "system", "content": prompt})
def chat(self, user_message: str) -> str:
self.messages.append({"role": "user", "content": user_message})
response = client.chat.completions.create(
model="grok-4-1-fast",
messages=self.messages
)
assistant_message = response.choices[0].message.content
self.messages.append({"role": "assistant", "content": assistant_message})
return assistant_message
# Usage
agent = ConversationalAgent()
agent.add_system_prompt("You are a financial analyst with access to X and web search.")
print(agent.chat("What's the sentiment on AAPL?"))
print(agent.chat("Compare that to MSFT"))
```
## Best Practices
1. **Use grok-4-1-fast** - Optimized for tool calling
2. **Be specific** - Clear instructions reduce unnecessary tool calls
3. **Set limits** - Control costs with tool call budgets
4. **Handle errors** - Tools can fail, plan for it
5. **Stream for UX** - Use streaming for long responses
6. **Cache results** - Don't repeat identical searches
## Model Selection for Agents
| Model | Tool Calling | Speed | Cost |
|-------|--------------|-------|------|
| grok-4-1-fast | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| grok-4 | ⭐⭐ | ⭐ | ⭐ |
| grok-3-fast | ⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
## Related Skills
- `xai-x-search` - X search details
- `xai-sentiment` - Sentiment analysis
- `xai-stock-sentiment` - Stock analysis
## References
- [Agent Tools API](https://x.ai/news/grok-4-1-fast/)
- [Tools Overview](https://docs.x.ai/docs/guides/tools/overview)
- [Function Calling](https://docs.x.ai/docs/guides/function-calling)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!