Ownly について
Ownlyは、個人記録を自分で管理したい人向けのローカルファーストな所有物台帳・意思決定ツールです。YAML frontmatter付きMarkdownを保存形式とし、ローカルMCPサーバーから範囲を限定した読み取りと、プレビュー後の書き込みを提供します。
主な機能
- 01MarkdownとYAMLで記録を保存
- 02物品・定期費用・体験を記録
- 03決定的なデータ健全性チェック
- 04既定で読み取り専用のローカルMCPサーバー
- 05書き込みのプレビュー・バックアップ・確定
活用シーン
- 01物品の費用・使用状況・ライフサイクルの記録
- 02サブスクリプションと更新予定の確認
- 03物品の使用後や手放した後の振り返り
- 04エージェントとのセッションでローカル記録を読み、変更を確認
MCP 対応
ローカルMCPサーバーはSTDIO経由で互換クライアントにOwnlyデータの読み取りツールを提供し、既定では読み取り専用です。書き込みには起動時の明示的な許可と、個別のプレビューおよび確定操作が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @ownly-app/mcpOWNLY_DATA_DIRAbsolute path to a parent containing Ownly/ or directly to a custom Ownly data root containing Objects/.OWNLY_MCP_ALLOW_WRITESet to 1 to enable two-phase persistent write commits. Omit for read-only mode.OPENROUTESERVICE_API_KEYシークレットOpenRouteService API key used by local Planner travel-leg refresh and travel-time optimization for walking/driving/bicycling.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Ownly
持ち物を減らし、人生を楽しみ、より良い判断を。
ローカルファーストの持ち物記録と意思決定の台帳です。
Ownly は、所有しているもの、その費用、使い方、そこから学んだことを記録するのに役立ちます。個人データは Ownly data folder に、YAML フロントマター付きのプレーンな Markdown として保存されます。
Ownly がデータをホストすることはありません。ファイルの保存場所はご自身で選べます。
Ownly data folder は通常のローカルディレクトリにも、ご自身が管理するパーソナルクラウドプロバイダーと同期されたローカルフォルダー内にも置けます。Obsidian は Markdown の確認に便利ですが、ホスト型 Web アプリ、インストールした PWA、Agent CLI、ローカル MCP サーバーの利用に 必須ではありません。
Ownly を開く
| エントリーポイント | Obsidian が必要ですか? | ローカルプロセスが必要ですか? | 最適な用途 |
|---|---|---|---|
| GitHub Pages Web アプリ | いいえ | いいえ | 対応するデスクトップブラウザーですぐに使う |
| インストールした PWA | いいえ | いいえ | オフライン時もアプリシェルを起動できる、独立したアプリウィンドウ |
| Obsidian プラグイン | はい | いいえ | Vault とのネイティブな統合と Markdown の直接操作 |
| Agent CLI | いいえ | はい | 決定論的なスクリプト実行と、検証済みのローカル変更 |
| ローカル MCP | いいえ | はい | 対応エージェント向けの範囲を限定した読み取りと、明示的な許可に基づく、プレビュー後に確定するメンテナンス |
Web アプリと PWA は同じブラウザーランタイムです。インストールによって変わるのは起動方法であり、データモデルではありません。製品ホームページ自体は PWA の対象ではありません。
はじめての利用:データの保存場所を選ぶ
既存のフォルダーへのアクセス許可がない状態で Ownly を起動した場合は、保存場所を選んでから、新しいデータを作成するか、既存の Ownly data folder を開きます。
このデバイス上
通常のローカルファイルシステムのフォルダーを選びます。Ownly はそのフォルダーを直接読み書きします。Ownly の外部で同期を設定しない限り、同期されることはありません。
個人用クラウドフォルダー内
Dropbox、Google Drive、OneDrive、iCloud Drive、またはご自身が管理する別のプロバイダーとすでに同期されているローカルフォルダーを選びます。
Ownly は引き続き通常のローカルファイルを使用します。プロバイダーの API、OAuth、プロバイダーの認証情報、Ownly のクラウドミラー、個別のリモートファイルシステムは使用しません。同期は、各プロバイダー独自のプライバシーとセキュリティのポリシーに従って、プロバイダーが処理します。
プロバイダーがオンラインのみのプレースホルダーに対応している場合は、フォルダーをオフラインでも利用できるようにしてください。また、競合するコピーを減らすため、Ownly data folder ごとに使用する同期プロバイダーは 1 つにしてください。
新しいデータを作成する
Documents、Obsidian Vault のルート、ローカルの個人用クラウドフォルダー、またはすでに Ownly という名前が付いている空のフォルダーなど、親となる場所を選択します。
Ownly は次のものを初期化します。
Ownly/
Objects/
Accounts/
Snapshots/
Reviews/
Trips/
Trip Places/
Trip Visits/
Trip Legs/
Trip Expenses/
Logs/
Object Experiences/
Archive/
Objects/
Accounts/
Snapshots/
Reviews/
Object Logs/
選択したフォルダーの名前がすでに Ownly の場合、Ownly はそのフォルダーをそのまま使用し、Ownly/Ownly は作成しません。
既存データを開く
サポートされている任意のファイルシステム上の場所を選択します。
Objects/を含む、初期化済みの Ownly データルート。Ownlyという名前の空または初期化済みのフォルダー。- 子フォルダーに
Ownly/を含む Obsidian Vault。 - プラグインで設定された Ownly データフォルダーを使用する Obsidian Vault。
- ユーザー自身のプロバイダーによって同期されたローカルフォルダー内にある、上記のいずれか。
ブラウザーで明示的な読み取り/書き込み権限を求められます。個人用の Markdown ファイルが GitHub Pages にアップロードされたり、PWA のサービスワーカーキャッシュにコピーされたりすることはありません。選択したフォルダーがサードパーティのプロバイダーによって同期されている場合、そのプロバイダーは Ownly とは独立してファイルをアップロードし、同期することがあります。
ホスト型の Web/PWA ランタイムでは、プロダクトの利用状況を把握するために Google Analytics 4 の測定 ID G-KXXVS33FQ2 を使用します。また、NEXT_PUBLIC_CLOUDFLARE_WEB_ANALYTICS_TOKEN がビルド時に設定されている場合、集計トラフィックと Web Vitals の計測に Cloudflare Web Analytics を読み込むこともあります。Ownly のカスタム分析イベントに、Markdown の内容、ローカルのファイル名、フォームの値、オブジェクトの記録、レビュー、アカウントのスナップショット、選択したフォルダーのデータ、ローカルパス、推測されたプロバイダー名、MCP ツールの結果が含まれることはありません。Obsidian プラグイン、Agent CLI、MCP ランタイムはいずれの Web 分析プロバイダーも読み込みません。
推奨される保存場所
スタンドアロンでローカル使用する場合:
<My local folder>/
Ownly/
Objects/
Accounts/
Snapshots/
Reviews/
Trips/
Trip Places/
Trip Visits/
Trip Legs/
Trip Expenses/
Logs/
Archive/
Obsidian Vault 内:
<My Obsidian Vault>/
Ownly/
Objects/
Accounts/
Snapshots/
Reviews/
Trips/
Trip Places/
Trip Visits/
Trip Legs/
Trip Expenses/
Logs/
Archive/
個人用のクラウド同期ローカルフォルダー内:
<My Dropbox / Google Drive / OneDrive / iCloud Drive folder>/
Ownly/
Objects/
Accounts/
Snapshots/
Reviews/
Trips/
Trip Places/
Trip Visits/
Trip Legs/
Trip Expenses/
Logs/
Archive/
3 つのレイアウトはすべて同じ Ownly データモデルを使用します。個人用クラウドのオプションによって 2 つ目のストレージバックエンドが導入されることはありません。外部プロバイダーが通常のファイルシステムフォルダーを同期します。
プロダクトの原則
- ユーザーが管理するストレージ — Ownly は個人の台帳をホストしません。ファイルシステムフォルダーの保存場所は自分で選べます。
- デフォルトでローカル — クラウドアカウント、ホスト型データベース、プロバイダーの OAuth、必須の同期はありません。
- Markdown を標準形式として使用 — 記録は移植可能で、人間が読み取れる状態を保ちます。
- 意思決定を重視 — 観察、購入または見送り、使用、手放し、振り返りを行います。
- 復元可能な変更 — アーカイブと復元は完全削除とは別の操作です。
- 単一のデータモデル — Web、PWA、Obsidian、CLI、MCP は同じスキーマとディレクトリー構造で動作します。
- ファクトレディ — スクリプトや外部 AI エージェントが決定論的なデータコントラクトを利用できます。Ownly 自体は AI アシスタントではありません。
Ownly が記録するもの
| 記録 | 目的 |
|---|---|
| 実物アイテム | 購入、使用、コスト、状態、処分、譲渡、廃棄のライフサイクル |
| 定期費用 | サブスクリプションなどの継続的な支出、請求サイクル、ステータス、年換算コスト |
| 単発の体験 | 計画、予算、実際の費用、場所、完了状況、レビュー |
| スナップショット | 特定時点の純資産と口座残高に関するファクト |
| レビュー | 使用後、手放した後、月次、年次の構造化された振り返り |
| オブジェクト体験ログ | 使用状況、問題、メンテナンス、後悔、学び、比較、手放しに関する追記専用イベント |
ファクトレディな Agent CLI
Ownly は、スクリプトや外部エージェント向けに決定論的な JSON の読み取り/書き込みコマンドを提供します。モデル API、埋め込み、AI チャット、自動生成されるおすすめは含まれていません。
export OWNLY_VAULT=/path/to/location-containing-Ownly
# Recommended (wyqd remains for backward compatibility)
npm run --silent ownly -- object list --json
# Legacy alias
npm run --silent wyqd -- object list --json
npm run --silent wyqd -- object get --id <id> --json
npm run --silent wyqd -- object history --id <id> --json
npm run --silent wyqd -- object review-needed --json
npm run --silent wyqd -- recurring list --active --json
npm run --silent wyqd -- summary --json
以下を参照してください。
CLI のデータ保存先には、Obsidian Vault や Ownly データフォルダーを含むその他のファイルシステム上の場所を指定できます。ユーザーが管理する同期済みローカルフォルダーも指定可能です。
エージェント / MCP
Ownly は、ローカルの STDIO プロセスを起動できる Codex、Claude Code などの MCP クライアント向けに、ローカルファーストの MCP サーバーも提供しています。デフォルトでは読み取り専用です。永続的な変更には、明示的な起動許可に加え、個別のプレビュー呼び出しとコミット呼び出しが必要です。
MCP サーバーは、同じ検証済みの Ownly データモデルを利用するアダプターです。別のデータベース、ホストされたミラー、組み込みの AI アシスタントは作成しません。
MCP ツールで提供される機能は次のとおりです。
- データ概要と Doctor によるヘルスチェック;
- オブジェクト検索と、範囲を限定したオブジェクト情報;
- レビューと追記専用の経験ログを含む、オブジェクトの履歴;
- 有効な定期費用;
- 今後のサブスクリプション更新;
- 通貨を分けた、支払いアカウント別の定期費用;
- レビューが必要なレコードの確定的な抽出。
- Planner の旅行、訪問、予算見積もり、カレンダー表示に加え、2 段階のスケジュール編集とローカルの OpenRouteService による移動情報の更新・最適化。
- オプトインによる作成と更新、ライフサイクルの変更、追記専用ログ、レビュー、スナップショット、復旧可能なアーカイブ/復元;
- 有効期間の短い変更前/変更後のプレビュー、書き込み前のバックアップ、古いデータへの書き込み時の競合検出、冪等なコミット。
信頼できる唯一の情報源は、ユーザーが選択した Ownly データフォルダーです。MCP ツールが返す情報は、接続先の外部エージェントのコンテキストに取り込まれる可能性があるため、エージェントのセッション中に選択した情報がすべてデバイス上に留まるとは Ownly は保証しません。
npx -y @ownly-app/mcp --data-dir <vault-or-data-root> を使ってインストールしてください(ソースは packages/mcp にあります)。Codex と Claude Code のセットアップ、プライバシーの境界、プロンプトの例については、Ownly MCP ガイドをご覧ください。
現在のランタイム状況
| 領域 | 状況 |
|---|---|
| 製品ホームページ | インタラクティブなプレビューを組み込んだ、静的な日英両対応の製品説明 |
| ホスト型 Web アプリ | ユーザーが選択したファイルシステムにアクセスする、静的な GitHub Pages ランタイム |
| インストール済み PWA | アプリのルートのみを対象としたインストール画面、スタンドアロン起動、キャッシュされたアプリシェル |
| Obsidian プラグイン | 共通の Ownly データモデルを利用する、ネイティブの Vault インターフェース |
| エージェント CLI | 安定した、厳密に型付けされた、情報をすぐに利用できる JSON コントラクト |
| ローカル MCP | デフォルトでは読み取り専用。正規の Ownly エビデンスストアに対する、オプトイン式の 2 段階書き込み |
| データストレージ | ユーザーが管理するファイルシステムフォルダー内の、プレーンな Markdown + YAML フロントマター |
| 変更の安全性 | 検証、プレビュー/コミットの確認、アトミック書き込み、安全用バックアップ、監査ログ、競合検出、アーカイブ/復元、CI コントラクト |
現在の検証内容と既知のカバレッジ不足については、品質ベースラインに記載しています。
ブラウザーのサポート
フォルダーへの直接アクセスには File System Access API を使用します。
- 推奨:最新のデスクトップ版 Chrome または Microsoft Edge。
- サポート対象外のブラウザーでは製品ページと埋め込みプレビューを表示できますが、実際の Ownly データフォルダーには接続できません。
- モバイルでのフォルダー直接アクセスは、本番環境の対象ではありません。
- 再起動後や権限のリセット後に、ブラウザーの権限を再度許可する必要が生じることがあります。
- 個人用のクラウドフォルダーは、プロバイダーによって利用可能なローカルファイルシステムフォルダーとして公開されている必要があります。Ownly はリモートドライブ API による代替手段を提供しません。
プライバシーの境界、PWA の動作、デプロイの詳細については、Web ランタイムをご覧ください。
Obsidian プラグイン
Obsidian コミュニティプラグインからインストールしてください。
Web/PWA ユーザーにとって、このプラグインは任意です。実際の Vault または Obsidian ランタイムを指す場合にのみ Obsidian Vault という用語を使用してください。ランタイムを問わずストレージを指す用語は Ownly データフォルダー です。
データの健全性
Ownly には、次のような問題を検出する確定的な Doctor チェックが含まれています。
- ID の重複;
- サポート対象外のスキーマバージョン;
- 無効な費用または日付;
- オブジェクト/レビューの参照先の欠落;
- 古いスナップショット;
- データディレクトリの欠落。
これらのチェックは Ownly の情報とファイルシステムへのアクセス可否を対象とします。Doctor はクラウドプロバイダーのアカウントを調査せず、AI も使用しません。
ドキュメント
- ユーザーガイド
- プランナーガイド
- キャプチャ同期境界
- Web ランタイム
- 用語契約
- 製品ガバナンス
- 品質ベースライン
- エージェント CLI 契約
- エージェント CLI ガイド
- エージェント / MCP ガイド
- データモデル
- トラブルシューティング
- リリースチェックリスト
開発
npm ci
npm run validate
npm run test
npm run test:e2e:data
npm run test:mcp
npm run wyqd -- --vault <path> object list --json
MCP パッケージの検証は、MCP 固有の変更に対してのみ追加で実行されます。
npm install --prefix packages/mcp --ignore-scripts --no-audit --no-fund
npm run build --prefix packages/mcp
node packages/mcp/dist/index.js --help
(cd packages/mcp && npm pack --dry-run)
ライセンス
MIT。LICENSEを参照してください。Ownly は個人の台帳データをホストしません。ユーザーが選択したファイルシステム同期プロバイダーや外部 MCP クライアントは、それぞれ独自のプライバシーおよびセキュリティポリシーに基づいてデータを処理する場合があります。ホスト型 Web/PWA では、限定的な製品利用状況イベントに GA4 を、集計トラフィックと Web Vitals に Cloudflare Web Analytics を使用する場合があります。Obsidian プラグイン、CLI、MCP ランタイムはいずれの分析プロバイダーも読み込みません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。