Perplexity Search MCP Server
A Go implementation of a Perplexity Search MCP server that allows large language models (LLMs) to access the Perplexity search API through the Model Context Protocol (MCP).
Features
- perplexity_search: Perform web searches and return results, including citations
- Parameters:
query(string, required): The search querysearch_recency_filter(string, optional): Filter results by time (month,week,day,hour)max_tokens(integer, optional): Maximum number of tokens to returntemperature(number, optional, default: 0.2): Controls randomness in responsetop_p(number, optional, default: 0.9): Nucleus sampling thresholdsearch_domain_filter(array, optional): List of domains to limit search resultsreturn_images(boolean, optional): Include image links in resultsreturn_related_questions(boolean, optional): Include related questionstop_k(number, optional, default: 0): Number of tokens for top-k filteringstream(boolean, optional): Stream response incrementallypresence_penalty(number, optional, default: 0): Adjust likelihood of new topicsfrequency_penalty(number, optional, default: 1): Reduce repetitionweb_search_options(object, optional): Configuration options for web search
- Parameters:
Setup & Usage
Installing via Smithery
To install Perplexity Search Golang for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @chenxilol/perplexity-mcp-go --client claude
Prerequisites
- Go 1.23 or higher
- Perplexity API key
Installation
- Clone the repository:
git clone https://github.com/chenxilol/perplexity-mcp-go.git
cd perplexity-mcp-go
- Build the application:
go build -o perplexity-search-mcp
Running Locally
- Set your Perplexity API key:
export PERPLEXITY_API_KEY="your-api-key-here"
- Run the server:
./perplexity-search-mcp
Integrating with Claude
Copy the provided
claude_desktop_config.jsonto your Claude configuration directory:- Windows:
%USERPROFILE%AppDataRoamingClaudeclaude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
Edit the configuration file to include your API key:
{
"mcpServers": {
"perplexity-search": {
"command": "/path/to/perplexity-search-mcp",
"env": {
"PERPLEXITY_API_KEY": "your-api-key-here"
}
}
}
}
Docker Support
- Build the Docker image:
docker build -t perplexity-search-mcp:latest .
- Run the container:
docker run -i --rm -e PERPLEXITY_API_KEY=your-api-key-here perplexity-search-mcp:latest
Example Usage
Once configured, Claude can use the perplexity_search tool via MCP to perform real-time web searches.
Example search with parameters:
{
"query": "latest AI research developments",
"search_recency_filter": "week",
"temperature": 0.5,
"return_related_questions": true,
"web_search_options": {
"search_context_size": "high"
}
}
Troubleshooting
If you encounter issues:
- Verify your API key is correctly set
- Check network connectivity
- Examine stderr logs for error messages
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Model Context Protocol for the MCP specification
- MCP-Go for the Go MCP implementation
- Perplexity for their search API
Perplexity Search Golang
Project Details
- chenxilol/perplexity-mcp-go
- MIT License
- Last Updated: 3/29/2025
Recomended MCP Servers
Ntropy MCP server
MCP implementation to generate content using models hosted on Replicate
A blog starter project for a NextJS blog using Obsidian as the CMS
Model Context Protocol (MCP) server implementation for ClickUp integration
The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure...
A Model Context Protocol (MCP) server for the Google Programmable Search Engine (PSE) API
MCP Crew AI Server is a lightweight Python-based server designed to run, manage and create CrewAI workflows.
A Message Control Protocol (MCP) server that provides unified access to QuickBooks Time API functionality. Developed with AI...





