from upsonic import Agent, Task
from upsonic.tools.mcp import MCPHandler
from mcp.client.stdio import StdioServerParameters
# Create MCP handler with server parameters
mcp_handler = MCPHandler(
server_params=StdioServerParameters(
command="uvx",
args=["mcp-server-sqlite", "--db-path", "/tmp/db.db"],
env=None
),
timeout_seconds=60
)
# Create agent
agent = Agent(
name="MCPHandler Params Agent",
role="Database operations specialist using MCPHandler with server params",
goal="Demonstrate MCPHandler with StdioServerParameters",
tool_call_limit=10
)
# Create task
task = Task(
description="""
Create an 'orders' table with columns:
- id (integer primary key)
- customer_id (integer)
- product_name (text)
- quantity (integer)
- total_price (real)
- order_date (text)
Insert 3 sample orders with different products and quantities.
Then query and show all orders sorted by total_price descending.
""",
tools=[mcp_handler]
)
# Execute
result = agent.do(task)
print(result)