Skip to content

Latest commit

ย 

History

History
492 lines (366 loc) ยท 18.9 KB

File metadata and controls

492 lines (366 loc) ยท 18.9 KB

MCP Servers Reference (MCP ์„œ๋ฒ„ ์ฐธ์กฐ)

This document describes each of the 9 MCP servers used by the /coord pipeline: purpose, installation, JSON configuration block, API key requirements, and fallback behavior.

์ด ๋ฌธ์„œ๋Š” /coord ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” 9๊ฐœ์˜ MCP ์„œ๋ฒ„ ๊ฐ๊ฐ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค: ๋ชฉ์ , ์„ค์น˜, JSON ๊ตฌ์„ฑ ๋ธ”๋ก, API ํ‚ค ์š”๊ตฌ์‚ฌํ•ญ, ๋Œ€์ฒด ๋™์ž‘.


How MCP Servers Fit into the Pipeline (MCP ์„œ๋ฒ„๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ์˜ ์—ญํ• )

MCP (Model Context Protocol) servers extend Claude Code with specialized capabilities. The pipeline activates the appropriate server based on task type โ€” it does not run all servers for every task.

MCP(Model Context Protocol) ์„œ๋ฒ„๋Š” Claude Code๋ฅผ ์ „๋ฌธํ™”๋œ ๊ธฐ๋Šฅ์œผ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ์€ ์ž‘์—… ์œ ํ˜•์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์„œ๋ฒ„๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค โ€” ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด ๋ชจ๋“  ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Stage (๋‹จ๊ณ„) MCP servers typically active (์ผ๋ฐ˜์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜๋Š” MCP ์„œ๋ฒ„)
Stage 1 โ€” Memory memory, serena, graphiti-memory
Stage 2 โ€” Plan sequential-thinking
Stage 3 โ€” Research tavily, context7, playwright, notebooklm
Stage 4 โ€” Execute magic, morphllm, serena
Stage 5 โ€” Review sequential-thinking
Stage 6 โ€” Memory memory, serena, graphiti-memory

1. sequential-thinking (์ˆœ์ฐจ์  ์‚ฌ๊ณ )

Purpose: Multi-step structured reasoning with hypothesis testing and self-reflection. The primary reasoning engine for the Plan stage and complex debugging. Best when a problem has 3 or more interconnected components.

๋ชฉ์ : ๊ฐ€์„ค ํ…Œ์ŠคํŠธ ๋ฐ ์ž๊ธฐ ๋ฐ˜์„ฑ์ด ์žˆ๋Š” ๋‹ค๋‹จ๊ณ„ ๊ตฌ์กฐํ™”๋œ ์ถ”๋ก . ๊ณ„ํš ๋‹จ๊ณ„์™€ ๋ณต์žกํ•œ ๋””๋ฒ„๊น…์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์ถ”๋ก  ์—”์ง„.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 2 (Plan), Stage 5 (Review), and any task with --think, --think-hard, or --ultrathink flags.

Installation (์„ค์น˜):

npm install -g @modelcontextprotocol/server-sequential-thinking

Configuration (๊ตฌ์„ฑ):

"sequential-thinking": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}

API key required: No (API ํ‚ค ๋ถˆํ•„์š”)

Fallback (๋Œ€์ฒด): Native Claude reasoning โ€” slower for multi-component problems but functional for simple analysis. (๋„ค์ดํ‹ฐ๋ธŒ Claude ์ถ”๋ก  โ€” ๋‹ค์ค‘ ๊ตฌ์„ฑ ์š”์†Œ ๋ฌธ์ œ์—๋Š” ๋А๋ฆฌ์ง€๋งŒ ๋‹จ์ˆœ ๋ถ„์„์—๋Š” ๊ธฐ๋Šฅ์ )


2. memory (์„ธ์…˜ ๋ฉ”๋ชจ๋ฆฌ)

Purpose: Key-value session persistence. Stores plan checkpoints, task completion status, and short-term session context. Data persists within a session but does not cross session boundaries.

๋ชฉ์ : ํ‚ค-๊ฐ’ ์„ธ์…˜ ์ง€์†์„ฑ. ๊ณ„ํš ์ฒดํฌํฌ์ธํŠธ, ์ž‘์—… ์™„๋ฃŒ ์ƒํƒœ, ๋‹จ๊ธฐ ์„ธ์…˜ ์ปจํ…์ŠคํŠธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์„ธ์…˜ ๋‚ด์—์„œ ์ง€์†๋˜์ง€๋งŒ ์„ธ์…˜ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 1 (read), Stage 2 (write plan), Stage 4 (checkpoints), Stage 6 (final write).

