mcpField
S
Sifter - Turn a folder of documents into typed records you can query

Sifter - Turn a folder of documents into typed records you can query

ローカル
github.com/sifter-aiファイル・ストレージ546 週間前に更新

Sifter - Turn a folder of documents into typed records you can query について

Sifter は、自然言語のフィールド定義をもとに PDF、スキャン、契約書、請求書などから型付きレコードを抽出する、オープンソースのドキュメントインテリジェンスエンジンです。類似度検索に基づく RAG とは異なり、同種の文書群に対する正確な件数や集計を必要とするチーム向けです。

主な機能

  1. 01自然言語の説明から抽出スキーマを推論
  2. 02結果を型付きの構造化レコードとして保存
  3. 03フィルターや件数、合計による正確な照会
  4. 04stdio 経由で読み取りと書き込みツールを提供する MCP サーバー
  5. 05Python と TypeScript の SDK および CLI

活用シーン

  1. 01四半期分の請求書の未払い合計を算出する
  2. 0290 日以内に期限を迎える契約書を探す
  3. 03スキルと経験年数で候補者の履歴書を絞り込む

MCP 対応

本プロジェクトは MCP サーバーであり、stdio 経由の読み取り・書き込みツールを MCP クライアントに提供して、抽出済みのドキュメントレコードを照会できるようにします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sifter": {
"command": "uvx",
"args": [
"sifter-mcp"
],
"env": {
"SIFTER_API_KEY": "<SIFTER_API_KEY>"
}
}
}
}
起動コマンドuvx sifter-mcp
設定が必要な環境変数
SIFTER_API_KEYシークレット

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

パッケージ
pypisifter-mcp

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえ
offsetintegerいいえ

詳細

Sifter

CI codecov PyPI npm Python Node License: MIT

あなたのドキュメントは、暗黒のデータベースです。

オープンソースのドキュメントインテリジェンスエンジン — スキーマ駆動の抽出、自然言語クエリ、MCP サーバー、Python および TypeScript SDK を提供します。MIT ライセンスの下でセルフホスト可能です。

Sifter のデモ


なぜ RAG ではないのか?

RAG は検索のために作られています。つまり、「このクエリに似たチャンクを見つける」ためのものです。請求書、契約書、領収書のように、どのドキュメントも似ていて、質問が検索ではなく集計を求める均質なコレクションでは、うまく機能しません。

ドキュメントから構造化レコードへ

Sifter のアプローチでは、構造化フィールド(クライアント、日付、合計金額)を一度だけ抽出し、型付きレコードとして保存して、実際のフィルターや集計を使ってクエリします。類似検索ではなくデータベースクエリであるため、正確で再現可能な回答が得られます。


クイックスタート

git clone https://github.com/sifter-ai/sifter
cd sifter/code
cp server/.env.example server/.env.local    # set SIFTER_DEFAULT_API_KEY (required)
docker compose up -d

http://localhost:3000 を開き、sift を作成して、ドキュメントをアップロードし、結果をクエリします。


Python SDK

pip install sifter-ai
from sifter import Sifter

s = Sifter(api_key="sk-...")

sift = s.create_sift("Invoices", "client name, date, total amount")
sift.upload("./invoices/")
sift.wait()

for record in sift.records():
    print(record["extracted_data"])
# {"client": "Acme Corp", "date": "2024-01-15", "total_amount": 1500.0}

TypeScript SDK

npm install @sifter-ai/sdk
import { Sifter } from "@sifter-ai/sdk";

const client = new Sifter({ apiKey: "sk-..." });

const sift = await client.createSift("Invoices", "client, date, total amount");
await sift.upload("./invoices/");
await sift.wait();

const records = await sift.records();
console.log(records);

MCP サーバー(Claude Desktop / Cursor / AI エージェント)

{
  "mcpServers": {
    "sifter": {
      "command": "uvx",
      "args": ["sifter-mcp", "--base-url", "http://localhost:8000"],
      "env": { "SIFTER_API_KEY": "sk-dev" }
    }
  }
}

次のように質問できます。

「前四半期のすべての請求書の未払い合計はいくらですか?」 「今後90日以内に期限を迎える契約をすべて表示してください。」 「Python のスキルがあり、経験年数が5年を超える候補者は誰ですか?」

Sifter は、正確な件数や合計、フィルター済みの行など、構造化データで回答します。テキストの塊ではありません。

ローカルサーバーを実行せずにリモート MCP URL を使いたい場合 → Sifter Cloud


ダッシュボード

Sifter にはダッシュボードが組み込まれているため、Metabase、Grafana、SQL は不要です。

見たい内容を自然な言葉で説明します。

sift = client.sifts.get("invoices")
sift.create_dashboard("Show total invoiced and unpaid by vendor, monthly trend")

KPI タイル、内訳、時系列を生成し、抽出のたびに自動更新します。


含まれる機能

  • スキーマ駆動の抽出 — 抽出する内容を自然な言葉で説明すると、スキーマが自動的に推測され、Pydantic / TypeScript の型としてエクスポートされます
  • 自然言語クエリ — 自然な言葉で質問すると、Sifter が内容を確認できる MongoDB 集計パイプラインを生成します
  • MCP サーバー — stdio トランスポート、読み取り・書き込みツール、カスタム統合コード不要
  • REST API + SDK — 完全な OpenAPI 仕様、Python および TypeScript 向けの型付きクライアント
  • Webhook — 抽出イベントごとに HMAC 署名付き HTTP コールバックを送信します
  • 仕様駆動のダッシュボード — 短い自然言語の仕様から、KPI、内訳、テーブル、時系列を含むボードを自動生成します
  • CLI — ターミナルのワークフローや CI で使える sifter extract、sifter records、sifter sifts
  • セルフホスト可能 — Docker Compose に対応。MongoDB と LLM API キーはご自身で用意してください

インフラを実行したくない場合は?

Sifter Cloud はマネージド版です。MongoDB や運用作業は不要で、リモート MCP エンドポイント、Google Drive、メールからのデータ取り込みを利用できます。無料プランもあります。


ドキュメント

完全なドキュメントは docs.sifter.run にあります。クイックスタート、SDK リファレンス、MCP ガイド、クックブック、セルフホストの手順をご覧ください。


ライセンス

MIT — LICENSE をご覧ください。

Bruno Fortunato が作成しました。

コメント

MCP は初めてですか?

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

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