perplexity_searchLABSCO SUMMARY
Splitting search by use case beats one tool with twenty flags.
A model choosing between four named tools makes better decisions than a model filling in a content_type field it half-understands — the academic and financial variants already know what to filter for. The local cache is the other good idea: a long research session can refer back to search three by its id instead of running it again.
What it is
A Go MCP server over Perplexity AI. Rather than one search tool with a pile of optional filters, it splits the surface by use case, so each call arrives with sensible defaults for what you are doing. All four return source URLs, and when a results folder is configured every search is written to disk and can be recalled later by a short id.
What you get
perplexity_search— general web search with real-time information, takingquery,model, domain include and exclude lists, a recency filter, a date range and alocationperplexity_academic_search— filtered to academic sources such as arxiv and pubmed, with asubject_areaparameter and a comprehensive model by defaultperplexity_financial_search— tuned for market data and filings, taking aticker, acompany_nameand areport_typesuch as 10-K or 10-Qperplexity_filtered_search— the full filter set: content type, file type, language, country, date range, citations and images, plus acustom_filtersobjectlist_previous— every past query with its id, search type and timestamp, sorted most recent firstget_previous_result— the complete markdown of an earlier search by its 10-character id- Six functions in total, four search and two cache management
Requirements
A Perplexity API key, supplied as PERPLEXITY_API_KEY. Go 1.23 or later; build from a clone with ./run.sh build and point the client at the compiled binary. PERPLEXITY_DEFAULT_MODEL chooses between the fast model and the comprehensive one, and caching is off until you set PERPLEXITY_RESULTS_ROOT_FOLDER — each result is then stored as result.md alongside a metadata.yaml. Timeout, token limit, temperature and sampling parameters are all environment variables. Note that each search creates a new cached entry, even for an identical query.
Setup effort
Build from source — git clone https://github.com/gomcpgo/perplexity-mcp-server.git
USE CASES
Answering a question about what happened this week
Run a general search with a recency filter and read the answer with its source URLs attached.
Finding papers rather than blog posts
Use the academic variant so results come from journals and preprint servers instead of the open web.
Pulling filings for a company
Search by ticker and report type to get earnings and SEC material rather than commentary about it.
Referring back to an earlier search
List what you have already run and retrieve the full result by its id instead of paying for the query twice.
6 tools
Listed in project docs. Your client may show a different list.
perplexity_academic_searchperplexity_financial_searchperplexity_filtered_searchlist_previousget_previous_resultBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
- Go 1.23 or later, to build it
- 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
Install Go 1.23 or later
git clone https://github.com/gomcpgo/perplexity-mcp-server.git
cd perplexity-mcp-server
./run.sh buildPoint your client at the perplexity binary the build leaves in your clone: in the configuration below, <YOUR_PATH_TO_PERPLEXITY> is its full path.
MCP Clients
Any MCP client
{
"mcpServers": {
"perplexity": {
"command": "<YOUR_PATH_TO_PERPLEXITY>",
"env": {
"PERPLEXITY_API_KEY": "<YOUR_PERPLEXITY_API_KEY>"
}
}
}
}