====== Perplexity MCP Zerver ====== Perplexity MCP Zerver je MCP server, který umožňuje AI nástrojům (jako Claude, Cursor nebo OpenCode) prohledávat web prostřednictvím Perplexity – bez nutnosti API klíče. Místo toho využívá browserovou automatizaci a napojuje se přímo na existující předplatné Perplexity Pro. ===== Dostupné nástroje ===== Server poskytuje tyto nástroje: * ''search'' – vyhledání informací na webu s konfigurovatelnou hloubkou * ''get_documentation'' – načtení technické dokumentace s příklady * ''find_apis'' – zjištění dostupných API pro daný účel * ''check_deprecated_code'' – analýza kódových fragmentů na zastaralé vzory * ''extract_url_content'' – extrakce obsahu z URL (včetně GitHub repozitářů) * ''chat_perplexity'' – konverzace s persistentní historií uloženou v SQLite ===== Instalace ===== Je potřeba mít nainstalovaný runtime [[https://bun.sh|Bun]] a Node.js 18+. git clone https://github.com/wysh3/perplexity-mcp-zerver.git cd perplexity-mcp-zerver bun install bun run build ==== Bun v PATH ==== Pokud má být možné spouštět Bun zkráceně jako ''bun'', přidej do ''.bashrc'': export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH" Potom načti konfiguraci shellu: source ~/.bashrc Pozor: ''.bashrc'' se běžně načítá jen pro interaktivní Bash shell. MCP klient nebo služba nemusí tuto konfiguraci zdědit. Pro stabilní konfiguraci MCP serveru je proto bezpečnější používat absolutní cestu k Bunu, například ''/home/aiwork/.bun/bin/bun'', nebo nastavit ''PATH'' přímo v prostředí daného MCP klienta. ==== Alpine Linux / ARM64 ==== Na Alpine Linuxu na ARM64 (''aarch64'') může Puppeteer stáhnout nebo použít nekompatibilní Chrome for Testing binárku. Typický projev je chyba: ENOEXEC: unknown error, posix_spawn '/home/aiwork/.cache/puppeteer/chrome/linux_arm-.../chrome-linux64/chrome' Příčina je, že runtime běží na ''aarch64'', ale cached Chrome binárka je ''x86-64''. Operační systém ji proto odmítne spustit jako neplatný formát binárky. Best practice na Alpine je nepoužívat ručně stažený Chrome for Testing zip, ale nainstalovat systémový Chromium z repozitáře ''community'': apk add --no-cache chromium Balíček poskytuje zejména: * ''/usr/bin/chromium'' * ''/usr/bin/chromium-browser'' * ''/usr/lib/chromium/chrome'' Do konfigurace MCP serveru pak nastav cestu k systémovému Chromium přes ''PUPPETEER_EXECUTABLE_PATH''. V OpenCode konfiguraci to může vypadat například takto: "perplexity": { "type": "local", "command": [ "bun", "/home/aiwork/tools/perplexity-mcp-zerver/build/main.js" ], "environment": { "PUPPETEER_EXECUTABLE_PATH": "/usr/bin/chromium" }, "timeout": 360000, "enabled": true } Alternativně lze použít menší balíček ''chromium-headless-shell'': apk add --no-cache chromium-headless-shell Pak je potřeba nastavit: PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-headless-shell Pro Perplexity MCP Zerver je ale bezpečnější začít běžným balíčkem ''chromium'', protože Puppeteer standardně očekává plný Chrome/Chromium a kompatibilita bývá lepší. Po nastavení ''PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium'' a restartu OpenCode bylo ověřeno, že ''perplexity_search'' i ''extract_url_content'' fungují a původní Puppeteer cache s x86-64 Chrome se už nepoužívá. ===== Konfigurace ===== Do konfiguračního souboru MCP klienta se přidá: { "mcpServers": { "perplexity-server": { "command": "bun", "args": ["/absolutní/cesta/k/build/main.js"], "timeout": 300 } } } Timeout jsem v konfiguraci nenastavoval, ale protože Perplexity může odpovídat pomaleji, doporučuji nastavit ho na vyšší hodnotu, než je výchozí v daném MCP klientovi. Hodnota 300 sekund z README je dobrý základ. ===== Přihlášení a Pro předplatné ===== Aby server mohl využívat Perplexity Pro předplatné – s přístupem k lepším modelům a vyššími limity – je nutné provést jednorázové přihlášení: bun run login Příkaz otevře okno prohlížeče. Doporučuje se přihlásit e-mailem, přihlášení přes Google/SSO může být méně spolehlivé. Po přihlášení se relace uloží do složky ''~/.perplexity-mcp'' v domovském adresáři. ==== Přihlášení při použití Dockeru ==== Pokud AI nástroj běží v Dockeru a přímé přihlášení uvnitř kontejneru není možné, lze se přihlásit na hostitelském systému a session data pak do kontejneru překopírovat: - Na hostu spustit přihlášení: ''bun run login'' - Po úspěšném přihlášení zkopírovat složku ''.perplexity-mcp'' z domovského adresáře hostitele do domovského adresáře uvnitř kontejneru. Server si session při startu načte automaticky. ===== Alternativní MCP servery s Perplexity API ===== Následující servery na rozdíl od Perplexity MCP Zerveru nevyužívají browserovou automatizaci, ale připojují se přímo k Perplexity API přes API klíč. Některé z nich podporují i hluboký výzkum (deep research). ==== Oficiální Perplexity MCP server ==== [[https://github.com/perplexityai/modelcontextprotocol|perplexityai/modelcontextprotocol]] je oficiální implementace od Perplexity AI. Poskytuje čtyři nástroje: * ''perplexity_search'' – přímé vyhledávání přes Perplexity Search API * ''perplexity_ask'' – konverzační AI s web searchem (model sonar-pro) * ''perplexity_research'' – hluboký výzkum (model sonar-deep-research) * ''perplexity_reason'' – pokročilé logické uvažování (model sonar-reasoning-pro) Instalace přes npx bez nutnosti klonovat repozitář. Konfigurace v Claude Code: claude mcp add perplexity --env PERPLEXITY_API_KEY="váš_klíč" -- npx -y @perplexity-ai/mcp-server Vyžaduje proměnnou prostředí ''PERPLEXITY_API_KEY''. Volitelný parametr ''strip_thinking'' u nástrojů ''perplexity_research'' a ''perplexity_reason'' odstraní z odpovědi '''' tagy a ušetří tokeny. ==== perplexity-mcp (jsonallen) ==== [[https://github.com/jsonallen/perplexity-mcp|jsonallen/perplexity-mcp]] je jednoduchý Python server s jedním nástrojem ''perplexity_search_web''. Volitelný parametr ''recency'' umožňuje omezit výsledky na den, týden, měsíc nebo rok. Výběrem modelu ''sonar-deep-research'' přes proměnnou ''PERPLEXITY_MODEL'' server podporuje hluboký výzkum. Instalace přes Smithery: npx -y @smithery/cli install perplexity-mcp --client claude Vyžaduje proměnné prostředí ''PERPLEXITY_API_KEY'' a volitelně ''PERPLEXITY_MODEL'' (výchozí: ''sonar''). ==== perplexity-mcp-server (cyanheads) ==== [[https://github.com/cyanheads/perplexity-mcp-server|cyanheads/perplexity-mcp-server]] je Node.js server se dvěma nástroji: * ''perplexity_search'' – rychlé vyhledávání s filtrováním podle recency, domény nebo akademických zdrojů * ''perplexity_deep_research'' – hluboký výzkum s nastavitelnou úrovní úsilí (''low'', ''medium'', ''high'') Deep research může trvat déle; doporučený timeout je 180 sekund. Server odhaduje i náklady volání API na základě spotřebovaných tokenů. Instalace: git clone https://github.com/cyanheads/perplexity-mcp-server.git npm install npm run build Vyžaduje proměnnou prostředí ''PERPLEXITY_API_KEY''. ===== Zdroje ===== * [[https://github.com/wysh3/perplexity-mcp-zerver|perplexity-mcp-zerver na GitHubu]] * [[https://github.com/perplexityai/modelcontextprotocol|Oficiální Perplexity MCP server na GitHubu]] * [[https://github.com/jsonallen/perplexity-mcp|jsonallen/perplexity-mcp na GitHubu]] * [[https://github.com/cyanheads/perplexity-mcp-server|cyanheads/perplexity-mcp-server na GitHubu]]