====== 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]]