Skip to content

Latest commit

ย 

History

History
492 lines (366 loc) ยท 18.9 KB

MCP_SERVERS.md

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"
      }
    }
  }
}