mcpField
L
logr

logr

Remote
github.com/koshikrajProductivity1Updated 6d ago
Repository

About logr

logr is a personal portfolio and AI context service for people who want their life story in a structured, queryable form. It combines a public timeline, Markdown context, grounded chat, and an MCP endpoint for public-profile queries and owner-authorized writes.

Key features

  1. 01Personal story timelines
  2. 02Markdown AI context
  3. 03Grounded profile chat
  4. 04AI-assisted story import and review
  5. 05Custom themes and layouts
  6. 06Media embeds and pinned events

Use cases

  1. 01Publish a browsable personal portfolio
  2. 02Give AI agents personal background context
  3. 03Let visitors ask profile-based questions
  4. 04Query public profiles or make authorized owner updates

MCP support

Its Streamable HTTP MCP server lets agents query any public profile and perform owner-authorized writes via OAuth.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://logr.it/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

6
ParameterTypeRequiredDescription
limitintegerNo
querystringYesName, handle, or free-text match

Details

From the project README

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.