Installation (์„ค์น˜):

npm install -g @modelcontextprotocol/server-memory

Configuration (๊ตฌ์„ฑ):

"memory": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-memory"]
}

API key required: No (API ํ‚ค ๋ถˆํ•„์š”)

Fallback (๋Œ€์ฒด): Claude's in-context memory โ€” lost when context window closes or compacts. For cross-session persistence, use auto-memory files instead. (Claude ์ธ์ปจํ…์ŠคํŠธ ๋ฉ”๋ชจ๋ฆฌ โ€” ์ปจํ…์ŠคํŠธ ์ฐฝ์ด ๋‹ซํžˆ๊ฑฐ๋‚˜ ์••์ถ•๋  ๋•Œ ์†Œ์‹ค)


3. tavily (์›น ๊ฒ€์ƒ‰)

Purpose: Real-time web search with structured results, domain filtering, and time-range filtering. Supports academic search mode for scholarly content. The primary tool when information from after the model's knowledge cutoff is needed.

๋ชฉ์ : ๊ตฌ์กฐํ™”๋œ ๊ฒฐ๊ณผ, ๋„๋ฉ”์ธ ํ•„ํ„ฐ๋ง, ์‹œ๊ฐ„ ๋ฒ”์œ„ ํ•„ํ„ฐ๋ง์ด ์žˆ๋Š” ์‹ค์‹œ๊ฐ„ ์›น ๊ฒ€์ƒ‰. ํ•™์ˆ  ์ฝ˜ํ…์ธ ๋ฅผ ์œ„ํ•œ ํ•™์ˆ  ๊ฒ€์ƒ‰ ๋ชจ๋“œ ์ง€์›.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 3 (Research), on-demand for current information queries.

Installation (์„ค์น˜):

npm install -g @tavily/mcp-server

Configuration (๊ตฌ์„ฑ):

"tavily": {
  "command": "npx",
  "args": ["-y", "@tavily/mcp-server"],
  "env": {
    "TAVILY_API_KEY": "tvly-YOUR_KEY_HERE"
  }
}

API key required: Yes โ€” get a free key at https://app.tavily.com (๋ฌด๋ฃŒ ํ‚ค ๋ฐœ๊ธ‰ ํ•„์š”)

Search modes available (์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒ€์ƒ‰ ๋ชจ๋“œ):

Mode (๋ชจ๋“œ) Flag (ํ”Œ๋ž˜๊ทธ) Best for (์ตœ์  ์šฉ๋„)
General web default News, tutorials, blog posts
Academic search_depth="advanced" Research papers, citations
News topic="news" Recent events, announcements
Domain-specific include_domains=[โ€ฆ] Authoritative sources only

Fallback (๋Œ€์ฒด): Native WebSearch tool โ€” less structured but functional. (๋„ค์ดํ‹ฐ๋ธŒ WebSearch ๋„๊ตฌ โ€” ๋œ ๊ตฌ์กฐํ™”๋˜์–ด ์žˆ์ง€๋งŒ ๊ธฐ๋Šฅ์ )


4. context7 (๊ณต์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฌธ์„œ)

Purpose: Curated, version-specific documentation lookup for libraries and frameworks. Returns official documentation patterns rather than web search approximations. Eliminates hallucinated API signatures.

๋ชฉ์ : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์œ„ํ•œ ํ๋ ˆ์ด์…˜๋œ ๋ฒ„์ „๋ณ„ ๋ฌธ์„œ ์กฐํšŒ. ์›น ๊ฒ€์ƒ‰ ๊ทผ์‚ฌ๊ฐ’์ด ์•„๋‹Œ ๊ณต์‹ ๋ฌธ์„œ ํŒจํ„ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 3 (Research) when import statements, framework names, or library-specific questions are detected.

Installation (์„ค์น˜):

npm install -g @upstash/context7-mcp

Configuration (๊ตฌ์„ฑ):

"context7": {
  "command": "npx",
  "args": ["-y", "@upstash/context7-mcp"]
}

API key required: No (API ํ‚ค ๋ถˆํ•„์š”)

