import os
from dotenv import load_dotenv
from upsonic import AutonomousAgent, Task
from upsonic.tools.mcp import MCPHandler
load_dotenv()
notion_handler = MCPHandler(
command="npx -y @notionhq/notion-mcp-server",
env={
"OPENAPI_MCP_HEADERS": os.getenv("OPENAPI_MCP_HEADERS")
},
timeout_seconds=60
)
agent = AutonomousAgent(
model="anthropic/claude-sonnet-4-6",
workspace="./exports",
tools=[notion_handler]
)
task = Task(
description="""
Search my Notion workspace for a database called "Project Tracker".
Query all entries and export the data.
1. Write a CSV file 'projects.csv' with columns:
project_name, status, owner, due_date, priority, completion_pct
2. Write a summary report 'project_summary.md' with:
- Total projects by status (table)
- Overdue projects (list with owner and days overdue)
- Completion distribution (how many at 0-25%, 25-50%, etc.)
- Top risks and recommendations
"""
)
agent.print_do(task)