perplexity-control-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | HTTP port for HTTP transport | 3001 |
| MCP_TRANSPORT | No | Transport mode: 'stdio' or 'http' | stdio |
| PERPLEXITY_API_KEY | Yes | Your Perplexity API key (required) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| agent_createA | Create an agent response using the Perplexity Agent API (POST /v1/agent). Supports multi-step agentic reasoning with web search, URL fetching, and custom function tools. Either model, models, or preset must be provided. |
| sonar_chatA | Chat completions with live web grounding using Perplexity Sonar models (POST /v1/sonar). Supports domain filters, recency filters, and location-aware search. |
| sonar_async_submitA | Submit an asynchronous deep research job (POST /v1/async/sonar). Returns a request_id to poll with sonar_async_get. Ideal for sonar-deep-research model. |
| sonar_async_getA | Get the status or result of an async Sonar job (GET /v1/async/sonar/{request_id}). |
| sonar_async_listA | List all async Sonar jobs (GET /v1/async/sonar). |
| web_searchA | Perform a raw web search returning full page content (POST /search). Returns structured result objects with URL, title, and text content. Supports up to 5 parallel queries, domain filters, date filters, and specialized academic/SEC modes. |
| embeddings_createA | Generate dense vector embeddings for one or more text strings (POST /v1/embeddings). Use for semantic search, similarity comparison, or retrieval-augmented generation (RAG). Returns vectors in base64 format. |
| embeddings_contextualizedA | Generate context-aware embeddings for document chunks (POST /v1/contextualizedembeddings). Unlike standard embeddings, each chunk's vector is influenced by surrounding chunks in the same document, producing better representations for RAG. Input is an array of arrays: each inner array is a document's chunks. |
| api_key_generateA | Generate a new Perplexity API key (POST /generate_auth_token). Returns the new auth_token, creation timestamp, and optional token_name. Note: This uses the PERPLEXITY_API_KEY set in your environment to authenticate. |
| api_key_revokeA | Revoke an existing Perplexity API key (POST /revoke_auth_token). The revoked key will immediately stop working. This action is irreversible. |
| api_key_rotateA | Rotate the current API key: generates a new key, verifies it works by making a test request, then revokes the old key. Returns the new key and rotation status. IMPORTANT: Save the new key immediately — it will not be shown again. |
| estimate_costA | Estimate the USD cost of a request before sending it. Returns a breakdown by input tokens, output tokens, and tool invocations. |
| list_modelsA | List all available Perplexity models with descriptions, context lengths, and current pricing. Prices are in USD per million tokens. |
| health_checkA | Test API connectivity and verify the configured PERPLEXITY_API_KEY is valid and working. Makes a minimal test request to the Sonar API. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Several tools have overlapping functionality: sonar_chat, agent_create, and web_search all involve web-searching capabilities, which could confuse an agent. However, the descriptions clearly delineate their use cases, and the async sonar tools are distinct. Overall, some ambiguity remains but descriptions mitigate it.
Tool names are inconsistent in their verb/noun ordering. Some use verb_noun (list_models, estimate_cost), while others use noun_verb (api_key_generate, web_search, sonar_chat). There are consistent sub-patterns like sonar_async_* and api_key_*, but no unified convention across the set.
14 tools is well within the ideal range for a server covering Perplexity's API surface. Each tool addresses a distinct feature area such as API key management, embeddings, search, async jobs, and cost estimation, without feeling bloated or sparse.
The tool set covers core workflows for search, chat, embeddings, and API key management, but notable gaps exist. There is no way to cancel an async Sonar job, list existing API keys, or list/delete agents. These missing lifecycle operations could cause agent failures in certain management scenarios.