Main features
- Cited answers built from live web search results
- Answers rendered as inline components such as images, grids and headings
- Quick mode, and Adaptive mode for multi-step research
- SearXNG, Tavily, Brave and Exa as search backends
- Reads web pages and PDFs it finds or that you link
- Chat history and shareable result links
- File upload with S3-compatible storage
- Built-in accounts with invitations, an admin page and OIDC login
- Guest mode for anonymous visitors
What Morphic does
Morphic is a search engine that answers in prose. You ask a question, a language model decides what to search, reads the pages it finds and writes an answer with citations. The answer is not limited to Markdown: the model streams a layout that Morphic renders into image strips, grids and headings, with credits on every image. Quick mode returns a fast answer, while Adaptive mode runs several rounds of searching and reading for harder questions. Results get their own URL, so you can share them, and the app suggests related questions to follow up.
It is built for research-style questions. The documentation describes no MCP support, code execution or image generation, so it does not replace a general assistant.
Models and providers
Morphic detects the providers you have configured and shows a model selector. It supports OpenAI, Anthropic, Google Gemini and the Vercel AI Gateway, plus any OpenAI-compatible endpoint, which covers services such as DeepSeek and servers you run yourself like LocalAI or llama.cpp. Ollama has its own setting, and its installed models appear automatically. The research agents depend on tool calling, so the model you pick must support it; the docs suggest restricting the selector to tool-capable models.
Privacy and data
Morphic’s privacy document is more thorough than most. It states that a self-hosted instance never reports to the project, and it lists every outside service the app can contact, with the default for each. The AI provider receives the full conversation, search results and attachments. The search provider receives the queries the model writes, which can repeat your wording, so the bundled SearXNG keeps that step on your server. Product analytics (PostHog), LLM tracing (Langfuse) and Vercel Analytics are all off by default. Two calls are on by default: a daily update check against GitHub’s releases API, and server-side favicon fetching from Google’s icon service, which learns which sites your answers cite. Both can be switched off. The document ends with the settings for a fully local setup with Ollama and SearXNG.
Chats live in PostgreSQL. Uploaded files go to an R2 or S3-compatible bucket you configure.
Self-hosting Morphic
The supported route is Docker Compose with the prebuilt image. It starts PostgreSQL 17, Redis, SearXNG and the app, so the only thing you must add is a model provider key or an Ollama address. File upload stays off until you connect object storage.
The Docker default is anonymous mode, in which everyone shares one user ID; the docs describe it as for personal use only. For several users, switch to the built-in Better Auth accounts. The first account becomes the admin, sign-up can be limited to invitations, and generic OIDC connects Keycloak, Authentik, Okta or Azure AD. The docs call this provider new, with basic rate limiting, and recommend a reverse proxy with HTTPS. Login cookies require HTTPS, so plain-HTTP access over a LAN will not keep you signed in. Supabase authentication is also available but needs a build from source.
Hosted version
The developer runs a public instance at morphic.sh with a fixed set of models.
Limitations
Morphic does one job: cited answers from the web. The answers are only as good as the search backend and the model, and models without tool calling will not work. Anonymous mode offers no access control, so do not expose a default install to the internet.
Who it suits
Morphic suits people and teams who want a Perplexity-style search page on their own server, with real user accounts and a clear account of what leaves the server. For a lighter single-user option, compare it with Vane; the Perplexity alternatives page covers both.
Technical details
Self-hosting needs
- PostgreSQL
- Redis
- SearXNG
Built with
- TypeScript
- Next.js
- React
GitHub topics
- generative-ai
- generative-ui
- nextjs
- ollama
- react
- searxng
- shadcn-ui
- tailwindcss
- tavily
- typescript
- upstash
- vercel-ai-sdk
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.