Supported library categories (์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ”์ฃผ):

  • Frontend frameworks: React, Vue, Angular, Next.js, Svelte (ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ)
  • Backend frameworks: Express, FastAPI, Django, Rails (๋ฐฑ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ)
  • Databases: PostgreSQL, MongoDB, Redis, Prisma (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)
  • Cloud SDKs: AWS, GCP, Azure, Vercel (ํด๋ผ์šฐ๋“œ SDK)
  • ML libraries: PyTorch, scikit-learn, Hugging Face (ML ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

Fallback (๋Œ€์ฒด): Tavily web search targeting official docs domains. (๊ณต์‹ ๋ฌธ์„œ ๋„๋ฉ”์ธ์„ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” Tavily ์›น ๊ฒ€์ƒ‰)


5. magic (UI ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ)

Purpose: Modern, accessible UI component generation using patterns from 21st.dev. Produces production-ready React components with Tailwind CSS, proper ARIA attributes, and responsive design.

๋ชฉ์ : 21st.dev์˜ ํŒจํ„ด์„ ์‚ฌ์šฉํ•œ ํ˜„๋Œ€์ ์ด๊ณ  ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ UI ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ. Tailwind CSS, ์ ์ ˆํ•œ ARIA ์†์„ฑ, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์ด ์žˆ๋Š” ํ”„๋กœ๋•์…˜ ์ค€๋น„ React ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 4 (Execute) when UI component requests are detected, or on /ui or /21 commands.

Installation (์„ค์น˜):

npm install -g @21st-dev/magic

Configuration (๊ตฌ์„ฑ):

"magic": {
  "command": "npx",
  "args": ["-y", "@21st-dev/magic"],
  "env": {
    "MAGIC_API_KEY": "YOUR_MAGIC_KEY_HERE"
  }
}

API key required: Yes โ€” get a key at https://21st.dev (API ํ‚ค ํ•„์š”)

Component types supported (์ง€์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ์œ ํ˜•):

  • Forms, input fields, validation (ํผ, ์ž…๋ ฅ ํ•„๋“œ, ๊ฒ€์ฆ)
  • Navigation: navbar, sidebar, breadcrumbs (๋„ค๋น„๊ฒŒ์ด์…˜)
  • Data display: tables, cards, charts (๋ฐ์ดํ„ฐ ํ‘œ์‹œ)
  • Feedback: modals, toasts, alerts (ํ”ผ๋“œ๋ฐฑ)
  • Layout: grids, containers, responsive wrappers (๋ ˆ์ด์•„์›ƒ)

Fallback (๋Œ€์ฒด): Manual HTML/CSS with Claude native generation โ€” functional but less polished. (๋„ค์ดํ‹ฐ๋ธŒ Claude HTML/CSS ์ƒ์„ฑ โ€” ๊ธฐ๋Šฅ์ ์ด์ง€๋งŒ ๋œ ์„ธ๋ จ๋จ)


6. playwright (๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”)

Purpose: Real browser automation for E2E testing, visual validation, screenshot capture, and accessibility auditing. Uses Chromium by default. The only tool that can verify rendered output, not just source code.

๋ชฉ์ : E2E ํ…Œ์ŠคํŠธ, ์‹œ๊ฐ์  ๊ฒ€์ฆ, ์Šคํฌ๋ฆฐ์ƒท ์บก์ฒ˜, ์ ‘๊ทผ์„ฑ ๊ฐ์‚ฌ๋ฅผ ์œ„ํ•œ ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”. ๊ธฐ๋ณธ์ ์œผ๋กœ Chromium ์‚ฌ์šฉ.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 3 (complex page extraction) and Stage 5 (visual validation), on demand for browser testing.

Installation (์„ค์น˜):

# Using pip (pip ์‚ฌ์šฉ)
pip install playwright-mcp
playwright install chromium

# Or using npm (npm ์‚ฌ์šฉ)
npm install -g @playwright/mcp

Configuration (๊ตฌ์„ฑ):

"playwright": {
  "command": "python3",
  "args": ["-m", "playwright_mcp"],
  "env": {
    "PATH": "/home/YOUR_USERNAME/coord-env/bin:/usr/local/bin:/usr/bin:/bin"
  }
}

API key required: No (API ํ‚ค ๋ถˆํ•„์š”)

Capabilities (๊ธฐ๋Šฅ):

Task (์ž‘์—…) Playwright tool (Playwright ๋„๊ตฌ)
Navigate to a URL browser_navigate
Click an element browser_click
Fill a form browser_fill_form
Take a screenshot browser_take_screenshot
Read console errors browser_console_messages
Test accessibility browser_snapshot (ARIA tree)
Run custom JavaScript browser_evaluate

Fallback (๋Œ€์ฒด): Tavily for content extraction, manual testing instructions for E2E scenarios. (์ฝ˜ํ…์ธ  ์ถ”์ถœ์€ Tavily, E2E ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์ˆ˜๋™ ํ…Œ์ŠคํŠธ ์ง€์นจ)


7. morphllm (์ผ๊ด„ ํŒจํ„ด ํŽธ์ง‘)

Purpose: Pattern-based code editing engine with token optimization. Makes consistent changes across multiple files using natural language edit instructions. 30โ€“50% more token-efficient than individual Edit calls.

๋ชฉ์ : ํ† ํฐ ์ตœ์ ํ™”๊ฐ€ ์žˆ๋Š” ํŒจํ„ด ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ํŽธ์ง‘ ์—”์ง„. ์ž์—ฐ์–ด ํŽธ์ง‘ ์ง€์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ๊ฑธ์ณ ์ผ๊ด€๋œ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 4 (Execute) when bulk transformations, style enforcement, or framework migrations are planned.

Installation (์„ค์น˜):

npm install -g morphllm-mcp

Configuration (๊ตฌ์„ฑ):

"morphllm": {
  "command": "npx",
  "args": ["-y", "morphllm-mcp"]
}

API key required: No (API ํ‚ค ๋ถˆํ•„์š”)

Best use cases (์ตœ์  ์‚ฌ์šฉ ์‚ฌ๋ก€):

  • Replace all console.log with structured logger calls (๋ชจ๋“  console.log๋ฅผ ๊ตฌ์กฐํ™”๋œ ๋กœ๊ฑฐ ํ˜ธ์ถœ๋กœ ๊ต์ฒด)
  • Enforce ESLint rules across a large codebase (๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ESLint ๊ทœ์น™ ์ ์šฉ)
  • Update React class components to function components (React ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋กœ ์—…๋ฐ์ดํŠธ)
  • Apply consistent error handling pattern across all endpoints (๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ์— ์ผ๊ด€๋œ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ํŒจํ„ด ์ ์šฉ)

When NOT to use morphllm (morphllm์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๊ฒฝ์šฐ): Symbol renames with dependency tracking โ€” use serena instead. Complex semantic changes โ€” use individual edits.

Fallback (๋Œ€์ฒด): MultiEdit tool with multiple individual Edit calls. (์—ฌ๋Ÿฌ ๊ฐœ๋ณ„ Edit ํ˜ธ์ถœ์ด ์žˆ๋Š” MultiEdit ๋„๊ตฌ)


8. serena (์‹œ๋งจํ‹ฑ ์ฝ”๋“œ ํƒ์ƒ‰)

Purpose: Semantic code understanding with LSP integration. Handles symbol operations (rename, extract, find references), dependency tracking, and cross-session project memory. The primary tool for understanding large, multi-language codebases.

๋ชฉ์ : LSP ํ†ตํ•ฉ์ด ์žˆ๋Š” ์‹œ๋งจํ‹ฑ ์ฝ”๋“œ ์ดํ•ด. ์‹ฌ๋ณผ ์กฐ์ž‘(์ด๋ฆ„ ๋ณ€๊ฒฝ, ์ถ”์ถœ, ์ฐธ์กฐ ์ฐพ๊ธฐ), ์˜์กด์„ฑ ์ถ”์ , ์„ธ์…˜ ๊ฐ„ ํ”„๋กœ์ ํŠธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 1 (memory read), Stage 3 (codebase exploration), Stage 4 (symbol operations), Stage 6 (memory write).

Installation (์„ค์น˜): Serena is typically available as part of Claude Code's MCP ecosystem. Check your current installation:

Serena๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Claude Code์˜ MCP ์ƒํƒœ๊ณ„์˜ ์ผ๋ถ€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์„ค์น˜๋ฅผ ํ™•์ธํ•˜์„ธ์š”:

claude mcp list | grep serena

If not installed (์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ):

npm install -g @serena-ai/mcp

Configuration (๊ตฌ์„ฑ):

"serena": {
  "command": "npx",
  "args": ["-y", "@serena-ai/mcp"],
  "env": {
    "WORKSPACE_PATH": "/path/to/your/project"
  }
}

API key required: No (API ํ‚ค ๋ถˆํ•„์š”)

Key operations (์ฃผ์š” ์ž‘์—…):

Operation (์ž‘์—…) Tool (๋„๊ตฌ)
List stored memories list_memories()
Read a memory read_memory("key")
Write a memory write_memory("key", value)
Delete a memory delete_memory("key")
Find a symbol find_symbol("functionName")
Find all references find_referencing_symbols("ClassName")
Find declaration find_declaration("variableName")

Fallback (๋Œ€์ฒด): Grep for code search, manual file reads for structure discovery. (์ฝ”๋“œ ๊ฒ€์ƒ‰์€ Grep, ๊ตฌ์กฐ ๋ฐœ๊ฒฌ์€ ์ˆ˜๋™ ํŒŒ์ผ ์ฝ๊ธฐ)


9. notebooklm (๋ฌธ์„œ ๋ถ„์„)

Purpose: Deep analysis of long-form documents using Google NotebookLM's knowledge base capabilities. Best for research papers, lengthy technical specifications, and document collections that exceed Claude's context window.

๋ชฉ์ : Google NotebookLM์˜ ์ง€์‹ ๋ฒ ์ด์Šค ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ ์žฅํ˜• ๋ฌธ์„œ์˜ ์‹ฌ์ธต ๋ถ„์„. ์—ฐ๊ตฌ ๋…ผ๋ฌธ, ๊ธด ๊ธฐ์ˆ  ์‚ฌ์–‘, Claude์˜ ์ปจํ…์ŠคํŠธ ์ฐฝ์„ ์ดˆ๊ณผํ•˜๋Š” ๋ฌธ์„œ ์ปฌ๋ ‰์…˜์— ์ตœ์ ์ž…๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 3 (Research) when document ingestion is required, or explicitly when user provides a long document for analysis.

Installation (์„ค์น˜):

pip install notebooklm-mcp-cli

Verify (ํ™•์ธ):

nlm --version

Configuration (๊ตฌ์„ฑ):

"notebooklm": {
  "command": "python3",
  "args": ["-m", "notebooklm_tools.mcp.server"],
  "env": {
    "PATH": "/home/YOUR_USERNAME/coord-env/bin:/usr/local/bin:/usr/bin:/bin"
  }
}

Authentication (์ธ์ฆ): Requires Google account authorization. Run nlm login in a terminal after installation.

Google ๊ณ„์ • ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ ํ„ฐ๋ฏธ๋„์—์„œ nlm login์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

API key required: No โ€” uses Google account OAuth (API ํ‚ค ๋ถˆํ•„์š” โ€” Google ๊ณ„์ • OAuth ์‚ฌ์šฉ)

Key capabilities (์ฃผ์š” ๊ธฐ๋Šฅ):

Task (์ž‘์—…) Tool (๋„๊ตฌ)
Create a new notebook notebook_create
Add a source document source_add
Query the knowledge base notebook_query
Cross-notebook analysis cross_notebook_query
Generate audio overview studio_create(artifact_type="audio")

Fallback (๋Œ€์ฒด): Reading large documents directly with the Read tool + sequential summarization. Slower for very long documents but always available. (Read ๋„๊ตฌ๋กœ ์ง์ ‘ ์ฝ๊ธฐ + ์ˆœ์ฐจ ์š”์•ฝ โ€” ๋งค์šฐ ๊ธด ๋ฌธ์„œ์—๋Š” ๋А๋ฆฌ์ง€๋งŒ ํ•ญ์ƒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)


Graphiti Memory (graphiti-memory)

Purpose: Long-term domain knowledge graph. Stores temporally-aware facts, research decisions, meeting records, and experimental results as a queryable knowledge graph. Unlike the memory server, Graphiti persists across sessions and months.

๋ชฉ์ : ์žฅ๊ธฐ ๋„๋ฉ”์ธ ์ง€์‹ ๊ทธ๋ž˜ํ”„. ์‹œ๊ฐ„ ์ธ์‹ ์‚ฌ์‹ค, ์—ฐ๊ตฌ ๊ฒฐ์ •, ํšŒ์˜๋ก, ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ์ฟผ๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ง€์‹ ๊ทธ๋ž˜ํ”„๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. memory ์„œ๋ฒ„์™€ ๋‹ฌ๋ฆฌ Graphiti๋Š” ์„ธ์…˜๊ณผ ๋‹ฌ์„ ๋„˜์–ด ์ง€์†๋ฉ๋‹ˆ๋‹ค.

When active (ํ™œ์„ฑํ™” ์‹œ์ ): Stage 1 (knowledge retrieval), Stage 6 (knowledge storage), when search_nodes or add_memory operations are needed.

Installation (์„ค์น˜):

pip install graphiti-core
# Set up the database backend (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—”๋“œ ์„ค์ •)
# See: https://github.com/getzep/graphiti

Configuration (๊ตฌ์„ฑ):

"graphiti-memory": {
  "command": "python3",
  "args": ["-m", "graphiti_mcp.server"],
  "env": {
    "OPENROUTER_API_KEY": "sk-or-YOUR_KEY_HERE",
    "NEO4J_URI": "bolt://localhost:7687",
    "NEO4J_USER": "neo4j",
    "NEO4J_PASSWORD": "YOUR_DB_PASSWORD"
  }
}

API key required: Yes โ€” requires OPENROUTER_API_KEY for embeddings, and Neo4j for the graph database.

์ž„๋ฒ ๋”ฉ์„ ์œ„ํ•œ OPENROUTER_API_KEY์™€ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ Neo4j๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Key operations (์ฃผ์š” ์ž‘์—…):

Operation (์ž‘์—…) Tool (๋„๊ตฌ)
Store a fact or event add_memory
Search for entities search_nodes
Search for relationships search_memory_facts
Get recent episodes get_episodes
Delete outdated fact delete_entity_edge

Important note (์ค‘์š” ์ฐธ๊ณ ์‚ฌํ•ญ): If Graphiti is unavailable (database not running, API key missing), the pipeline falls back gracefully to auto-memory only. A warning is logged to /tmp/chavis/session_init.log.

Graphiti๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฏธ์‹คํ–‰, API ํ‚ค ๋ˆ„๋ฝ), ํŒŒ์ดํ”„๋ผ์ธ์€ ์ž๋™์œผ๋กœ auto-memory ์ „์šฉ์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

