mcpField
R
ragstack

ragstack

ローカル
github.com/HatmanStackメモリ・ナレッジ25今日更新

ragstack について

ragstack は AWS 上のサーバーレスなナレッジベースで、ドキュメント、画像、メディアを処理し、その内容に対する AI チャットを提供します。常時稼働のベクトルデータベースを使わずに、自前でデプロイする検索基盤を求めるチーム向けです。アップロードされた内容は OCR や文字起こしを経てインデックス化され、回答時に出典が示されます。

主な機能

  1. 01ゼロまでスケールダウンするサーバーレス構成
  2. 02スキャン文書や画像の OCR 処理
  3. 03音声・動画のタイムスタンプ付き文字起こし
  4. 04出典を示す AI チャット
  5. 05GraphQL API と MCP サーバーによるアクセス

活用シーン

  1. 01チームのドキュメントを対象とした検索可能な AI チャットの構築
  2. 02録音された音声や動画の特定箇所の検索
  3. 03Claude Desktop や Cursor からのアップロード済みコンテンツの照会

MCP 対応

ragstack-mcp は MCP サーバーであり、Claude Desktop、Cursor、VS Code などの MCP クライアントから RAGStack のナレッジベースを検索できます。GraphQL エンドポイントと API キーを設定して利用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"hatmanstack-ragstack": {
"command": "uvx",
"args": [
"ragstack-mcp"
],
"env": {
"RAGSTACK_GRAPHQL_ENDPOINT": "<RAGSTACK_GRAPHQL_ENDPOINT>",
"RAGSTACK_API_KEY": "<RAGSTACK_API_KEY>"
}
}
}
}
起動コマンドuvx ragstack-mcp
設定が必要な環境変数
RAGSTACK_GRAPHQL_ENDPOINTYour RAGStack GraphQL API URL (from Dashboard → Settings)
RAGSTACK_API_KEYシークレットYour RAGStack API key (from Dashboard → Settings)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiragstack-mcp0.1.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

RAGStack-Lambda-app アイコン

Apache 2.0 ライセンス Python 3.13 React 19

AWS Lambda AWS Bedrock AWS Transcribe AWS S3 AWS DynamoDB AWS Cognito

AI チャットを備えた、サーバーレスのドキュメント・メディア処理システムです。ゼロまでスケールするアーキテクチャにより、ベクトルデータベースの料金やアイドル時のコストは発生しません。ドキュメント、画像、動画、音声をアップロードし、OCR または文字起こしでテキストを抽出して、Amazon Bedrock または MCP 経由の AI アシスタントを使って検索できます。

ご質問はこちら Deep WIKI

特長

  • ☁️ 完全なサーバーレスアーキテクチャ(Lambda、Step Functions、S3、DynamoDB)
  • 🧠 新機能 テキストと画像のベクトル化に対応した Amazon Nova のマルチモーダル埋め込み
  • 📄 ドキュメントの処理とベクトル化(PDF、画像、Office ドキュメント、HTML、CSV、JSON、XML、EML、EPUB)→ 管理対象のナレッジベースに保存
  • 🎬 新機能 動画・音声処理 ― AWS Transcribe で音声を書き起こし、タイムスタンプで検索
  • 💬 検索拡張コンテキストと出典表示に対応した AI チャット
  • 📎 折りたたみ可能な出典引用(ドキュメントのダウンロードは任意)
  • ⏱️ 新機能 タイムスタンプへのリンク付きメディアソース ― クリックすると該当位置から再生
  • 🔍 メタデータフィルタリング ― ドキュメントのメタデータを自動検出し、検索結果を絞り込み
  • 🎯 フィルタリング結果の関連度を向上 ― メタデータフィルターに一致する結果を優先
  • 🔄 ナレッジベースの再インデックス ― 設定を更新して既存ドキュメントのメタデータを再生成
  • 🗑️ ドキュメント管理 ― ダッシュボードからドキュメントの再処理、再インデックス、削除が可能
  • 🌐 あらゆるフレームワークに対応する Web コンポーネント(React、Vue、Angular、Svelte)
  • 🚀 ワンクリックでデプロイ
  • 💰 月額 7~10 ドル(ドキュメント 1000 件、Textract + Haiku)

ライブデモ

環境URL認証情報
基本パイプラインdhrmkxyt1t9pb.cloudfront.net[email protected] / Guest@123
プロジェクトショーケースshowcase-htt.hatstack.funゲストとしてログイン

基本パイプライン:中核となるドキュメント処理ツールです。ドキュメントをアップロードし、OCR を実行して、内容を検索できます。

プロジェクトショーケース:実際のアプリケーションで RAGStack がどのように活用されているかをご覧ください。

クイックスタート

オプション 1:ワンクリックデプロイ(AWS Marketplace)

このリポジトリは現在開発中で、頻繁に変更されます

AWS コンソールから直接デプロイできます。ローカルでのセットアップは不要です。

  1. AWS Marketplace で RAGStack に登録します(無料、登録は任意です。登録すると、初回の呼び出し時に Lambda ロールが Bedrock のモデル使用許諾契約に自動的に同意します)
  2. ここをクリックしてデプロイします
  3. スタック名(小文字のみ。例:「my-docs」)と管理者のメールアドレスを入力します
  4. Create Stack をクリックします(デプロイには約 10 分かかります)

デプロイ後:

  • Cognito から届く一時パスワードをメールで確認します
  • CloudFormation → お使いのスタック → Outputs タブで、ダッシュボードの URL(UIUrl)を確認します
オプション 2:ソースからデプロイ

カスタマイズや開発を行う場合:

前提条件:

  • 管理者アクセス権のある AWS アカウント
  • Python 3.13 以降、Node.js 24 以降
  • uv(Python パッケージマネージャー)
  • AWS CLI、SAM CLI(設定済み)
  • Docker(Lambda レイヤーのビルド用)
git clone https://github.com/HatmanStack/RAGStack-Lambda.git
cd RAGStack-Lambda

# Install dependencies
uv sync

# Deploy (defaults to us-east-1 for Nova Multimodal Embeddings)
python publish.py \
  --stack-name my-docs \
  --admin-email [email protected]
オプション 3:ネストされたスタックとしてデプロイ

より大規模な CloudFormation スタックの一部として RAGStack をデプロイします。詳細はネストされたスタックのデプロイガイドを参照してください。

簡単な例:

Resources:
  RAGStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://ragstack-quicklaunch-public.s3.us-east-1.amazonaws.com/ragstack-template.yaml
      Parameters:
        StackPrefix: 'my-app-ragstack'  # Required: lowercase prefix
        AdminEmail: [email protected]

Web コンポーネントの統合

Web コンポーネントの統合ガイドは RAGSTACK_CHAT.md を参照してください。

API アクセス

サーバーサイド統合では、API キー認証を使用します。ダッシュボード → Settings からキーを取得してください。

curl -X POST 'YOUR_GRAPHQL_ENDPOINT' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"query": "query { searchKnowledgeBase(query: \"...\") { results { content } } }"}'

Web コンポーネントでは IAM 認証を使用します(API キーは不要です。自動的に処理されます)。

各 UI タブの折りたたみ可能なセクションに、サーバーサイド API の例が表示されます。

MCP サーバー(AI アシスタントとの統合)

ナレッジベースを Claude Desktop、Cursor、VS Code、Amazon Q CLI など、MCP 対応ツールから直接利用できます。

# Install (or use uvx for zero-install)
pip install ragstack-mcp

AI アシスタントの MCP 設定に追加します。

{
  "ragstack-kb": {
    "command": "uvx",
    "args": ["ragstack-mcp"],
    "env": {
      "RAGSTACK_GRAPHQL_ENDPOINT": "YOUR_ENDPOINT",
      "RAGSTACK_API_KEY": "YOUR_API_KEY"
    }
  }
}

その後、自然な言葉で質問できます。例:「ナレッジベースから認証に関するドキュメントを検索して」

セットアップ手順の詳細は、MCP サーバーのドキュメントを参照してください。

アーキテクチャ

Upload → OCR → Embeddings → Bedrock KB
                                ↓
 Web UI (Dashboard + Chat) ←→ GraphQL API
                                ↓
 Web Component ←→ AI Chat with Sources

使用方法

ドキュメント

さまざまな形式のドキュメントをアップロードできます。形式は自動検出され、最適なプロセッサーに振り分けられます。

種類形式処理
テキストHTML、TXT、CSV、JSON、XML、EML、EPUB、DOCX、XLSXスマート分析による直接抽出
OCRPDF、JPG、PNG、TIFF、GIF、BMP、WebP、AVIFTextract または Bedrock のビジョン OCR(WebP/AVIF には Bedrock が必要)
メディアMP4、WebM、MP3、WAV、M4A、OGG、FLACAWS Transcribe → 30 秒単位のセグメント → タイムスタンプ付きで検索可能
パススルーMarkdown(.md)直接コピー

処理の流れ:UPLOADED → PROCESSING → INDEXED(通常、テキストは 1~5 分、OCR は 2~15 分、メディアは 5~20 分)

画像

キャプションを添えて JPG、PNG、GIF、WebP をアップロードします。画像の内容とキャプションのテキストの両方を検索できます。

Web スクレイピング

Web サイトをスクレイピングしてナレッジベースに取り込みます。Web スクレイピングを参照してください。

動画と音声

MP4、WebM、MP3、WAV、M4A、OGG、FLAC ファイルをアップロードします。音声は AWS Transcribe で文字起こしされ、検索用に 30 秒単位のチャンクに分割されます。ソースにはタイムスタンプ(例:「1:30-2:00」)が含まれ、クリックすると該当する位置から再生できます。

機能:

  • 話者ダイアライゼーション(誰が何を話したかを識別)
  • 言語の設定(30 以上の言語に対応)
  • チャットの回答にタイムスタンプ付きソースを表示

言語と話者の設定については、設定を参照してください。

チャット

コンテンツについて質問できます。回答の出典が表示されます。

ドキュメント

開発

npm run check  # Lint + test all (backend + frontend)

デプロイオプション

直接デプロイ
# Full deployment (defaults to us-east-1)
python publish.py --stack-name myapp --admin-email [email protected]

# Skip dashboard build (still builds web component)
python publish.py --stack-name myapp --admin-email [email protected] --skip-ui

# Skip ALL UI builds (dashboard and web component)
python publish.py --stack-name myapp --admin-email [email protected] --skip-ui-all

# Enable demo mode (rate limits: 5 uploads/day, 30 chats/day; disables reindex/reprocess/delete)
python publish.py --stack-name myapp --admin-email [email protected] --demo-mode
AWS Marketplace への公開(メンテナー向け)

ワンクリックデプロイテンプレートを更新するには:

python publish.py --publish-marketplace

これにより、アプリケーションがパッケージ化され、ワンクリックデプロイ用に S3 にアップロードされます。

注: 現在は us-east-1(Nova Multimodal Embeddings)が必要です。他のリージョンでも利用可能になった場合は、--region <region> を使用してください。

謝辞

このプロジェクトは、以下から着想を得ています:

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。