Skip to main content
Glama

Perplexity Search MCP

by ArnoChenFx
README.md3.47 kB
# Perplexity Search MCP This is a tool based on the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) that wraps the search functionality of [Perplexity AI](https://www.perplexity.ai/) into a standardized tool that can be called via MCP. This project is built with TypeScript and runs on the [Bun](https://bun.sh/) runtime. ## ✨ Features - Provides the `perplexity_search` tool via MCP. - Supports various parameters for Perplexity search, such as: - `query`: A single or multiple search queries. - `max_results`: Specifies the maximum number of results to return. - `country`: Filters search results by geographic location. - `search_mode`: Supports `web`, `academic`, and `sec` search modes. - Communicates with the host environment via standard input/output (Stdio). ## 🚀 Getting Started ### 1. Prerequisites - Ensure you have [Bun](https://bun.sh/docs/installation) installed. - You will need an API key from Perplexity AI. ### 2. Installation After cloning the project, run the following command in the root directory to install the required dependencies: ```bash bun install ``` ### 3. Configuration This server requires the `PERPLEXITY_API_KEY` environment variable to be set. ### 4. Running the Server (Development) To run the server directly from the TypeScript source for development, execute the following command: ```bash bun run index.ts ``` The server will start and listen for MCP messages on standard I/O. ### 5. Building the Project You can also build the project into a single, optimized JavaScript file. ```bash bun run build ``` This command compiles `index.ts` and places the output in `out/perplexity-search-mcp.js`. After building, you can run the compiled file directly: ```bash bun out/perplexity-search-mcp.js or node out/perplexity-search-mcp.js ``` ## 🛠️ Tool Definition ### `perplexity_search` **Description**: Get ranked search results from Perplexity’s continuously refreshed index with advanced filtering and customization options. **Input Parameters**: | Parameter | Type | Description | Default | | --------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------- | -------- | | `query` | `string` or `string[]` | The search query or queries to execute. | Required | | `max_results` | `number` | The maximum number of search results to return (max 20). | `10` | | `country` | `string` | Country code to filter results by geographic location (e.g., 'US', 'GB', 'DE'). | Optional | | `max_tokens_per_page` | `number` | Controls the maximum number of tokens retrieved from each webpage. Higher values provide more comprehensive content but may increase processing time. | `2048` | | `search_mode` | `string` | The search mode. Can be `web`, `academic`, or `sec`. | `web` | **Output**: The tool returns a JSON string containing an array of search results from the Perplexity API.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ArnoChenFx/perplexity-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server