searchLABSCO SUMMARY
An agent can do web research without you choosing a model each time.
It reads the query and picks between quick lookup, general search, reasoning and deep research, and it tells you which it used and why. The filters you set once — this domain only, this week only — stay on for the searches that follow.
What it is
A front end for the Perplexity API. It picks a Sonar model from the wording of the query, keeps domain and recency filters between calls, and exposes the search, agent and embedding endpoints as separate tools.
What you get
- A synthesised answer with cited sources, the model chosen from the query and overridable by hand
- Ranked web results with no model in the loop, for URL discovery and source lists
- Academic and SEC search modes, publication and last-updated date windows, and language restrictions
- Long research submitted as a job and polled, for work that outruns a synchronous call
- A domain allowlist or blocklist and a recency window that persist across later searches, plus calls to read and clear them
- An agentic loop with built-in web search and URL fetch, and text embeddings, through the same server
Requirements
Node.js v20 or higher, a Perplexity API key, and a local build — clone, npm install, npm run build, then point your client at build/index.js. Calls are billed by Perplexity at its own rates.
Setup effort
Build from source — git clone https://github.com/RossH121/perplexity-mcp.git
USE CASES
Getting a current answer with somewhere to check it
Ask the question in plain words; the answer comes back synthesised with citations, and how much web context to pull is a parameter rather than a separate decision.
Collecting sources without paying for prose
Take the ranked results directly, with no model synthesising over them — faster and cheaper when what you want is a list of URLs.
Keeping a literature search inside the journals
Restrict results to the domains you trust and to a recent window, then search — the filters hold for everything that follows until you change them.
Running research that takes longer than a chat turn
Submit the question as a job, get an id back, and poll it later instead of holding a synchronous call open.
Working out why an answer came back the way it did
Read which model is selected and which filters are currently active, so a surprising result has an explanation rather than a shrug.
Starting a fresh line of research
Clear the domain and recency filters in one call so the last topic's constraints do not silently shape the next one.
10 tools
Listed in project docs. Your client may show a different list.
raw_searchasync_researchagentembeddingsdomain_filterrecency_filterclear_filterslist_filtersmodel_infoBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- Node.js v20 or later
- PERPLEXITY_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/RossH121/perplexity-mcp.git
cd perplexity-mcp
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"perplexity-server": {
"command": "node",
"args": [
"<YOUR_PATH_TO_PERPLEXITY_MCP>/build/index.js"
],
"env": {
"PERPLEXITY_API_KEY": "<YOUR_PERPLEXITY_API_KEY>",
"PERPLEXITY_MODEL": "sonar-pro"
}
}
}
}