Add direct Google Calendar/Gmail tools, remove workspace_mcp
This commit is contained in:
@@ -16,15 +16,13 @@ from tools import messaging
|
||||
from tools.scheduler import schedule_reminder, list_reminders, cancel_reminder
|
||||
import tools.scheduler as _scheduler_module
|
||||
from tools.home_assistant import home_assistant, set_ha_config
|
||||
from mcp.client.streamable_http import streamablehttp_client
|
||||
from strands.tools.mcp.mcp_client import MCPClient
|
||||
from tools.google_workspace import list_calendars, get_calendar_events, list_gmail_messages, get_gmail_message
|
||||
import httpx
|
||||
import botocore.auth
|
||||
import botocore.awsrequest
|
||||
import boto3
|
||||
from urllib.parse import urlparse as _urlparse
|
||||
|
||||
WORKSPACE_MCP_URL = 'https://sptejrymri.execute-api.us-east-1.amazonaws.com/workspace/mcp'
|
||||
OAUTH_START_URL = (
|
||||
os.environ.get('OAUTH_START_URL')
|
||||
or 'https://sptejrymri.execute-api.us-east-1.amazonaws.com/oauth/start'
|
||||
@@ -283,28 +281,14 @@ async def main(payload: dict, context):
|
||||
|
||||
base_tools = [web_search, web_fetch, read_workspace_file, write_workspace_file,
|
||||
_code_interpreter.code_interpreter, home_assistant, connect_google_account,
|
||||
manage_service, schedule_reminder, list_reminders, cancel_reminder]
|
||||
|
||||
workspace_mcp_client = MCPClient(
|
||||
lambda: streamablehttp_client(WORKSPACE_MCP_URL, timeout=20)
|
||||
)
|
||||
workspace_tools = []
|
||||
google_email = user_profile.get('google_email', '')
|
||||
print(f'[main] actor={actor_id} google_email={google_email!r} workspace_mcp_url={WORKSPACE_MCP_URL!r}')
|
||||
if google_email:
|
||||
try:
|
||||
with workspace_mcp_client:
|
||||
workspace_tools = workspace_mcp_client.list_tools_sync()
|
||||
except Exception as e:
|
||||
print(f'[main] workspace_mcp unavailable ({type(e).__name__}) — continuing without it')
|
||||
else:
|
||||
print(f'[main] actor={actor_id} has no google_email — skipping workspace_mcp')
|
||||
manage_service, schedule_reminder, list_reminders, cancel_reminder,
|
||||
list_calendars, get_calendar_events, list_gmail_messages, get_gmail_message]
|
||||
|
||||
agent = Agent(
|
||||
model=model,
|
||||
system_prompt=system_prompt,
|
||||
session_manager=session_manager,
|
||||
tools=base_tools + list(workspace_tools),
|
||||
tools=base_tools,
|
||||
)
|
||||
|
||||
final_message = None
|
||||
|
||||
Reference in New Issue
Block a user