Practical overview
When it fits
Use it when you want a project starting point for deploying a document-querying RAG application on AWS and can configure its cloud resources and model integrations.
Who it is for
- Developers building document-question-answering applications on AWS.
- Teams seeking a Terraform-managed backend and a Streamlit interface for document uploads, queries and evaluation.
Documented uses
- Provision AWS infrastructure for a RAG application.
- Upload documents, process them into embeddings and query their contents.
- Add real-time web search to a query workflow through the included remote MCP server.
- Use a Streamlit frontend for login, uploads, querying and evaluation.
Requirements & limits
The repository is public and specifies an MIT license. Running the infrastructure can incur AWS charges; the README identifies RDS and NAT Gateway as potential costs when active.
- Deployment provisions AWS services, including Lambda, API Gateway, S3, RDS and Cognito.
- Gemini models handle embeddings and answer generation.
- The web-search MCP server must be reachable by AWS Lambda; the README describes exposing a locally run server through a tunnel.
- The repository describes GitHub Actions deployment and cleanup workflows and dev, staging and production environment configurations.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Configure and start the local web-search MCP server
Run the repository’s SerpAPI-backed MCP server locally and expose it for remote access during testing.
Before you start
- A clone of the repository, including its mcp_servers directory.
- A SerpAPI API key.
- Windows PowerShell for the documented Cloudflare Tunnel option, or Windows PowerShell/Git Bash for the Serveo option.
Steps
Create a
.envfile containingSERPAPI_API_KEY=your_serpai_api_key.Start the server with the command below.
python web_search_mcp_server.py --host localhost --port 8000Expose the local server using either the documented Cloudflare Tunnel commands or the Serveo SSH tunnel command.
Use the resulting public URL for external access to the MCP server in the RAG UI.
Expected outcome
The MCP server runs locally on port 8000 and can be reached through a public tunnel for testing.
Guide limitations
- AWS Lambda cannot access localhost, so remote access requires exposing the local server through a tunnel.
- The guide documents this for testing; it does not establish production deployment or security properties of the tunnel.
Set up the Streamlit UI locally after AWS resources are deployed
Install and configure the local Streamlit frontend to connect to the deployed RAG application.
Before you start
- A cloned repository with the
rag_uidirectory. - AWS resources deployed through the GitHub Actions pipeline.
- The API Gateway URL and Cognito client ID for the deployment.
- Python and the ability to install and run the documented
uvcommands.
Steps
From the cloned repository, navigate to
rag-app-on-aws/rag_ui.Install
uvif it is not already installed, create a virtual environment with the command below, and activate it using the documented platform-specific command.uv venvInstall the UI dependencies with the command below.
uv pip install -r requirements.txtCreate a
.envfile settingAPI_ENDPOINT,UPLOAD_ENDPOINT=/upload,QUERY_ENDPOINT=/query,AUTH_ENDPOINT=/auth,DEFAULT_USER_ID=test-user,COGNITO_CLIENT_ID, andENABLE_EVALUATION="true".After the GitHub Actions pipeline completes successfully, use the environment variables file provided by the pipeline as described in the UI setup instructions.
Expected outcome
The UI environment and configuration are prepared to interact locally with the deployed backend.
Guide limitations
- The documented setup depends on AWS resources having already been deployed; these steps do not deploy the backend or specify a command to launch the UI.
- The API URL and Cognito client ID must be supplied for the target deployment.
Compare options for Retrieval-augmented applications
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Rag App On Aws | Provision AWS infrastructure for a RAG application. | Cloud, Web | The repository is public and specifies an MIT license. Running the infrastructure can incur AWS charges; the README identifies RDS and NAT Gateway as potential costs when active. |
| Rag Powered AI Assistant Transforming Data Retrieval And Analysis Across The Web And Pdfs | Retrieve relevant passages from web and PDF content to answer a question. | Web | |
| LangChain in Supabase Edge Functions | Initialize and start a Supabase project locally. | Cloud, Server |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- genieincodebottle/rag-app-on-aws · Official homepage title · retained in its source language

