1. Conduid
  2. Documentation
  3. Oh My Til
MCP server · Documentation

Oh My Til

Obsidian plugin with embedded Claude Code terminal, MCP server, and TIL learning dashboard

Unclaimed docs
34Low

Scored 6 months ago · breakdown

About Oh My Til

Oh My Til is an MCP server published by SongYunSeop in the Documentation category: obsidian plugin with embedded Claude Code terminal, MCP server, and TIL learning dashboard.

The repository has 1 stars and 0 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/SongYunSeop/oh-my-til

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (10)

til_backlog_checkMark a backlog item as done by slug (standalone use)

Parameters not published.

til_backlog_statusBacklog progress summary with checkbox counts

Parameters not published.

til_dashboardLearning statistics summary

Parameters not published.

til_get_contextGet existing knowledge context for a topic (files, links, unresolved mentions)

Parameters not published.

til_get_pathReturn the vault's configured TIL folder path (fallback for environments without the SessionStart hook)

Parameters not published.

til_listList TIL files grouped by category (supports `search` filter)

Parameters not published.

til_recent_contextRecent learning activity grouped by date

Parameters not published.

til_review_listDue review cards list + stats (SRS, supports `include_content`)

Parameters not published.

til_review_updateRecord review result or remove from review

Parameters not published.

til_save_noteSave a TIL note with validated frontmatter and path conventions (auto backlog check)

Parameters not published.

Ask AI

✦

Ask AI about Oh My Til

Powered by Claude · Grounded in docs

I know everything about Oh My Til. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Oh My TIL

Obsidian Version

English | 한국어

A Claude Code plugin for AI-powered TIL (Today I Learned) learning workflow. Works as a standalone CLI (npx oh-my-til) or as an Obsidian plugin with embedded Claude Code terminal.

Features

  • Embedded Terminal — Claude Code terminal in Obsidian sidebar (xterm.js + node-pty)
  • Built-in MCP Server — Claude Code can directly access your vault via HTTP
  • Learning Dashboard — TIL statistics and category breakdown at a glance
  • Auto-installed Skills — /til, /research, /backlog, /save, /til-review, /til-lint, /dashboard commands ready out of the box
  • Spaced Repetition (SRS) — SM-2 algorithm-based review scheduling for TIL notes
  • Markdown Link Detection — [text](path) links in terminal are clickable and open notes (CJK-aware)
  • Backlog-to-TIL Trigger — Click an empty backlog link to start a TIL session
  • File Watcher — Newly created TIL files open automatically in the editor

How It Works

Command Palette → Open Terminal → Claude Code starts
→ Run /til, /backlog, /research, /save, /til-review, /til-lint, /dashboard skills
→ Claude researches → interactive learning → saves TIL markdown
→ New file detected → opens in editor

Installation

Option A: Claude Code Plugin (Recommended)

Install directly as a Claude Code plugin — skills, MCP server, and hooks are auto-registered.

Prerequisites: Node.js 18+ / Claude Code v1.0.33+

# Add marketplace (project scope recommended — only active in this TIL vault)
claude plugin marketplace add https://github.com/SongYunSeop/oh-my-til.git --scope project

# Install plugin
claude plugin install oh-my-til@oh-my-til --scope project

Skills are namespaced: /oh-my-til:til, /oh-my-til:research, /oh-my-til:backlog, etc.

Option B: Standalone CLI (without Obsidian)

Prerequisites: Node.js 18+ / Claude Code CLI (claude)

  1. Install the Claude Code plugin (Option A above) — skills and MCP server are auto-registered.

  2. Start Claude Code and use /til, /research, /backlog skills right away:

    cd ~/my-til
    claude
    
  3. (Optional) Register MCP server — lets Claude Code query your TIL files (stdio mode, works with Claude Desktop):

    claude mcp add oh-my-til -- npx oh-my-til mcp ~/my-til
    

Option C: Obsidian Plugin

Prerequisites: Obsidian v1.5.0+ / Node.js 18+ / Claude Code CLI (claude)

Using npx (Recommended)

Install the Obsidian plugin directly:

npx oh-my-til install-obsidian /path/to/your/vault

Electron version is auto-detected on macOS. To override:

ELECTRON_VERSION=37.10.2 npx oh-my-til install-obsidian /path/to/your/vault

To find your Electron version, open Obsidian's Developer Tools (Ctrl+Shift+I) and run process.versions.electron.

Manual Installation (from source)

git clone https://github.com/SongYunSeop/oh-my-til.git
cd oh-my-til
npm install
ELECTRON_VERSION=<your-electron-version> npm run deploy -- /path/to/your/vault

After installation, restart Obsidian and enable Oh My TIL in Settings > Community plugins.

MCP Server Setup (Optional)

The plugin includes a built-in MCP server so Claude Code can access your vault directly:

claude mcp add --transport http oh-my-til http://localhost:22360/mcp

Configuration

Setting Default Description
Shell Path System default Shell to use in the terminal
Auto Launch Claude true Run claude when terminal opens
Resume Last Session false Resume previous Claude session (--continue)
Font Size 13 Terminal font size (px)
Font Family Menlo Terminal font (Menlo, SF Mono, Fira Code, JetBrains Mono, etc.)
Line Height 1.0 Terminal line spacing (1.0 = default, up to 2.0)
TIL Path til TIL folder path
Auto Open New TIL true Open new TIL files in editor automatically
Open Dashboard on Startup false Open learning dashboard when Obsidian starts
Claude Args (empty) Additional arguments passed to claude command

