Build a Pydantic AI agent that can search tweets, hand off IDs and cursors, post tweets, and run extraction jobs - connected to Xquik’s MCP server with 3 lines of config.Documentation Index
Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Python 3.10+
- Xquik API key (
xq_...) - An LLM API key (Anthropic, OpenAI, or any Pydantic AI-supported provider)
Install
Full Example
MCPServerStreamableHTTP as an agent toolsets entry. The MCP runtime returns normalized snake_case fields through xquik.request(), so keep prompts aligned with tweet_id, has_more, next_cursor, and returned job IDs.
Handoff Checklist
Tweet search rows
Store
tweet_id, text, author_username, created_at, has_more, next_cursor, and the original q.User profile rows
Store source
id as user_id, plus username, name, followers, verified, profile_picture, has_more, next_cursor, and the source lookup or search query.Trend rows
Store each trend
name, rank, query, and description. Keep response count, woeid, and the requested region with the run checkpoint.Monitor and webhook setup
Store the returned monitor
id as monitor_id, event_types, next_billing_at, the returned webhook id as webhook_id, url, and the one-time secret in a secret manager. On production deliveries, store delivery_id for receiver retry de-dupe and stream_event_id when one monitor event should process once across endpoint changes.Extraction jobs
Store
extraction_id, status, poll, and export_after_complete; poll before loading CSV, JSON, or XLSX rows.Writes
Store
tweet_id or write_action_id, reply_to_tweet_id, status, charged_credits, and poll; do not resend pending writes.Reusing Connections
Wrap multiple calls inasync with agent to keep the MCP connection open across requests:
Deferred Tool Loading
For large tool sets, useDeferredLoadingToolset to hide tools from the model until they’re discovered via tool search. This reduces prompt token usage:
Loading from JSON Config
If you manage MCP servers via a config file:mcp_config.json
Tool Prefixes
Avoid naming conflicts when connecting multiple MCP servers:Environment Variables
.env
Package Versions
| Package | Version |
|---|---|
pydantic-ai | 1.78.0+ |
mcp | 1.25.0+ |