logr

Registre officiel Autres

Query any public logr profile — timelines, events, full context — plus owner-authorized writes.

Que pouvez-vous faire avec logr ?

  • Multi-user — sign in with Google, claim a handle at /welcome, edit at /dashboard with a live preview.
  • AI import — paste your story, upload a resume (PDF/DOCX), or point at a URL; AI structures it into timeline events you review and confirm before anything is saved.
  • Grounded chat — the visitor chat is prompted with the same complete Markdown context as the public routes, streams via OpenRouter, and is rate-limited. Facts-only: if it's not in your log, it says so.
  • Theming — 9 palettes (incl. dark ink) × 8 layouts (timeline, journal, magazine, terminal, feed, card, centered, polaroid), persisted per profile, previewable live.
  • Pinned events — pin up to 7 events from the dashboard events tab (pins dialog); they replace the "recent" side rail (and the OG image's rail) and are marked in the Markdown context.
  • Media — image upload (S3, or local FS in dev), video/tweet embeds, unfurled link cards, dynamic OG image per profile.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http logr 'https://logr.it/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "logr": {
            "type": "http",
            "url": "https://logr.it/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. logr
  2. Features
  3. Routes
  4. Tech stack
  5. Running locally
  6. Project structure
  7. Domain

logr

A personal portfolio + AI context layer. Most people have a LinkedIn. Nobody has a structured, machine-readable, queryable version of their story that works with any AI tool. logr fills that gap — an editorial life-log that is beautiful for humans to read and structured for AI to query.

You log your story once. It becomes three things:

  • a timeline at logr.it/you — year-grouped, hover-to-expand, in your choice of 9 palettes × 8 layouts,
  • machine-readable Markdown context any AI agent can ingest — the real moat, and
  • a grounded AI chat widget where visitors ask questions answered strictly from your log.

See ROADMAP.md for what's built and what's next.

Features

  • Multi-user — sign in with Google, claim a handle at /welcome, edit at /dashboard with a live preview.
  • AI import — paste your story, upload a resume (PDF/DOCX), or point at a URL; AI structures it into timeline events you review and confirm before anything is saved.
  • Grounded chat — the visitor chat is prompted with the same complete Markdown context as the public routes, streams via OpenRouter, and is rate-limited. Facts-only: if it's not in your log, it says so.
  • Theming — 9 palettes (incl. dark ink) × 8 layouts (timeline, journal, magazine, terminal, feed, card, centered, polaroid), persisted per profile, previewable live.
  • Pinned events — pin up to 7 events from the dashboard events tab (pins dialog); they replace the "recent" side rail (and the OG image's rail) and are marked in the Markdown context.
  • Media — image upload (S3, or local FS in dev), video/tweet embeds, unfurled link cards, dynamic OG image per profile.

Chat, S3, and Google auth are each feature-gated on their env vars and degrade gracefully when unset.

Routes

RouteWhat
/Marketing landing
/[username]Public timeline (e.g. /koshik)
/[username]/askDedicated, shareable grounded-chat page
/[username]/llms.txtPrimary Markdown context; full unless the profile is oversized
/[username]/llms-full.txtComplete, unabridged Markdown context
/[username].mdClean Markdown counterpart to the public profile
/[username]/llm.txtLegacy-compatible complete context URL
/mcpGlobal MCP server (Streamable HTTP) — agents query any public profile; OAuth-authorized owner writes
/oauth/authorizeOAuth 2.1 consent screen for MCP write access (+ /api/oauth/token, /api/oauth/register, /.well-known/* discovery)
/api/[username]/chatStreaming grounded chat API
/dashboardOwner editor (auth-gated) — profile · events · appearance · import
/welcomeOnboarding — claim a handle, seed your timeline
/loginGoogle sign-in

Tech stack

Next.js 16 (App Router) · React 19 · TypeScript · Postgres (Supabase) + Prisma 6 · Auth.js (NextAuth v5, Google OAuth) · Vercel AI SDK via OpenRouter · AWS S3 (local FS in dev) · Tailwind v4 + scoped CSS driven by theme tokens · Source Serif 4 + JetBrains Mono · Vercel.

Running locally

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 (see .env.example for details):

  • DATABASE_URL / DIRECT_URL — Supabase Postgres; transaction pooler (:6543, ?pgbouncer=true) for runtime, session (:5432) for prisma migrate.
  • AUTH_SECRET + AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET — Google sign-in for /dashboard and onboarding.
  • OPENROUTER_API_KEY — optional; enables the visitor chat + AI import (OPENROUTER_MODEL to override the default model).
  • ANTHROPIC_API_KEY — optional alternative to OpenRouter; calls the Anthropic API directly and wins when both are set (ANTHROPIC_MODEL, default claude-haiku-4-5).
  • AWS_* — optional; S3 image storage (falls back to ./public/uploads).

Project structure

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-shaped fields (socials, theme, event link) are stored as serialized strings so the schema stays portable. Outbound fetches of user-supplied URLs go through the SSRF-guarded client in lib/import.ts.

Domain

Product domain logr.it; portfolios at logr.it/<handle>. Primary agent context lives at logr.it/<handle>/llms.txt, with complete Markdown at logr.it/<handle>/llms-full.txt and logr.it/<handle>.md.

Questions fréquentes

Qu'est-ce que logr ?

Query any public logr profile — timelines, events, full context — plus owner-authorized writes.

Comment installer logr ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http logr 'https://logr.it/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour logr ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

logr est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient logr ?

Il est publié par koshikraj. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.