MCP Tools

When the MCP server is connected, Claude Code can use these tools:

Tool Description
til_list List TIL files grouped by category (supports search filter)
til_save_note Save a TIL note with validated frontmatter and path conventions (auto backlog check)
til_backlog_status Backlog progress summary with checkbox counts
til_backlog_check Mark a backlog item as done by slug (standalone use)
til_get_context Get existing knowledge context for a topic (files, links, unresolved mentions)
til_recent_context Recent learning activity grouped by date
til_dashboard Learning statistics summary
til_review_list Due review cards list + stats (SRS, supports include_content)
til_review_update Record review result or remove from review

Claude Skills

The plugin auto-installs these skills to .claude/skills/:

Skill Command Description
til /til <topic> [category] Research a topic → interactive learning → save TIL
research /research <topic> [category] Research a topic and create a learning backlog
backlog /backlog [category] View learning backlog and progress
save (auto-invoked by /til) Save TIL markdown with Daily note, MOC, and backlog updates
til-review /til-review [category] SRS-based spaced repetition review session (SM-2 algorithm)
til-lint /til-lint [category] TIL wiki health-check — missing frontmatter, broken links, orphan TILs, unprocessed raw sources
dashboard /dashboard Learning dashboard — stats, activity heatmap, categories, backlog progress
omt-setup /omt-setup [subcommand] Unified setup — init, deploy, and manage oh-my-til
setup-obsidian /setup-obsidian Install the Obsidian desktop plugin in the current vault

Development

npm run dev              # Watch mode (esbuild)
npm test                 # Run tests (vitest)
npm run rebuild-pty      # Rebuild node-pty for Obsidian's Electron
npm run deploy -- /path  # Deploy to vault
npm run deploy -- --refresh-skills /path  # Deploy with skill/rule refresh

Project Structure

src/
├── core/                    # Platform-independent pure logic
│   ├── backlog.ts           # Backlog parsing/formatting (pure functions)
│   ├── context.ts           # Learning context helpers (pure functions)
│   ├── stats.ts             # TIL statistics (pure functions)
│   ├── srs.ts               # Spaced repetition (SM-2 algorithm, review cards/stats)
│   ├── migrate-links.ts     # Wikilink [[]] → [](path) conversion (internal utility)
│   ├── keyboard.ts          # Shift+Enter → \n (multiline support)
│   ├── env.ts               # macOS PATH resolution (Homebrew)
│   ├── skills.ts            # Version comparison / placeholder substitution
│   ├── cli.ts               # CLI argument parsing (pure functions)
│   ├── config.ts            # Config file parsing/loading (pure functions)
│   ├── markdown.ts          # Markdown → HTML conversion (no external deps)
│   ├── profile.ts           # Static site page generation (profile, TIL pages, category index)
│   └── index.ts             # Barrel export
├── ports/                   # Adapter interfaces
│   ├── storage.ts           # FileStorage interface
│   └── metadata.ts          # MetadataProvider interface
├── adapters/                # Port implementations
│   ├── fs-adapter.ts        # node:fs based (standalone)
│   └── obsidian-adapter.ts  # Obsidian App based
├── mcp/                     # MCP server (port-dependent, Obsidian-free)
│   ├── context.ts           # Learning context tools (topic matching, category extraction)
│   └── tools.ts             # MCP tool definitions (FileStorage + MetadataProvider)
├── cli/                     # Standalone CLI entry point
│   ├── index.ts             # npx oh-my-til mcp / install-obsidian / deploy
│   └── obsidian-install.ts  # Auto-install Obsidian plugin (Electron detection, node-pty rebuild)
└── obsidian/                # Obsidian platform adapter
    ├── main.ts              # Plugin entry point
    ├── settings.ts          # Settings tab & interface
    ├── watcher.ts           # File watcher → open in editor
    ├── terminal/
    │   ├── TerminalView.ts  # Sidebar terminal (ItemView + xterm.js)
    │   ├── MarkdownLinkProvider.ts  # 3 ILinkProviders: Markdown, Filepath, OSC 8
    │   └── pty.ts           # PTY process manager (node-pty)
    └── dashboard/
        └── DashboardView.ts # Learning dashboard (ItemView)

Tech Stack

Runtime TypeScript, Obsidian Plugin API
Terminal xterm.js, node-pty
MCP @modelcontextprotocol/sdk
Build esbuild
Test vitest

Roadmap

  • Embedded Claude Code terminal
  • Built-in MCP server
  • Learning dashboard (basic stats)
  • Standalone CLI (npx oh-my-til) — use without Obsidian
  • Spaced Repetition (SRS) — SM-2 based review scheduling
  • Backlog progress bars in dashboard
  • Configurable TIL folder path
  • Rich dashboard — recent TILs, streaks, weekly summary
  • Dynamic code blocks (til-moc, til-daily) — auto-render TIL lists without Dataview
  • Multi-terminal tabs — run multiple Claude Code sessions
  • Note linking — auto-insert backlinks to related notes

Acknowledgments

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Oh My Til

How do I install Oh My Til?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Oh My Til safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Oh My Til still maintained?

Yes — the last commit was 5 months ago. The repository has 1 stars and 0 forks.