Perplexity Search

by chenxilol

4 stars
Not rated
GitHub

About

Integrates with Perplexity AI search API to enable real-time web searches with customizable parameters for recency filtering, domain-specific queries, and citation support.

Details

Author
chenxilol
Repository
chenxilol/perplexity-mcp-go
GitHub stars
4
License
MIT License
Categories
Search, Other, AI, Design, Developer Tools, Frontend, Infrastructure, Knowledge Base
Tags
#web

- perplexity_search: Perform web searches and return results, including citations
- Parameters:
- query (string, required): The search query
- search_recency_filter (string, optional): Filter results by time (month, week, day, hour)
- max_tokens (integer, optional): Maximum number of tokens to return
- temperature (number, optional, default: 0.2): Controls randomness in response
- top_p (number, optional, default: 0.9): Nucleus sampling threshold
- search_domain_filter (array, optional): List of domains to limit search results
- return_images (boolean, optional): Include image links in results
- return_related_questions (boolean, optional): Include related questions
- top_k (number, optional, default: 0): Number of tokens for top-k filtering
- stream (boolean, optional): Stream response incrementally
- presence_penalty (number, optional, default: 0): Adjust likelihood of new topics
- frequency_penalty (number, optional, default: 1): Reduce repetition
- web_search_options (object, optional): Configuration options for web search

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Perplexity Search
    Command (node, npx, python, etc.) /path/to/perplexity-search-mcp
    Environment
    • PERPLEXITY_API_KEY your-api-key-here

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Clone the repository:

git clone https://github.com/chenxilol/perplexity-mcp-go.git
cd perplexity-mcp-go

2. Build the application:

go build -o perplexity-search-mcp

To install Perplexity Search Golang for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @chenxilol/perplexity-mcp-go --client claude

1. Set your Perplexity API key:

export PERPLEXITY_API_KEY="your-api-key-here"

2. Run the server:

./perplexity-search-mcp

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"
}
}

perplexity_search

Perform web searches and return results, including citations. Parameters: query (string, required), search_recency_filter (string, optional), max_tokens (integer, optional), temperature (number, optional, default: 0.2), top_p (number, optional, default: 0.9), search_domain_filter (array, optional), return_images (boolean, optional), return_related_questions (boolean, optional), top_k (number, optional, default: 0), stream (boolean, optional), presence_penalty (number, optional, default: 0), frequency_penalty (number, optional, default: 1), web_search_options (object, optional).

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "perplexity search": {
            "env": {
                "PERPLEXITY_API_KEY": "your-api-key-here"
            },
            "args": [],
            "command": "/path/to/perplexity-search-mcp"
        }
    }
}

Linux

{
    "env": {
        "PERPLEXITY_API_KEY": "your-api-key-here"
    },
    "args": [],
    "command": "/path/to/perplexity-search-mcp"
}

Macos

{
    "env": {
        "PERPLEXITY_API_KEY": "your-api-key-here"
    },
    "args": [],
    "command": "/path/to/perplexity-search-mcp"
}

Windows

{
    "env": {
        "PERPLEXITY_API_KEY": "your-api-key-here"
    },
    "args": [],
    "command": "/path/to/perplexity-search-mcp"
}

Perplexity Search MCP Server

License: MIT

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 query
- search_recency_filter (string, optional): Filter results by time (month, week, day, hour)
- max_tokens (integer, optional): Maximum number of tokens to return
- temperature (number, optional, default: 0.2): Controls randomness in response
- top_p (number, optional, default: 0.9): Nucleus sampling threshold
- search_domain_filter (array, optional): List of domains to limit search results
- return_images (boolean, optional): Include image links in results
- return_related_questions (boolean, optional): Include related questions
- top_k (number, optional, default: 0): Number of tokens for top-k filtering
- stream (boolean, optional): Stream response incrementally
- presence_penalty (number, optional, default: 0): Adjust likelihood of new topics
- frequency_penalty (number, optional, default: 1): Reduce repetition
- web_search_options (object, optional): Configuration options for web search

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

1. Clone the repository:

git clone https://github.com/chenxilol/perplexity-mcp-go.git
cd perplexity-mcp-go

2. Build the application:

go build -o perplexity-search-mcp

Running Locally

1. Set your Perplexity API key:

export PERPLEXITY_API_KEY="your-api-key-here"

2. Run the server:

./perplexity-search-mcp

Integrating with Claude

1. Copy the provided claude_desktop_config.json to your Claude configuration directory:
- Windows: %USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json

2. 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

1. Build the Docker image:

docker build -t perplexity-search-mcp:latest .

2. 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:
1. Verify your API key is correctly set
2. Check network connectivity
3. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.