# MCP Setup — Model Context Protocol

# MCP Setup — Model Context Protocol

**Posljednje ažuriranje:** 2026-03-06
**Analiza:** John (2 agenta, ~130K tokena)

---

## Šta je MCP

Model Context Protocol (MCP) omogućava Claude Code-u da direktno poziva servise kao native alate (`mcp__server__tool`), bez potrebe za CLI spawnom ili Bash komandama. Rezultat: brže izvršavanje, manje kontekstnog zagađenja, native integracija.

**Ekosistem:** 1200+ servera na registry.modelcontextprotocol.io (mart 2026).

---

## Trenutna Konfiguracija (`~/.claude/mcp.json`)

### 9 Aktivnih MCP Servera

| Server | Tip | Komanda | Svrha |
|--------|-----|---------|-------|
| **email** | Custom | `node email-mcp-bridge-v2.js` | IMAP/SMTP za 5 accounta (john, info, alai, alem, dev) |
| **rag** | Custom | `node rag-mcp.js` | RAG cache + Ollama routing (10K+ entries, 61% hit rate) |
| **figma** | Custom wrapper | `figma-mcp-wrapper.sh` | Figma API + Vaultwarden credential injection |
| **youtube-transcript** | Community | `npx @fabriqa.ai/youtube-transcript-mcp` | YouTube transcript ekstrakcija |
| **github** | Official binary | `github-mcp-server stdio` | GitHub PR/issues/repos/workflows (v0.31.0, Homebrew) |
| **slack** | Community | `npx mcp-server-slack` | Slack read/send (workspace: alai-talk, T0AELHU0E13) |
| **postgres-drop** | Community | `npx postgres-mcp` | SQL nad Drop dev DB (port 5433) |
| **postgres-plock** | Community | `npx postgres-mcp` | SQL nad Plock dev DB (port 5432) |
| **fiken** | Custom (John) | `node fiken-mcp.js` | 11 Fiken alata — invoices, contacts, balances, dashboard |

**Uklonjen (2026-03-06):** `playwright` — zamijenjen CLI-jem (po Alemovom zahtjevu).

---

## Dostupni Alati po Serveru

### mcp__email__*
- `emails_find` — pretraga emailova
- `email_send` — slanje
- `email_respond` — reply/forward
- `emails_modify` — mark/flag/archive
- `folders_list` — lista foldera

### mcp__rag__*
- `rag_query` — semantic search (cache + Ollama fallback)
- `rag_learn` — dodavanje Q&A parova
- `rag_stats` — statistike cache-a

### mcp__github__*
- `create_or_update_file`, `create_repository`, `create_branch`
- `get_file_contents`, `list_commits`, `list_branches`
- `create_pull_request`, `merge_pull_request`, `get_pull_request`
- `create_issue`, `list_issues`, `update_issue`, `add_issue_comment`
- `search_repositories`, `search_code`, `search_issues`
- `create_review`, `request_reviewers`

### mcp__slack__*
- `list_channels`, `post_message`, `reply_to_thread`
- `get_channel_history`, `get_thread_replies`
- `search_messages`, `add_reaction`

### mcp__postgres-drop__* / mcp__postgres-plock__*
- `query` — SQL query
- `list_tables` — lista tabela
- `describe_table` — schema tabele

### mcp__fiken__*
- `fiken_status` — API health check
- `fiken_dashboard` — CEO finansijski pregled
- `fiken_invoices_list` — lista faktura
- `fiken_invoices_show` — detalji fakture
- `fiken_invoices_sync` — sync → local DB
- `fiken_contacts_list` — lista kontakata
- `fiken_contacts_show` — detalji kontakta
- `fiken_contacts_sync` — sync → local DB
- `fiken_balances` — bankovni salda
- `fiken_transactions_list` — transakcije (--days N)
- `fiken_reconcile` — auto-match transakcija (--dry-run)

---

## Arhitektura — 3-Tier Model

```
Tier 1: MCP Tools (Claude Code native)
  └── mcp__email__*, mcp__rag__*, mcp__github__*, mcp__slack__*, mcp__postgres-*__*, mcp__fiken__*

Tier 2: CLI Fallback (daemons i agenti bez Claude Code)
  └── mail-native.js, rag-router.js, slack.js, fiken.js

Tier 3: Orchestration Layer
  └── email-mcp-bridge-v2.js, rag-mcp.js, fiken-mcp.js (wrappuju Tier 2)
```

**Pravilo:** MCP u Claude Code sesijama. CLI u daemon/cron/background procesima.

---

## Credentials