Fallback (๋Œ€์ฒด): Auto-memory files at ~/.claude/projects/-home-USERNAME/memory/. Less queryable but always available. (์ž๋™ ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ โ€” ์ฟผ๋ฆฌ ๊ฐ€๋Šฅ์„ฑ์€ ๋‚ฎ์ง€๋งŒ ํ•ญ์ƒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)


Complete settings.json MCP Block (์™„์ „ํ•œ settings.json MCP ๋ธ”๋ก)

The following is the full mcpServers configuration block with all 9 servers. Copy it into ~/.claude/settings.json and replace placeholder values.

๋‹ค์Œ์€ 9๊ฐœ ์„œ๋ฒ„ ๋ชจ๋‘๊ฐ€ ์žˆ๋Š” ์ „์ฒด mcpServers ๊ตฌ์„ฑ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. ~/.claude/settings.json์— ๋ณต์‚ฌํ•˜๊ณ  ํ”Œ๋ ˆ์ด์Šคํ™€๋” ๊ฐ’์„ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "tavily": {
      "command": "npx",
      "args": ["-y", "@tavily/mcp-server"],
      "env": {
        "TAVILY_API_KEY": "tvly-YOUR_KEY_HERE"
      }
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "magic": {
      "command": "npx",
      "args": ["-y", "@21st-dev/magic"],
      "env": {
        "MAGIC_API_KEY": "YOUR_MAGIC_KEY_HERE"
      }
    },
    "playwright": {
      "command": "python3",
      "args": ["-m", "playwright_mcp"],
      "env": {
        "PATH": "/home/YOUR_USERNAME/coord-env/bin:/usr/local/bin:/usr/bin:/bin"
      }
    },
    "morphllm": {
      "command": "npx",
      "args": ["-y", "morphllm-mcp"]
    },
    "serena": {
      "command": "npx",
      "args": ["-y", "@serena-ai/mcp"]
    },
    "notebooklm": {
      "command": "python3",
      "args": ["-m", "notebooklm_tools.mcp.server"],
      "env": {
        "PATH": "/home/YOUR_USERNAME/coord-env/bin:/usr/local/bin:/usr/bin:/bin"
      }
    },
    "graphiti-memory": {
      "command": "python3",
      "args": ["-m", "graphiti_mcp.server"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-YOUR_KEY_HERE",
        "NEO4J_URI": "bolt://localhost:7687",
        "NEO4J_USER": "neo4j",
        "NEO4J_PASSWORD": "YOUR_DB_PASSWORD"
      }
    }
  }
}