twinlens について
twinlensは、所有者の資料に基づき引用付きで質問に答える公開AIページを作成するホストサービス向けの転送クライアントです。共有可能なプロフィール型ページの作成、知識の追加、取り込み状況の確認に使えます。
主な機能
- 01プロフィールからlensを作成
- 02テキストやURLの知識項目を追加
- 03取り込み状況と請求状態を確認
- 04匿名またはアカウントで作成
活用シーン
- 01共有可能なプロフィール型AIページの公開
- 02未請求のlensへの資料追加
- 03バックグラウンド取り込みの進捗確認
MCP 対応
ユーザーが確認したプロフィールからのlens作成、未請求lensへの知識追加、lensと取り込み状況の取得を行うMCPツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| bio | string | いいえ | ユーザー確認済みの情報に基づく短い略歴 |
| tone | enum | いいえ | レンズの文面のトーンwarm | neutral | professional | playful |
| facts | array | いいえ | レンズのナレッジベースの初期情報となる、ユーザー承認済みの個別の事実 |
| locale | string | いいえ | レンズの文面の BCP-47 言語タグ(例:en、nl) |
| context | string | いいえ | レンズの回答方法に関する追加の背景情報 |
| tagline | string | いいえ | レンズが誰を表すかを一文でまとめたもの |
| audience | string | いいえ | レンズが支援する対象 |
| expertise | array | いいえ | 確認済みの分野とスキル |
| topicName | string | いいえ | 初期登録された事実を保存する Mindola スペースの名前 |
| vibeWords | array | いいえ | プロフィールを表す短い形容詞 |
| boundaries | array | いいえ | レンズが主張したり話題にしたりすべきでないこと |
| accentColor | string | いいえ | #4f46e5 のような 16 進数の色コード |
| displayName | string | いいえ | レンズに表示される公開名 |
| sourceSummary | string | いいえ | プロフィールの作成にアシスタントが使用した情報の概要 |
| suggestedPrompts | array | いいえ | 訪問者に表示する最初の質問 |
詳細
twinlens
レンズとは、オーナー自身の資料をもとに引用付きで質問に答える、公開 AI ページです。twinlens は、ホスト型レンズサービスへの小さな転送クライアントです。プロフィールからレンズを作成し、未登録のレンズにナレッジを追加して、取り込み状況を報告します。
デフォルトでは匿名で作成され、アカウントもトークンも必要ありません。匿名で作成したレンズは共有 URL ですぐに公開され、後から請求 URL を通じて所有権を取得できます。所有権が取得されない場合は、30 日後に期限切れになります。アカウントをお持ちの場合は、MINDOLA_SESSION_TOKEN を設定すると Bearer トークンとして送信され、レンズはそのアカウントに直接作成されます。MINDOLA_MCP_URL を使ってエンドポイントを変更できます(デフォルトは https://app.mindola.ai/mcp/lens)。
作成時のエチケット(仕様の一部): 作成を呼び出す前に、提案するプロフィールを要約し、ユーザーから明示的な確認を得てください。また、ユーザーが提供または確認した情報のみを含めてください。推測でプロフィールを補完しないでください。
CLI
npx @reneturcios/twinlens create '{"displayName":"Ada Example","tone":"warm","facts":["Works on compilers"]}'
npx @reneturcios/twinlens add-knowledge '{"lens_token":"abc123","items":[{"type":"text","content":"A note","title":"Note"}]}'
npx @reneturcios/twinlens status abc123
npx @reneturcios/twinlens --version
create はプロフィールを 1 つの JSON オブジェクトとして受け取ります(すべてのフィールドは省略可能です)。add-knowledge は同様に {lens_token, items} を受け取ります。status は共有 URL の /me/ 以降の部分である共有トークンを直接受け取ります。
終了コード:成功時は 0、実行時エラー時(上流からの拒否、例:所有権取得済みのレンズへのナレッジ追加を含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
npx -y @reneturcios/twinlens mcp
MCP クライアントの設定:
{
"mcpServers": {
"twinlens": {
"command": "npx",
"args": ["-y", "@reneturcios/twinlens", "mcp"]
}
}
}
ツール
create_digital_twin_lens— ユーザーが確認したプロフィールからレンズを作成します。すべてのフィールドは省略可能です:displayName(80 文字以下)、tagline、bio、context、audience(500 文字以下)、sourceSummary、topicName(80 文字以下)、locale(BCP-47)、tone(warm|neutral|professional|playful)、accentColor、expertise(string[])、boundaries(string[])、facts(string[]、30 件以下)、suggestedPrompts(string[]、4 件以下)、vibeWords(string[]、4 件以下)。結果はstructuredContentから読み取ります:shareUrl、claimUrl、manageUrl、claimRequired、expiresAt、factCount。add_lens_knowledge— 未登録のレンズに最大 20 件の項目を追加します。lens_token(string、必須)、items(必須):各項目は{type: "text" | "url", content (≤20000 chars), title? (≤80 chars)}です。項目はバックグラウンドで取り込まれます。get_lens_status—lens_token(string、必須)。claimedとナレッジの合計(total、ready、pending、failed)を報告します。ナレッジを追加した後、pendingが 0 になるまでこのツールでポーリングしてください。
Docker
docker run -i ghcr.io/cloudcorprecords/twinlens
docker run --rm ghcr.io/cloudcorprecords/twinlens status abc123
開発
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch, no network)
npm run dev # run the CLI from source
ライセンス
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。