Perplexity AI MCP Server
Servidor MCP de Perplexity AI
Este repositorio contiene el código fuente de un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a la API de Perplexity AI. Este servidor permite a los usuarios interactuar con Perplexity AI mediante diversas herramientas, como chatear, buscar y acceder a documentación.
Objetivo
Este servidor simplifica la integración de Perplexity AI en sistemas basados en MCP. Ofrece un acceso cómodo y estandarizado a sus capacidades.
Related MCP server: perplexity-mcp-server
Configuración
Instalar Node.js y npm: asegúrese de tener Node.js y npm instalados en su sistema.
Clonar el repositorio: clona este repositorio en tu máquina local.
Instalar dependencias: navegue al directorio del proyecto y ejecute
npm install.Configurar la clave API: establezca la variable de entorno
PERPLEXITY_API_KEYen su clave API de Perplexity.Ejecutar el servidor: ejecute
npm startpara iniciar el servidor.
Uso
El servidor expone varias herramientas accesibles a través del sistema MCP. Consulte la documentación de MCP para obtener más información sobre cómo usar estas herramientas.
Tecnologías utilizadas
Mecanografiado
@modelcontextprotocol/sdk
axios
Problemas conocidos
La API de Perplexity puede ser poco fiable. Se incluye gestión de errores para gestionar eficazmente los fallos de la API.
Contribuyendo
¡Agradecemos sus contribuciones! Abra un problema o envíe una solicitud de incorporación de cambios.
Available Tools
5 toolschat_perplexityB
Maintains ongoing conversations with Perplexity AI. Creates new chats or continues existing ones with full history context.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The message to send to Perplexity AI | |
| chat_id | No | Optional: ID of an existing chat to continue. If not provided, a new chat will be created. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'maintains ongoing conversations' and 'full history context', which implies statefulness and persistence, but doesn't disclose critical behavioral traits such as authentication requirements, rate limits, conversation length limits, whether it's read-only or mutative, error handling, or what happens when chat_id is invalid. The description adds some context but leaves significant gaps for a tool that likely involves API calls and state management.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two concise sentences that are front-loaded with the main purpose. Every sentence earns its place: the first establishes the core functionality, and the second clarifies the chat creation/continuation behavior. There's no wasted verbiage or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (managing conversational state with an external AI service), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., AI response format, chat_id for new chats), error conditions, authentication needs, or operational constraints. For a stateful chat tool with external dependencies, this minimal description leaves too many unknowns for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't explicitly mention or explain any parameters. However, with 100% schema description coverage, the input schema already provides clear documentation for both parameters (message and chat_id). The description's mention of 'creates new chats or continues existing ones' aligns with the chat_id parameter's semantics, but adds no additional meaning beyond what the schema already states. This meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('maintains', 'creates', 'continues') and resources ('ongoing conversations with Perplexity AI', 'new chats', 'existing ones'). It distinguishes from siblings by focusing on conversational AI interactions rather than code analysis, API discovery, documentation retrieval, or general search. However, it doesn't explicitly differentiate from potential sibling tools that might also involve chat interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context for maintaining conversations with Perplexity AI, but provides no explicit guidance on when to use this tool versus the sibling tools (check_deprecated_code, find_apis, get_documentation, search). It mentions the ability to create new chats or continue existing ones, which gives some implied usage scenarios, but lacks clear when/when-not instructions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_deprecated_codeC
Check if code or dependencies might be using deprecated features
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code snippet or dependency to check | |
| technology | No | The technology or framework context (e.g., 'React', 'Node.js') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks for deprecated features but doesn't describe how it performs this check, what the output looks like, any limitations (e.g., accuracy, supported technologies beyond examples), or potential impacts (e.g., if it modifies code). This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, though it could be slightly more structured (e.g., by including usage hints) to earn a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of checking deprecated code (which involves analysis and potential output interpretation), the description is incomplete. No annotations exist to provide behavioral context, and there's no output schema to explain return values. The description alone lacks details on how results are presented, accuracy, or scope, making it inadequate for full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('code' and 'technology') with examples. The description adds no additional meaning beyond this, such as explaining parameter interactions or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Check') and resource ('code or dependencies'), and identifies what it checks for ('deprecated features'). However, it doesn't explicitly differentiate from sibling tools like 'find_apis' or 'get_documentation', which might also relate to code analysis, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any specific contexts, prerequisites, or exclusions, nor does it reference sibling tools like 'search' or 'find_apis' for related tasks, leaving usage entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_apisC
Find and evaluate APIs that could be integrated into a project
| Name | Required | Description | Default |
|---|---|---|---|
| requirement | Yes | The functionality or requirement you're looking to fulfill | |
| context | No | Additional context about the project or specific needs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds and evaluates APIs but doesn't explain how it does this (e.g., search methods, sources, criteria), what the output looks like, or any limitations like rate limits or authentication needs. This leaves significant gaps for an agent to understand its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core function, though it could be slightly more structured by separating finding from evaluating aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (finding and evaluating APIs), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral traits, output format, or integration specifics, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with parameters 'requirement' and 'context' clearly documented. The description adds no additional meaning beyond what the schema provides, such as examples or usage context for the parameters. Since schema coverage is high, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Find and evaluate APIs that could be integrated into a project', which includes a specific verb ('find and evaluate') and resource ('APIs'). It distinguishes itself from siblings like 'search' by specifying API evaluation for integration, though it doesn't explicitly contrast with other tools like 'get_documentation'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose it over sibling tools like 'search' for general queries or 'get_documentation' for API details, nor does it specify prerequisites or exclusions for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentationB
Get documentation and usage examples for a specific technology, library, or API
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The technology, library, or API to get documentation for | |
| context | No | Additional context or specific aspects to focus on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves documentation and examples but doesn't describe how it works (e.g., sources, format, limitations, rate limits, or error handling). For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It states the purpose but lacks details on behavior, usage context, and output format, which are needed for full understanding without annotations or output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('query' and 'context') with clear descriptions. The description adds no additional meaning beyond what the schema provides, such as examples or constraints, but doesn't need to compensate for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get documentation and usage examples for a specific technology, library, or API.' It specifies the verb ('Get') and resource ('documentation and usage examples'), but doesn't explicitly differentiate from sibling tools like 'find_apis' or 'search', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_apis' or 'search', nor does it specify prerequisites, exclusions, or contextual triggers for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchC
Perform a general search query to get comprehensive information on any topic
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query or question | |
| detail_level | No | Optional: Desired level of detail (brief, normal, detailed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'comprehensive information' but does not specify what that entails (e.g., format, sources, pagination, rate limits, or permissions). This is a significant gap for a search tool with no structured safety or operational hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that is front-loaded with the core purpose. However, it could be more structured by explicitly mentioning the parameters or usage context, but it avoids unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It does not explain what the tool returns (e.g., results format, limitations) or behavioral traits like error handling. This leaves critical gaps for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('query' and 'detail_level') with descriptions and an enum. The description adds no additional meaning beyond what the schema provides, such as examples or context for the 'detail_level' options. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'perform[s] a general search query to get comprehensive information on any topic', which provides a clear verb ('perform') and resource ('search query'), but it is vague about what type of information or sources are searched. It does not distinguish from siblings like 'find_apis' or 'get_documentation', leaving ambiguity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives such as 'chat_perplexity' or 'find_apis'. It implies a broad context ('any topic') but lacks explicit when/when-not instructions or prerequisites, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes: chat_perplexity handles conversational AI, check_deprecated_code analyzes code deprecation, find_apis discovers APIs, get_documentation retrieves docs, and search performs general queries. However, get_documentation and search could overlap slightly when users seek technical information, but descriptions clarify their focus.
Naming is mixed: chat_perplexity uses a verb_noun format, while check_deprecated_code, find_apis, get_documentation, and search use verb-based phrases without a consistent pattern. All names are snake_case, providing some readability, but the verb styles vary (e.g., 'chat' vs. 'check' vs. 'find'), lacking a unified convention.
With 5 tools, the count is reasonable for a server focused on AI assistance and information retrieval. It covers key areas like conversation, code analysis, API discovery, documentation, and general search, though it might feel slightly thin for broader AI tasks, but each tool earns its place.
The server targets AI-driven information and code assistance, with tools for chat, code checks, API finding, documentation, and search. Notable gaps include lack of update/delete operations for chats or saved searches, and no tool for summarizing or analyzing search results, which could limit agent workflows in this domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Let AI agents query data and act across all your business apps via MCP.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that provides intelligent access to Perplexity AI's search and reasoning models with automatic model selection, conversation management, and project-aware storage. Supports real-time search, deep research, chat sessions, and async operations for complex queries.293MIT
- FlicenseBqualityDmaintenanceEnables interaction with Perplexity AI through MCP tools for chatting, searching, and retrieving documentation.51
- AlicenseBqualityAmaintenanceEnables AI agents and users to query Perplexity AI's premium models (GPT-5.4, Claude 4.6 Opus, Gemini 3.1 Pro, etc.) via MCP tools, CLI, or API, with support for deep research, model council, and multi-turn conversations.30180MIT
- AlicenseNot gradedqualityDmaintenanceProvides a standardized interface for interacting with Perplexity's tools and services through a unified API, following the MCP specification.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rileyedwards77/perplexity-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server