| Server | Metod | Lokacija |
|--------|-------|----------|
| email | ENV var u mcp.json | direktno |
| github | ENV var `GITHUB_PERSONAL_ACCESS_TOKEN` | mcp.json |
| slack | ENV var `SLACK_BOT_TOKEN` | mcp.json |
| figma | Vaultwarden injection | figma-mcp-wrapper.sh |
| fiken | Vaultwarden (live fetch) | fiken.js → vault.js |
| postgres | Connection URL | mcp.json args |

---

## MCP Roadmap — Interni Build Plan

**Analiza:** 12 kritičnih business toolsa | **Ukupan effort:** ~10.5h | **Ušteda:** 60+ h/god

### Faza 1 — Foundation (5h, ODMAH)

| MCP Server | Baziran na | Effort | ROI | Zašto first |
|-----------|-----------|--------|-----|-------------|
| **mc-mcp** | mc.js (117K, 200+ ops/week) | 2h | 🔥🔥🔥 | Svaka sesija; task automation backbone |
| **hivemind-mcp** | hivemind.js (10K+ entries, 50+ ops/week) | 2h | 🔥🔥🔥 | Memory = kognitivna osnova; 80% brže |
| **ceo-briefing-mcp** | ceo-briefing.js (1-2x/sesiji) | 1h | 🔥🔥 | Quick win; parameterizable intelligence |

### Faza 2 — Revenue & Ops (5.5h)

| MCP Server | Baziran na | Effort | ROI | Impact |
|-----------|-----------|--------|-----|--------|
| **sales-pipeline-mcp** | sales-pipeline.js + leads.db | 2.5h | 🔥🔥 | Deal updates during client conversations |
| **invoice-mcp** | invoice-generator.js (48K) + invoices.db | 3h | 🔥🔥 | Weekly workflow; VAT logic complexity |
| **contacts-mcp** | contacts.js + contacts.db (100+ kontakata) | 1.5h | 🔥🔥 | Fast CRM search bez CLI spawna |

### Faza 3 — Enablers (opcionalno, inkrement.)

| MCP Server | Effort | Napomena |
|-----------|--------|----------|
| **contract-mcp** | 2h | CRUD + renewal automation |
| **proposal-mcp** | 2.5h | PDF generation za klijente |
| **email-briefing-mcp** | 1h | ZAKON #17 — unification |
| **signing-mcp** | 1.5h | Documenso one-command flow |
| **tenders-mcp** | 2h | On-demand tender search |
| **facts-mcp** | 1h | ZAKON #16 — decision persistence |

### Productivity Impact

| Tool | CLI ops/week | Ušteda/op | Sedmično |
|------|-------------|-----------|---------|
| mc.js | 200+ | 450ms | 25+ min |
| hivemind.js | 50+ | 370ms | 15+ min |
| sales-pipeline.js | 30+ | 410ms | 12 min |
| invoice-generator.js | 20+ | 540ms | 10 min |
| **UKUPNO** | **300+** | — | **~1h/sedmično** |

**Godišnje:** 60+ sati za Alema (30% Claude Code sesija)

### Community Alternativa: NEMA

Nijedan community MCP ne pokriva ALAI-specifičnu integraciju (branding, ZAKON enforcement, decision logging, memory model). Sve custom.

### Što SE NEĆE buildati

| MCP Server | Razlog |
|-----------|--------|
| **bookstack-mcp** | bookstack-sync.js + CLI dovoljan; rijetko se koristi live |
| **sanity-mcp** | Tek kad product CMS dođe u produkciju |
| **vercel-mcp** | Nema official MCP; gh CLI dovoljan |
| **calendar-mcp** | Baikal CalDAV, nizak prioritet |

---

## Community Serveri koji NISU dodani (evaluirani, rejected)

| Server | Razlog odbijanja |
|--------|-----------------|
| `@modelcontextprotocol/server-github` | DEPRECATED — zamijenjen official `github-mcp-server` |
| `@modelcontextprotocol/server-postgres` | DEPRECATED — zamijenjen `postgres-mcp` |
| `@korotovsky/slack-mcp-server` | Nije na npm; `mcp-server-slack` dovoljan |
| Kubernetes MCP | Nema Kubernetes infrastrukture trenutno |
| AWS CloudWatch MCP | Nema AWS deployova trenutno |
| Notion MCP | Ne koristimo Notion |

---

## Fajlovi

- **MCP Config:** `~/.claude/mcp.json`
- **Email MCP:** `~/system/tools/email-mcp-bridge-v2.js`
- **RAG MCP:** `~/system/tools/rag-mcp.js`
- **Fiken MCP:** `~/system/tools/fiken-mcp.js` ← novi
- **Figma wrapper:** `~/system/tools/figma-mcp-wrapper.sh`
- **GitHub binary:** `/opt/homebrew/bin/github-mcp-server` (v0.31.0)