logr について
logr は、個人の経歴を構造化して公開・検索可能にするポートフォリオ兼 AI コンテキストサービスです。タイムライン、Markdown 形式の情報、記録に基づくチャットを備え、MCP 経由で公開プロフィールの照会や所有者の承認済み更新を行えます。
主な機能
- 01個人経歴のタイムライン
- 02Markdown の AI コンテキスト
- 03記録に基づくプロフィールチャット
- 04AI による経歴の取り込みと確認
- 05テーマとレイアウトのカスタマイズ
- 06メディア埋め込みとイベントの固定
活用シーン
- 01閲覧可能な個人プロフィールの公開
- 02AI エージェントへの個人情報の提供
- 03プロフィールに基づく訪問者の質問対応
- 04公開プロフィールの照会や承認済み更新
MCP 対応
Streamable HTTP の MCP サーバーを提供し、公開プロフィールの照会と OAuth で承認された所有者による書き込みに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://logr.it/mcpclaude mcp add --transport http it-logr https://logr.it/mcp{"mcpServers":{"it-logr":{"type":"http","url":"https://logr.it/mcp"}}}Cursor で開く{"servers":{"it-logr":{"type":"http","url":"https://logr.it/mcp"}}}VS Code で開く{"mcpServers":{"it-logr":{"type":"http","url":"https://logr.it/mcp"}}}{"mcpServers":{"it-logr":{"serverUrl":"https://logr.it/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | |
| query | string | はい | 名前、ハンドル、またはフリーテキストによる一致 |
詳細
logr
個人ポートフォリオ+AI コンテキストレイヤー。 ほとんどの人は LinkedIn を利用しています。しかし、自分のストーリーを構造化し、機械可読かつ検索可能な形で、あらゆる AI ツールと連携できるようにした人はいません。logr はそのギャップを埋めます。人が読んで美しく、AI が検索しやすいように構造化された、編集型のライフログです。
一度ストーリーを記録すれば、次の 3 つの形になります。
logr.it/youのタイムライン — 年ごとにグループ化され、ホバーすると展開。9 種類のパレット × 8 種類のレイアウトから選べます。- あらゆる AI エージェントが取り込める、機械可読なMarkdown コンテキスト — 真の優位性です。
- 訪問者が質問すると、ログに基づいてのみ回答するAI チャットウィジェット。
実装済みの機能と今後の予定については、ROADMAP.md をご覧ください。
機能
- マルチユーザー — Google でサインインし、
/welcomeでハンドルを取得して、ライブプレビュー付きの/dashboardで編集できます。 - AI インポート — ストーリーの貼り付け、履歴書(PDF/DOCX)のアップロード、URL の指定ができます。AI がタイムラインのイベントに構造化し、保存前に確認して確定できます。
- 根拠に基づくチャット — 訪問者向けチャットには、公開ルートと同じ完全な Markdown コンテキストがプロンプトとして渡され、OpenRouter 経由でストリーミングされます。レート制限も適用されます。事実のみを扱い、ログにない内容についてはその旨を伝えます。
- テーマ設定 — 9 種類のパレット(ダークテーマの
inkを含む)× 8 種類のレイアウト(timeline、journal、magazine、terminal、feed、card、centered、polaroid)。プロフィールごとに保存され、ライブプレビューもできます。 - ピン留めイベント — ダッシュボードのイベントタブ(ピンダイアログ)から最大 7 件のイベントをピン留めできます。ピン留めしたイベントは「最近のイベント」サイドレール(および OG 画像のサイドレール)に置き換わり、Markdown コンテキストでもマークされます。
- メディア — 画像アップロード(S3、または開発時はローカルファイルシステム)、動画・ツイートの埋め込み、プレビュー表示されるリンクカード、プロフィールごとの動的 OG 画像。
チャット、S3、Google 認証はそれぞれ環境変数で機能の有効・無効を切り替えられ、設定されていない場合も適切に動作します。
ルート
| ルート | 内容 |
|---|---|
/ | マーケティング用ランディングページ |
/[username] | 公開タイムライン(例:/koshik) |
/[username]/ask | 共有可能な、専用の根拠に基づくチャットページ |
/[username]/llms.txt | 主要な Markdown コンテキスト。プロフィールのサイズが大きすぎない場合は全内容を掲載 |
/[username]/llms-full.txt | 省略のない完全な Markdown コンテキスト |
/[username].md | 公開プロフィールに対応する、整形された Markdown |
/[username]/llm.txt | 旧バージョンとの互換性がある完全なコンテキスト URL |
/mcp | グローバル MCP サーバー(Streamable HTTP)— エージェントはあらゆる公開プロフィールを検索でき、所有者は OAuth 認可を通じて書き込み可能 |
/oauth/authorize | MCP 書き込みアクセス用 OAuth 2.1 同意画面(+ /api/oauth/token、/api/oauth/register、/.well-known/* のディスカバリー) |
/api/[username]/chat | ストリーミング対応の、根拠に基づくチャット API |
/dashboard | 所有者用エディター(認証必須)— プロフィール · イベント · 外観 · インポート |
/welcome | オンボーディング — ハンドルを取得してタイムラインを作成 |
/login | Google サインイン |
技術スタック
Next.js 16(App Router) · React 19 · TypeScript · Postgres(Supabase)+ Prisma 6 · Auth.js(NextAuth v5、Google OAuth) · OpenRouter 経由の Vercel AI SDK · AWS S3(開発時はローカルファイルシステム) · テーマトークンで制御する Tailwind v4 +スコープ付き CSS · Source Serif 4 + JetBrains Mono · Vercel。
ローカルでの実行
npm install
cp .env.example .env # fill in the values below
npx prisma migrate dev # applies migrations to your Postgres
npm run db:seed # loads a demo profile + ~18 events
npm run dev # http://localhost:3000
.env(詳細は .env.example を参照してください):
DATABASE_URL/DIRECT_URL— Supabase Postgres。実行時にはトランザクションプール接続(:6543、?pgbouncer=true)、prisma migrateにはセッション接続(:5432)を使用します。AUTH_SECRET+AUTH_GOOGLE_ID/AUTH_GOOGLE_SECRET—/dashboardとオンボーディング用の Google サインイン。OPENROUTER_API_KEY— 任意。訪問者向けチャットと AI インポートを有効にします(デフォルトモデルを変更するにはOPENROUTER_MODELを設定します)。ANTHROPIC_API_KEY— 任意。OpenRouter の代替として Anthropic API を直接呼び出します。両方が設定されている場合はこちらが優先されます(ANTHROPIC_MODEL。デフォルトはclaude-haiku-4-5)。AWS_*— 任意。S3 に画像を保存します(設定されていない場合は./public/uploadsにフォールバックします)。
プロジェクト構成
design/ # design handoff — visual source of truth (not shipped)
prisma/
schema.prisma # Profile, User/Account/Session, Event, Media, ChatMessage
seed.ts # demo profile + events
src/
auth.ts # NextAuth (Google + Prisma adapter)
app/
page.tsx # marketing landing
[username]/page.tsx # public timeline (SSR)
[username]/llms.txt/route.ts # primary machine-readable context
[username]/opengraph-image.tsx
dashboard/page.tsx # owner editor (auth-gated)
welcome/page.tsx # onboarding / handle claim
api/[username]/chat/route.ts# streaming grounded chat
api/upload/route.ts # image upload
components/
Portfolio.tsx, ChatWidget.tsx, ShareModal.tsx, ...
admin/ # dashboard: forms, theme editor, events, import dialogs
onboarding/, marketing/, ui/
lib/
actions.ts # all server actions
chat.ts, narrate.ts, import.ts, llmtxt.ts, profile.ts, theme.ts, storage.ts, ...
JSON 形式のフィールド(socials、theme、イベントのlink)は、スキーマの移植性を保つため、シリアライズされた文字列として保存されます。ユーザーが指定した URL への外部フェッチには、lib/import.ts の SSRF 対策済みクライアントを使用します。
ドメイン
製品のドメインは logr.it です。ポートフォリオは logr.it/<handle> にあります。エージェント向けの主なコンテキストは logr.it/<handle>/llms.txt にあり、完全な Markdown は logr.it/<handle>/llms-full.txt および logr.it/<handle>.md にあります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。