Everything runs in your AWS account with no vector database sitting idle between queries — the README puts the running cost at $7-10 a month for a thousand documents on Textract and Haiku. The consequence is that the deployment comes first: without a stack there is nothing for the MCP server to query. Timestamped media results are the part that is hard to get elsewhere — a transcript segment that links back to the second it was said.
The MCP front end for RAGStack-Lambda, a scale-to-zero document and media pipeline on AWS. Uploaded files are OCR'd or transcribed, embedded and stored in a Bedrock knowledge base; this server lets an assistant search that knowledge base directly.
- Search over everything the pipeline has indexed, from a conversation rather than the dashboard or a GraphQL call
- Documents in HTML, TXT, CSV, JSON, XML, EML, EPUB, DOCX and XLSX, extracted directly; PDF, JPG, PNG, TIFF, GIF, BMP, WebP and AVIF through OCR
- Video and audio in MP4, WebM, MP3, WAV, M4A, OGG and FLAC, transcribed by AWS Transcribe and cut into 30-second segments so results carry timestamps
- Answers come back with source attribution, and media sources carry the position to play from
- Metadata filtering narrows results, with a relevancy boost that prioritises matches from those filters
A deployed RAGStack stack in your own AWS account — one-click from CloudFormation, or `python publish.py` from source with Python 3.13 and Node.js 24. The MCP piece is the ragstack-mcp package, run with uvx, and needs two values from your deployment: RAGSTACK_GRAPHQL_ENDPOINT and RAGSTACK_API_KEY, the latter from Dashboard then Settings.
One command plus a key — pip install ragstack-mcp, then supply credentials
