Reference architecture for agentic AI chatbots with Strands Agents and Amazon Bedrock AgentCore
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport streamable-http · http counts 35 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
bulk_delete_emails
-
check_availability
-
create_event
-
delete_email
-
delete_event
-
draft_email
-
get_email_thread
-
get_event
-
github_create_branch
-
github_create_pull_request
-
github_get_file
-
github_get_issue
-
github_get_pull
-
github_get_repo
-
github_list_issues
-
github_list_pulls
-
github_push_files
-
github_search_code
-
github_search_repos
-
list_calendars
-
list_emails
-
list_events
-
list_labels
-
modify_email
-
notion_append_blocks
-
notion_create_page
-
notion_fetch
-
notion_search
-
notion_update_block
-
notion_update_page
-
quick_add_event
-
read_email
-
search_emails
-
send_email
-
update_event
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 83e6d7c · analyzer v33 · 3d ago
skills & prompt files 25
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/arxiv-search/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/browser-automation/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/code-agent/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/code-interpreter/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/delegate-work/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/doc-coauthoring/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/excalidraw/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/excel-spreadsheets/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/financial-news/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/github/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/gmail/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/google-calendar/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/google-maps/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/google-web-search/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/notion/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/powerpoint-presentations/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/research-agent/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/tavily-search/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/visual-design/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/visualization/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/weather/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/web-search/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/wikipedia-search/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/word-documents/SKILL.md
- skill aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/skills/workspace/SKILL.md
danger signals5
- dynamic code execution __import__() aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/six.py :87
__import__(name) - suspicious endpoint 169.254.169.254 (cloud metadata) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/utils.py :100
METADATA_BASE_URL = 'http://169.254.169.254/' - over-broad OAuth scope gmail.modify aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :50
"https://www.googleapis.com/auth/gmail.modify", # Read, send, delete, and modify emails - over-broad OAuth scope gmail.modify aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :40
"https://www.googleapis.com/auth/gmail.modify", # Read, send, delete, and modify emails - over-broad OAuth scope gmail.modify aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/tests/test_oauth_helper.py :92
scopes=["https://www.googleapis.com/auth/gmail.modify"],
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 782
filesystem 61
- fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/code-agent/src/main.py :20
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/code-agent/src/session_workspace.py :5
import shutil - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/code-agent/tests/test_session_workspace.py :2
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/src/main.py :19
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/src/report_manager.py :17
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/src/tools/markdown_writer.py :129
with open(file_path, 'r', encoding='utf-8') as f: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/tests/conftest.py :2
from pathlib import Path - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/tests/test_async_tasks.py :12
from pathlib import Path - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/tests/test_concurrent_research.py :19
from pathlib import Path - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/tests/test_model_factory.py :5
from pathlib import Path - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/tests/test_report_manager.py :175
with open(chart_path, "wb") as f: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/tests/conftest.py :7
from pathlib import Path - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/tests/conftest.py :2
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/config/model_catalog.py :9
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/delegation_jobs.py :23
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/factory/session_manager_factory.py :30
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/mailbox.py :19
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/processor/multimodal_builder.py :77
doc = pymupdf.open(stream=file_bytes, filetype="pdf") - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/research_jobs.py :20
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/code_interpreter_tool.py :513
" with open(_p, 'r', encoding='utf-8', errors='replace') as _f:\n" - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/excel_spreadsheet_tool.py :1147
with open(xlsx_path, 'wb') as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/lib/excel_recalc.py :13
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/lib/pptx_engine.py :21
import shutil - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/powerpoint_presentation_tool.py :1189
with open(pptx_path, "wb") as file_handle: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/word_document_tool.py :931
with z.open('word/comments.xml') as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/main.py :13
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/routers/tools.py :12
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/session_files/publisher.py :132
"with open(_path, 'rb') as _file:\n" - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/skill/skill_registry.py :186
with open(full_path, "r", encoding="utf-8") as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/streaming/agui_event_processor.py :1294
with open(file_path, "rb") as file: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/workspace/base_manager.py :250
with open('{ci_path}', 'wb') as f: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_ci_workspace_sync.py :64
"open('output.txt', 'w').write('ok')", - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_local_session_buffer.py :148
with open(message_file) as f: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_skill_catalog_exclude.py :4
import shutil - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_skill_registry_scripts.py :12
import shutil - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_skill_tools_scripts.py :11
import shutil - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_tools_router.py :130
@patch('pathlib.Path.exists') - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/bin/jp.py :30
with open(args.filename, 'r') as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/boto3/compat.py :40
os.remove(new_filename) - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/boto3/docs/__init__.py :50
with open(service_doc_path, 'wb') as f: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/boto3/docs/service.py :200
with open(examples_file) as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/boto3/s3/inject.py :633
with open('filename', 'rb') as data: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/credentials.py :2111
with open(auth_token_file_path) as token_file: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/docs/__init__.py :53
with open(service_file_path, 'wb') as f: - fs (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/docs/bcdoc/restdoc.py :284
with open(sub_resource_file_path, 'wb') as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/eventstream.py :565
with open('output', 'wb') as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/handlers.py :769
checksum = calculate_tree_hash(open('your_file.txt', 'rb')) - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/model.py :317
open('/path/to/service-description-model.json')) - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/signers.py :375
private_key = open('private_key.pem', 'r').read() - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/utils.py :31
from pathlib import Path - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/dateutil/tz/tz.py :464
fileobj = open(fileobj, 'rb') - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/dateutil/zoneinfo/__init__.py :33
with TarFile.open(fileobj=zonefile_stream) as tf: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/dateutil/zoneinfo/rebuild.py :4
import shutil - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/__init__.py :265
f = open(filename, 'rb') - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/compat.py :24
os.remove(new_filename) - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/processpool.py :991
with open(filename, 'rb+') as f: - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/utils.py :286
def open(self, filename, mode): - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/_request_methods.py :215
'realfile': ('barfile.txt', open('realfile').read()), - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/contrib/emscripten/fetch.py :522
js_xhr.open(request.method, request.url, False) - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/fields.py :216
'realfile': ('barfile.txt', open('realfile').read()), - fs aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssl_.py :452
with open(key_file) as f:
shell / exec 6
- shell aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/excel_spreadsheet_tool.py :1110
import subprocess - shell aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/lib/excel_recalc.py :11
import subprocess - shell aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/powerpoint_presentation_tool.py :15
import subprocess - shell aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/word_document_tool.py :1164
import subprocess - shell aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/credentials.py :20
import subprocess - shell aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/dateutil/zoneinfo/rebuild.py :6
from subprocess import check_call, check_output
network 53
- net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/src/tools/markdown_writer.py :143
from urllib.parse import urlparse - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/src/tools/web_search_tools.py :153
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/google-search/lambda_function.py :14
import requests # noqa: E402 - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/tavily/lambda_function.py :14
import requests # noqa: E402 - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/weather/lambda_function.py :8
from urllib.parse import urlencode - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/web-search/lambda_function.py :83
import urllib.request - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/tests/test_weather_lambda.py :14
from urllib.error import URLError - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/agentcore_oauth.py :267
performing the provider API call (raises httpx.HTTPStatusError - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :18
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :46
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :11
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :20
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :40
import httpx - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/tests/test_oauth_helper.py :125
from urllib.parse import urlparse - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/a2a_tools.py :18
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/mcp/client.py :8
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/agent/research_jobs.py :22
from urllib.parse import quote - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/builtin_tools/lib/pptx_engine.py :27
from urllib.parse import unquote, urlparse - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/integration/e2e/sse_client.py :20
import httpx - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/integration/e2e/test_l4_protocol_paths.py :17
import httpx - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/integration/test_mcp_gateway.py :424
import httpx - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/tests/unit/test_gateway_mcp_client.py :10
import httpx - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/lambda/session-mailbox-dispatcher/lambda_function.py :11
import urllib.parse - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/lambda/session-mailbox-dispatcher/test_lambda_function.py :383
monkeypatch.setattr(lambda_function.urllib.request, "urlopen", urlopen) - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/index.py :14
import urllib.request - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/boto3/compat.py :16
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/args.py :22
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/compat.py :40
from urllib.parse import ( - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/exceptions.py :15
from botocore.vendored import requests - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/httpsession.py :4
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/monitoring.py :552
:type socket: socket.socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/retryhandler.py :31
# to get more specific exceptions from requests we can update - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/session.py :23
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/utils.py :24
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/index.py :14
import urllib.request - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/compat.py :16
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/copies.py :15
from urllib.parse import parse_qsl - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/utils.py :18
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/six.py :408
MovedAttribute("urlopen", "urllib2", "urllib.request"), - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/_request_methods.py :5
from urllib.parse import urlencode - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/connection.py :8
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/connectionpool.py :10
from socket import timeout as SocketTimeout - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/contrib/pyopenssl.py :58
from socket import socket as socket_cls - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/contrib/socks.py :61
from socket import timeout as SocketTimeout - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/exceptions.py :3
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/poolmanager.py :8
from urllib.parse import urljoin - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/response.py :7
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/connection.py :3
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssl_.py :6
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssltransport.py :4
import socket - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/timeout.py :6
from socket import getdefaulttimeout - net aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/wait.py :4
import socket - net (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/scripts/model-smoke.py :10
import urllib.error
secrets 5
- secrets aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/google-maps/lambda_function.py :73
api_key = os.getenv("GOOGLE_MAPS_API_KEY") - secrets aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/google-search/lambda_function.py :64
api_key = os.getenv("GOOGLE_API_KEY") - secrets aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/gateway-tools/lambda-functions/tavily/lambda_function.py :65
api_key = os.getenv("TAVILY_API_KEY") - secrets aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/modules/registry/lambda/registry-manager.zip!/botocore/credentials.py :16
import getpass - secrets (weak) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/infra/scripts/model-smoke.py :15
ACCESS_TOKEN = os.environ["ACCESS_TOKEN"]
tool registrations 45
- list_calendars aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :196
- list_events aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :230
- get_event aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :287
- create_event aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :312
- update_event aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :378
- delete_event aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :458
- quick_add_event aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :491
- check_availability aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/calendar_tools.py :528
- github_search_repos aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :145
- github_get_repo aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :187
- github_list_issues aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :230
- github_get_issue aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :287
- github_list_pulls aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :331
- github_get_pull aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :383
- github_get_file aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :436
- github_search_code aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :502
- github_create_branch aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :544
- github_push_files aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :596
- github_create_pull_request aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/github_tools.py :683
- list_labels aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :236
- list_emails aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :274
- search_emails aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :333
- read_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :388
- send_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :428
- draft_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :487
- delete_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :549
- bulk_delete_emails aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :594
- modify_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :670
- get_email_thread aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :735
- list_labels aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :222
- list_emails aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :259
- search_emails aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :317
- read_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :371
- send_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :410
- draft_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :468
- delete_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :529
- bulk_delete_emails aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :573
- modify_email aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :636
- get_email_thread aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_tools.py :698
- notion_search aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :432
- notion_fetch aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :474
- notion_create_page aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :529
- notion_update_page aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :594
- notion_update_block aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :636
- notion_append_blocks aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/notion_tools.py :686
declared dependencies 5
- mcp@>=1.26.0,<2.0.0
- bedrock-agentcore@*
- httpx@>=0.25.0
- boto3@>=1.40.0
- uvicorn@*
transport_posture 6
- network-listening, binds all interfaces, no auth detected aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/code-agent/src/main.py :945
uvicorn.run(app, host="0.0.0.0", port=PORT) - network-listening, binds all interfaces, no auth detected aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/a2a-agents/research-agent/src/main.py :599
host="0.0.0.0", - binds all interfaces (0.0.0.0) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/gmail_mcp_server.py :40
mcp = FastMCP(host="0.0.0.0", port=8000, stateless_http=True) - binds all interfaces (0.0.0.0) aws-samples-sample-strands-agent-with-agentcore-83e6d7c/agentcore/mcp-runtime/src/mcp_server.py :39
mcp = FastMCP(host="0.0.0.0", port=8000, stateless_http=False) - network-listening, binds all interfaces, no auth detected aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/main.py :134
host="0.0.0.0", - network-listening, binds all interfaces, no auth detected aws-samples-sample-strands-agent-with-agentcore-83e6d7c/chatbot-app/agentcore/src/subagent_main.py :253
host="0.0.0.0",