mcpField
L
logr

logr

リモート
github.com/koshikraj生産性16 日前に更新
リポジトリ

logr について

logr は、個人の経歴を構造化して公開・検索可能にするポートフォリオ兼 AI コンテキストサービスです。タイムライン、Markdown 形式の情報、記録に基づくチャットを備え、MCP 経由で公開プロフィールの照会や所有者の承認済み更新を行えます。

主な機能

  1. 01個人経歴のタイムライン
  2. 02Markdown の AI コンテキスト
  3. 03記録に基づくプロフィールチャット
  4. 04AI による経歴の取り込みと確認
  5. 05テーマとレイアウトのカスタマイズ
  6. 06メディア埋め込みとイベントの固定

活用シーン

  1. 01閲覧可能な個人プロフィールの公開
  2. 02AI エージェントへの個人情報の提供
  3. 03プロフィールに基づく訪問者の質問対応
  4. 04公開プロフィールの照会や承認済み更新

MCP 対応

Streamable HTTP の MCP サーバーを提供し、公開プロフィールの照会と OAuth で承認された所有者による書き込みに対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://logr.it/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

6
パラメーター型必須説明
limitintegerいいえ
querystringはい名前、ハンドル、またはフリーテキストによる一致

詳細

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/authorizeMCP 書き込みアクセス用 OAuth 2.1 同意画面(+ /api/oauth/token、/api/oauth/register、/.well-known/* のディスカバリー)
/api/[username]/chatストリーミング対応の、根拠に基づくチャット API
/dashboard所有者用エディター(認証必須)— プロフィール · イベント · 外観 · インポート
/welcomeオンボーディング — ハンドルを取得してタイムラインを作成
/loginGoogle サインイン

技術スタック

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 にあります。

コメント

MCP は初めてですか?

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

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