AgentCore Deep Research is an open-source sample application that automates multi-source research on Amazon Bedrock AgentCore. Given a research question, an AI agent iteratively queries diverse data sources, cross-references findings, and generates a structured PDF report with citations and visualizations. The app includes a React frontend with real-time report streaming, over 10 configurable data connectors spanning enterprise data on AWS and external APIs, and a modular architecture built on the Fullstack Solution Template for AgentCore.
β¨ Key features:
- Multi-source analysis: Search across enterprise data, Internet, and specialized APIs (10+ built-in sources)
- Iterative workflow: AI agent scaffolds report, researches the data, and creates a detailed report
- Data visualization: Agent generates charts and diagrams to enrich reports with quantitative insights
- Real-time report display: Split-pane UI shows the report being built in real-time and allows follow-ups
- Fact-checking and citations: Every factual claim includes inline source citations with the references section
Prerequisites: Node.js 20+, AWS CLI, AWS CDK CLI, Python 3.10+, uv, and Docker. See the deployment guide for details.
Deploying AgentCore Deep Research stack requires a few commands:
cd infra-cdk
cp .config_example.yaml config.yaml # Create your config (edit as needed)
npm install
cdk bootstrap # Once per account/region
npm run deployAvailable deploy commands (run from infra-cdk/):
npm run deploy # Backend + frontend
npm run deploy:frontend # Frontend only
cdk deploy # Backend onlySee the deployment guide for detailed instructions.
- Open the application URL (from CDK outputs)
- Log in with Cognito credentials
- Toggle data sources (AlphaVantage, Tavily, Nova, ArXiv, etc.) as needed
- Enter a research question
- Watch as the agent:
- Scaffolds report structure with key themes
- Researches across enabled data sources
- Writes all sections with citations
- Verifies completeness and fills gaps
- Generates charts and diagrams when the report has quantitative data
- Ask follow-up questions and download the report (including any generated charts)
The architecture uses Amazon Cognito in four places:
- User-based login to the frontend web application on CloudFront
- Token-based authentication for the frontend to access AgentCore Runtime
- Token-based authentication for the agents in AgentCore Runtime to access AgentCore Gateway
- Token-based authentication when making API requests to API Gateway.
The application includes multiple Lambda-based tools behind AgentCore Gateway with OAuth authentication:
| Tool | Domain | Description | API Key Required |
|---|---|---|---|
| AlphaVantage Research | Finance | Commodity prices, US economic indicators, and market news with sentiment analysis | Yes |
| ArXiv Search | Science | Search academic papers on arXiv by topic, author, or keywords with category filtering | No |
| ClinicalTrials.gov Search | Life Science | Search clinical studies worldwide by condition, intervention, phase, and recruitment status | No |
| FRED Economic Search | Finance | Search 800,000+ economic time series from the Federal Reserve (GDP, CPI, unemployment, and more) | No |
| Knowledge Base Search | Generic | Query Amazon Bedrock Knowledge Bases (requires configuration) | No |
| Nova Web Grounding | Generic | AWS-powered web search via Amazon Nova with citations | No |
| OpenFDA Drug Search | Life Science | Search FDA drug label database for pharmaceutical information | No |
| PubMed Search | Life Science | Search peer-reviewed biomedical literature for abstracts, journal articles, and meta-analyses | No |
| S3 File Reader | Generic | Read text files and PDFs from S3 (PDFs auto-converted to markdown via pymupdf4llm) | No |
| SEC EDGAR Search | Finance | Search SEC company filings (10-K, 10-Q, 8-K) with optional full-text content retrieval | No |
| Tavily Web Search | Generic | Search the web for current information with relevance scoring and domain filtering | Yes |
The modular architecture makes it easy to integrate additional data sources for developers.
Note: Several tools connect to external (non-AWS) APIs: Tavily, ArXiv, OpenFDA, AlphaVantage, FRED, PubMed, SEC EDGAR, and ClinicalTrials.gov. Of these, Tavily and AlphaVantage require API keys obtained through external registration. All external APIs, whether free or paid, are subject to the terms and conditions of their respective providers. We are not responsible for the availability, accuracy, or usage policies of third-party APIs. Please review each provider's terms before use. See the deployment guide for stack setup instructions and which tools require API keys.
- Frontend: React with TypeScript, Vite, Tailwind CSS, and shadcn components
- Agent: Strands Agents SDK with BedrockModel
- Authentication: AWS Cognito User Pool with OAuth support
- Infrastructure: CDK deployment with Amplify Hosting for frontend and AgentCore backend
Local development requires a deployed stack because the agent depends on AWS services that cannot run locally:
- AgentCore Memory - stores conversation history
- AgentCore Gateway - provides tool access via MCP
- SSM Parameters - stores configuration (Gateway URL, client IDs)
- Secrets Manager - stores Gateway authentication credentials
You must first deploy the stack with npm run deploy (from infra-cdk/), then you can run the frontend and agent locally using Docker Compose while connecting to these deployed AWS resources:
# Set required environment variables (see below for how to find these)
export MEMORY_ID=your-memory-id
export STACK_NAME=your-stack-name
export AWS_DEFAULT_REGION=us-east-1
# Start the full stack locally
cd docker
docker compose up --buildFinding the environment variable values:
STACK_NAME: Use thestack_name_basevalue from yourinfra-cdk/config.yamlMEMORY_ID: Extract from theMemoryArnCloudFormation output (the ID is the last segment after/)aws cloudformation describe-stacks --stack-name <your-stack-name> \ --query 'Stacks[0].Outputs[?OutputKey==`MemoryArn`].OutputValue' --output text # Returns: arn:aws:bedrock-agentcore:region:account:memory/MEMORY_ID
AWS_DEFAULT_REGION: The region where you deployed the stack (e.g.,us-east-1)
See the local development guide for detailed setup instructions.
agentcore-deep-research/
βββ frontend/ # React frontend application
β βββ src/
β β βββ components/ # React components (shadcn/ui)
β β βββ hooks/ # Custom React hooks
β β βββ lib/ # Utility libraries
β β βββ services/ # API service layers
β β βββ types/ # TypeScript type definitions
β βββ public/ # Static assets and aws-exports.json
β βββ package.json
βββ infra-cdk/ # CDK infrastructure code
β βββ lib/ # CDK stack definitions
β βββ bin/ # CDK app entry point
β βββ lambdas/ # Lambda function code
β βββ .config_example.yaml # Example deployment configuration (copy to config.yaml)
β βββ config.yaml # Your deployment configuration (gitignored)
βββ patterns/ # Agent pattern implementations
β βββ strands-deep-research/ # Deep Research agent
β βββ deep_research_agent.py # Main agent with Gateway tools
β βββ report_upload_hook.py # S3 upload for real-time display
β βββ system_prompt.txt # 5-step research workflow
β βββ requirements.txt # Agent dependencies
β βββ Dockerfile # Container configuration
βββ tools/ # Agent tool implementations
β βββ code_interpreter/ # Code interpreter for chart generation
β βββ data_analysis/ # Data analysis advisor prompt
βββ gateway/ # Gateway utilities and tools
β βββ tools/ # Gateway tool implementations
βββ docker/ # Local development Docker setup
β βββ docker-compose.yml # Docker Compose for local stack
βββ scripts/ # Deployment and test scripts
β βββ deploy-frontend.py # Cross-platform frontend deployment
βββ docs/ # Documentation source files
βββ tests/ # Test suite
βββ README.md
Note: this asset represents a proof-of-value for the services included and is not intended as a production-ready solution. You must determine how the AWS Shared Responsibility applies to your specific use case and implement the needed controls to achieve your desired security outcomes. AWS offers a broad set of security tools and configurations to enable our customers.
Ultimately it is your responsibility as the developer to ensure all aspects of the application are secure. We provide security best practices in repository documentation and provide a secure baseline but Amazon holds no responsibility for the security of applications built from this tool.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
| Nikita Kozodoi | Aiham Taleb | Jack Butler | Elizaveta Zinovyeva |







