A comprehensive platform for building, testing, and deploying AI agents with support for multiple LLM providers (AWS Bedrock, Ollama), deployment tiers (AgentCore, Fargate), and MCP (Model Context Protocol) integration.
https://ai-forge.mikepfunk.com
Three Chat System:
- β Chat UI Panel - Agent building with interleaved reasoning
- β Agent Builder Input - Automated processing with Claude Haiku 4.5
- β Test Chat - Testing built agents with conversation manager
MCP Servers (11+ configured):
- β bedrock-agentcore-mcp-server - Windows uv tool setup for AgentCore integration
- β document-fetcher-mcp-server - Document retrieval and processing
- β aws-diagram-mcp-server - Infrastructure diagram generation
- β Plus 8+ others - Configured in mcpConfig.ts
Rate-Limited External APIs:
- β Tavily Web Search - 1000 requests/month for web search
- β Mem0 Memory - 1000 requests/month for memory operations
- β AgentOps Tracing - 1000 requests/month for agent observability
Model Registry (49 models):
- β AWS Bedrock - Claude, Titan, and other foundation models
- β Ollama - Local model execution (llama, mistral, etc.)
Tool Registry (50+ Strands tools):
- β Pre-configured tools - From toolRegistry.ts with auto-discovery
DNS & Hosting:
- β Cloudflare DNS (NOT Route53) - manages all domain resolution
- β
Cloudflare Pages - frontend hosting at
ai-forge.mikepfunk.com - β
Custom API Domain -
api.mikepfunk.compoints to Convex (via Cloudflare DNS)
Memory Architecture:
- β STM (Short-Term): Convex tables (<8KB) for real-time access
- β LTM (Long-Term): S3 storage (>8KB) for persistence
- β DynamoDB: Memory indexing for fast lookups and semantic search
Authentication:
- β Web Identity Federation: STS AssumeRoleWithWebIdentity
- β NO static AWS keys: All credentials are temporary via STS
- β Cognito + OAuth: GitHub, Google integration
Testing vs Deployment Separation:
- β agentcoreSetup.ts - Testing via MCP server
- β agentcoreDeployment.ts - Deployment to AgentCore sandbox
- β awsDeployment.ts - User AWS Fargate deployment
Backend:
- β Convex Serverless: Primary database and real-time backend
- β Built-in Indexes: Convex table indexes (NOT external database)
- β 14+ Tables: users, agents, deployments, agentMemories, etc.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend - Cloudflare Pages (ai-forge.mikepfunk.com) β
β Cloudflare CDN + DNS + DDoS + SSL β
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Chat Panel β β Agent Builderβ β Test Chat β β
β β - Interleavedβ β - Walkthroughβ β - Agent β β
β β Reasoning β β - Automated β β Testing β β
β β β β (Haiku 4.5)β β - Conv Mgr β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β
β ββββββββββββββββ ββββββββββββββββ β
β β Monitoring β β Auditing β β
β β - CloudWatch β β - Audit Logs β β
β β - X-Ray β β - Events β β
β ββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Authentication (Web Identity Federation) β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AWS Cognito User Pool β β
β β - GitHub OAuth β JWT ID Token β β
β β - Google OAuth β JWT ID Token β β
β β - STS AssumeRoleWithWebIdentity β Temp AWS Credentials β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend - Convex Serverless (resolute-kudu-325.convex) β
β Custom API Domain: api.mikepfunk.com β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Core Services β β
β β - Real-time API (WebSocket subscriptions) β β
β β - Convex Functions (TypeScript-safe APIs) β β
β β - HTTP Routes (OAuth callbacks, MCP endpoints) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Database (14+ Tables) β β
β β - users, agents, deployments β β
β β - agentMemories (STM/LTM hybrid) β β
β β - conversations, testExecutions β β
β β - mcpServers, diagrams β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Memory Architecture β β
β β - STM: Convex storage (<8KB) β Real-time access β β
β β - LTM: S3 storage (>8KB) β Cost-effective β β
β β - DynamoDB: Memory indexing β Fast lookups β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Agent Management β β
β β - Agent Builder (Code Generation) β β
β β - Validator (Schema & Syntax) β β
β β - Deployment Router (Tier Selection) β β
β β - Model Registry (49 models: Bedrock + Ollama) β β
β β - Tool Registry (50+ Strands tools) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β MCP & Strands Integration β β
β β - MCP Servers (11+ configured) β β
β β β’ bedrock-agentcore-mcp-server (Windows uv) β β
β β β’ document-fetcher-mcp-server β β
β β β’ aws-diagram-mcp-server β β
β β β’ Plus 8+ others β β
β β - Strands Tools SDK (50+ tools) β β
β β - Agent as MCP Tool β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Rate-Limited External APIs β β
β β - Tavily Web Search (1000 req/month) β β
β β - Mem0 Memory (1000 req/month) β β
β β - AgentOps Tracing (1000 req/month) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AWS Backend & AI Services (us-east-1) β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Storage Layer β β
β β - S3: LTM (>8KB), Artifacts, Deployment Packages β β
β β - DynamoDB: Memory indexing & semantic search β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AI Services β β
β β - Bedrock AgentCore (Tier 1 runtime) β β
β β - Bedrock Models (Claude, etc.) β β
β β - Strands Agents SDK β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Tier 2 - User AWS Account (ECS Fargate) β β
β β - VPC with public/private subnets β β
β β - Application Load Balancer β β
β β - ECS Fargate Cluster β β
β β - ECR Container Registry β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Monitoring & Observability β β
β β - CloudWatch Logs (Fargate, AgentCore, Convex) β β
β β - CloudWatch Metrics & Dashboards β β
β β - AWS X-Ray (Distributed tracing) β β
β β - OpenTelemetry (OTEL instrumentation) β β
β β - Audit Logs (User actions, deployments) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Frontend:
- Hosting: Cloudflare Pages (
ai-forge.mikepfunk.com) - CDN: Global edge network with HTTP/2, Brotli compression
- DNS: Cloudflare DNS (NOT Route53)
- Security: DDoS protection, automatic SSL/TLS certificates
- Tech: React 19, Vite, TypeScript, TailwindCSS
Backend:
- Platform: Convex serverless (
{{convex-cloud-url}}.convex.cloud) - API Domain: Custom domain
api.mikepfunk.com(via Cloudflare DNS) - Database: Convex with 14+ tables and built-in indexes
- Real-time: WebSocket subscriptions for live updates
Authentication:
- Primary: AWS Cognito User Pool (
us-east-1_{{hash}}) - OAuth Providers: GitHub, Google
- Federation: STS AssumeRoleWithWebIdentity for temporary AWS credentials
- NO static AWS access keys - all credentials are temporary
Memory Architecture:
- STM (Short-Term Memory): Convex storage for recent data (<8KB)
- LTM (Long-Term Memory): S3 storage for persistent data (>8KB)
- Indexing: DynamoDB for fast memory lookups and semantic search
- Hybrid Strategy: Automatic routing based on data size
AI & Agents:
- Bedrock AgentCore: Tier 1 freemium runtime (platform-managed)
- Bedrock Models: Claude, Titan, and other foundation models
- Strands Agents: SDK for agent creation and tool integration
- MCP Integration: 11+ MCP servers for extended capabilities
AWS Services:
- S3: Long-term memory, deployment packages, artifacts
- DynamoDB: Memory indexing, semantic search
- ECS Fargate: Tier 2 containerized agent execution
- ECR: Container registry for agent images
- CloudWatch: Logs and metrics for all services
- X-Ray: Distributed tracing and performance insights
- Cognito: User authentication and OAuth
- STS: Temporary credential generation
Observability:
- OpenTelemetry (OTEL): Instrumentation for traces, metrics, and logs
- AWS X-Ray: Distributed tracing across AWS services
- CloudWatch: Centralized logging and metrics
- Integration: OTEL exports traces to X-Ray for end-to-end visibility
DNS & Domains:
- Provider: Cloudflare DNS (NOT AWS Route53)
- Frontend:
ai-forge.mikepfunk.comβ Cloudflare Pages - API:
api.mikepfunk.comβ Convex backend - All DNS managed through Cloudflare
- Model Selection: Choose from 49 AI models across AWS Bedrock and Ollama
- Tool Selection: Browse 50+ pre-configured Strands tools
- Custom System Prompts: Define agent behavior and context
- Code Generation: One-click generation of complete agent packages
- @agent Decorator: Preprocessing and postprocessing hooks
- @tool Decorator: Create custom tools with automatic MCP integration
- OAuth 2.0: GitHub, Google, AWS Cognito
- Password Authentication: Email/password sign-up
- Anonymous Access: Guest mode for quick testing
- Custom Profile Handlers: Extended user data (GitHub username, Google locale)
- Testing: Via bedrock-agentcore-mcp-server (agentcoreSetup.ts)
- Deployment: AWS Bedrock AgentCore sandbox (agentcoreDeployment.ts)
- Bedrock models only
- Limited test executions (10/month for freemium)
- No AWS account required
- Cost-effective for experimentation
- Platform-managed runtime
- Deployment: User's AWS account via cross-account IAM role (awsDeployment.ts)
- Full Docker container support
- Ollama + Bedrock models
- Unlimited executions
- Cross-account IAM role setup with External ID
- VPC, ECS Fargate, ECR infrastructure
- Multi-user support
- AWS SSO + Organizations
- Advanced monitoring
- Custom integrations
- SLA guarantees
- MCP Server Management: Configure and manage 11+ MCP servers
- bedrock-agentcore-mcp-server: Windows uv tool setup for AgentCore testing
- document-fetcher-mcp-server: Document retrieval and processing
- aws-diagram-mcp-server: Infrastructure diagram generation
- Tool Discovery: Automatic tool detection from MCP servers
- Agent as Tool: Expose agents as MCP tools for agent-to-agent communication
- Tavily Web Search: 1000 requests/month for comprehensive web search
- Mem0 Memory: 1000 requests/month for advanced memory operations
- AgentOps Tracing: 1000 requests/month for agent observability and debugging
- Chat UI Panel: Agent building process with interleaved reasoning
- Agent Builder Input: Automated agent processing with Claude Haiku 4.5
- Test Chat: Testing built agents with conversation manager
- Dynamic Tool Creation: Agents can create tools they need
- @tool Decorator: Automatic tool registration
- Tool Persistence: Save and reuse generated tools
agent_builder_application/
βββ src/ # Frontend (React + Vite)
β βββ components/ # UI components
β βββ App.tsx # Main application
β βββ SignInForm.tsx # Authentication UI
β βββ main.tsx # Entry point
β
βββ convex/ # Backend (Convex)
β βββ auth.ts # Authentication configuration
β βββ auth.config.ts # OAuth provider config
β βββ schema.ts # Database schema
β βββ agents.ts # Agent CRUD operations
β βββ codeGenerator.ts # Agent code generation
β βββ modelRegistry.ts # 49 AI models catalog
β βββ toolRegistry.ts # 50+ tools catalog
β βββ mcpConfig.ts # MCP server management
β βββ mcpClient.ts # MCP tool invocation
β βββ awsDiagramGenerator.ts # Architecture diagrams
β βββ agentcoreDeployment.ts # Tier 1 deployment
β βββ deploymentRouter.ts # Tier routing logic
β βββ awsCrossAccount.ts # Cross-account IAM
β βββ testExecution.ts # Agent testing
β βββ queueProcessor.ts # Test queue management
β βββ integration.test.ts # Integration tests
β
βββ cloudformation/ # AWS CloudFormation templates
β βββ user-cross-account-role.yaml # User IAM role
β βββ user-onboarding-template.yaml # User setup
β
βββ requirements.txt # Python dependencies (for agents)
βββ package.json # Node.js dependencies
βββ vite.config.ts # Vite configuration
βββ README.md # This file
- Node.js 18+ and npm
- Convex account (free tier available)
- AWS account (for Tier 2 deployments)
- OAuth provider credentials (GitHub, Google, or Cognito)
- Clone the repository
git clone <repository-url>
cd agent_builder_application- Install dependencies
npm install- Set up Convex
npx convex dev- Configure environment variables
Create .env.local:
# Convex Configuration
VITE_CONVEX_URL=https://{{convex-cloud-url}}.convex.cloud
CONVEX_SITE_URL=https://{{convex-site-url}}.convex.site
# OAuth - GitHub
AUTH_GITHUB_ID=your_github_client_id
AUTH_GITHUB_SECRET=your_github_client_secret
# OAuth - Google
AUTH_GOOGLE_ID=your_google_client_id
AUTH_GOOGLE_SECRET=your_google_client_secret
# OAuth - Cognito (optional)
COGNITO_ISSUER_URL=your_cognito_issuer_url
COGNITO_CLIENT_ID=your_cognito_client_id
COGNITO_CLIENT_SECRET=your_cognito_client_secret- Start development server
npm run devVisit http://localhost:5173 to see the application.
npm test- OAuth authentication flows (GitHub, Google, Cognito)
- Agent creation and code generation
- MCP server integration
- AWS diagram generation
- AgentCore deployment
- Cross-account IAM role validation
-
Connect to Cloudflare Pages
- Link your GitHub repository
- Set build command:
npm run build - Set output directory:
dist
-
Configure environment variables
VITE_CONVEX_URL=https://{{convex-cloud-url}}.convex.cloud -
Deploy
- Push to main branch
- Cloudflare automatically builds and deploys
- Deploy to production
npx convex deploy --prod- Set production environment variables
npx convex env set AUTH_GITHUB_ID "your_value"
npx convex env set AUTH_GITHUB_SECRET "your_value"
npx convex env set AUTH_GOOGLE_ID "your_value"
npx convex env set AUTH_GOOGLE_SECRET "your_value"Configure these callback URLs in your OAuth providers:
GitHub: https://{{convex-site-url}}.convex.site/api/auth/callback/github Google: https://{{convex-site-url}}.convex.site/api/auth/callback/google Cognito: https://{{convex-site-url}}.convex.site/api/auth/callback/cognito
- OAuth 2.0 with PKCE (Proof Key for Code Exchange)
- Cross-account IAM roles with External ID
- No hardcoded credentials in code
- Environment variables for all secrets
- Session-based authentication
- Rate limiting per tier
- OpenTelemetry (OTEL): Auto-instrumentation for all agent code
- Trace context propagation
- Custom spans for agent operations
- Export to AWS X-Ray and CloudWatch
- AWS X-Ray: End-to-end request tracing
- Service maps showing dependencies
- Latency analysis per operation
- Error and fault detection
- Convex Logs:
npx convex logsfor backend function execution - CloudWatch Logs: Centralized logs for AWS services
- Fargate container logs
- AgentCore runtime logs
- Lambda function logs
- Structured Logging: JSON format with trace IDs for correlation
- CloudWatch Metrics: System and custom metrics
- CloudWatch Dashboards: Real-time monitoring
- Error Tracking:
errorLogstable in Convex - Audit Trail:
auditLogstable for compliance
Agent Code (Python)
β (OpenTelemetry SDK)
OTEL Traces + Metrics
β (OTLP Exporter)
AWS X-Ray β Service Map
β
CloudWatch Logs + Metrics
β
Monitoring Panel (Frontend)
This is a private project. For questions or issues, contact the development team.
Proprietary - All rights reserved
- Production: https://ai-forge.mikepfunk.com
- Strands-Agents: https://strandsagents.com/latest/
- Convex Docs: https://docs.convex.dev
- Convex Auth: https://auth.convex.dev
- Bedrock Agent-Core: https://docs.aws.amazon.com/bedrock-agentcore/
- This project uses Convex for backend and database
- Frontend is deployed on Cloudflare Pages
- Agent deployments use AWS (AgentCore or Fargate)
- MCP integration enables agent-to-agent communication
- Meta-tooling allows agents to create their own tools