Skip to main content
Glama
perplexityai

Perplexity API Platform MCP Server

by perplexityai

Perplexity API 플랫폼 MCP 서버

Install in Cursor

Install in VS Code

Add to Kiro

npm version

Perplexity API 플랫폼을 위한 공식 MCP 서버 구현으로, Sonar 모델과 Search API를 통해 AI 어시스턴트에게 실시간 웹 검색, 추론 및 조사 기능을 제공합니다.

사용 가능한 도구

perplexity_search

Perplexity Search API를 사용한 직접 웹 검색입니다. 메타데이터와 함께 순위가 매겨진 검색 결과를 반환하며, 최신 정보를 찾는 데 적합합니다.

perplexity_ask

sonar-pro 모델을 사용하여 실시간 웹 검색을 수행하는 범용 대화형 AI입니다. 빠른 질문과 일상적인 검색에 유용합니다.

perplexity_research

sonar-deep-research 모델을 사용한 심층적이고 포괄적인 조사입니다. 철저한 분석과 상세한 보고서 작성에 이상적입니다.

perplexity_reason

sonar-reasoning-pro 모델을 사용한 고급 추론 및 문제 해결입니다. 복잡한 분석 작업에 적합합니다.

[!TIP] perplexity_reason 및 perplexity_research에서 선택적 매개변수로 사용 가능: strip_thinking

true로 설정하면 응답에서 <think>...</think> 태그를 제거하여 컨텍스트 토큰을 절약합니다. 기본값: false

Related MCP server: Perplexity Web-Search MCP

구성

API 키 가져오기

  1. API 포털에서 Perplexity API 키를 받으세요.

  2. 아래 구성에서 your_key_here를 본인의 API 키로 교체하세요.

  3. (선택 사항) 타임아웃 설정: PERPLEXITY_TIMEOUT_MS=600000 (기본값: 5분)

  4. (선택 사항) 사용자 지정 기본 URL 설정: PERPLEXITY_BASE_URL=https://your-custom-url.com (기본값: https://api.perplexity.ai)

  5. (선택 사항) 로그 레벨 설정: PERPLEXITY_LOG_LEVEL=DEBUG|INFO|WARN|ERROR (기본값: ERROR)

Claude Code

claude mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" -- npx -y @perplexity-ai/mcp-server

또는 플러그인을 통해 설치:

export PERPLEXITY_API_KEY="your_key_here"
claude
# Then run: /plugin marketplace add perplexityai/modelcontextprotocol
# Then run: /plugin install perplexity

Codex

codex mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" -- npx -y @perplexity-ai/mcp-server

Cursor, Claude Desktop, Kiro, Windsurf 및 VS Code

대부분의 클라이언트는 클라이언트 구성에서 동일한 mcpServers 래퍼를 사용하여 수동으로 구성할 수 있습니다(Cursor의 예시 참조). 클라이언트의 스키마가 다른 경우, 해당 문서에서 정확한 래퍼 형식을 확인하세요.

수동 설정을 위해 이러한 클라이언트는 모두 동일한 mcpServers 구조를 사용합니다:

클라이언트

구성 파일

Cursor

~/.cursor/mcp.json

Claude Desktop

claude_desktop_config.json

Kiro

.kiro/settings/mcp.json

Windsurf

~/.codeium/windsurf/mcp_config.json

VS Code

.vscode/mcp.json

{
  "mcpServers": {
    "perplexity": {
      "command": "npx",
      "args": ["-y", "@perplexity-ai/mcp-server"],
      "env": {
        "PERPLEXITY_API_KEY": "your_key_here"
      }
    }
  }
}

프록시 설정 (기업 네트워크용)

회사 방화벽이나 프록시 뒤에서 이 서버를 실행하는 경우, 네트워크 프록시를 통해 인터넷 트래픽을 보내도록 프로그램에 알려야 할 수 있습니다. 다음 단계를 따르세요:

1. 프록시 세부 정보 확인

  • IT 부서에 HTTPS 프록시 주소와 포트를 문의하세요.

  • 사용자 이름과 비밀번호가 필요할 수도 있습니다.

2. 프록시 환경 변수 설정

Perplexity MCP를 위한 가장 쉽고 안정적인 방법은 PERPLEXITY_PROXY를 사용하는 것입니다. 예:

export PERPLEXITY_PROXY=https://your-proxy-host:8080

프록시에 사용자 이름과 비밀번호가 필요한 경우:

export PERPLEXITY_PROXY=https://username:password@your-proxy-host:8080

3. 대안: 표준 환경 변수

표준 변수를 사용하려면 HTTPS_PROXY 및 HTTP_PROXY를 지원합니다.

[!NOTE] 서버는 PERPLEXITY_PROXY → HTTPS_PROXY → HTTP_PROXY 순서로 프록시 설정을 확인합니다. 설정된 값이 없으면 인터넷에 직접 연결합니다. URL에는 https://가 포함되어야 합니다. 일반적인 포트는 8080, 3128, 80입니다.

HTTP 서버 배포

클라우드 또는 공유 배포의 경우, 서버를 HTTP 모드로 실행하세요.

환경 변수

변수

설명

기본값

PERPLEXITY_API_KEY

Perplexity API 키

필수

PERPLEXITY_BASE_URL

API 요청을 위한 사용자 지정 기본 URL

https://api.perplexity.ai

PORT

HTTP 서버 포트

8080

BIND_ADDRESS

바인딩할 네트워크 인터페이스

0.0.0.0

ALLOWED_ORIGINS

CORS 오리진 (쉼표로 구분)

*

Docker

docker build -t perplexity-mcp-server .
docker run -p 8080:8080 -e PERPLEXITY_API_KEY=your_key_here perplexity-mcp-server

Node.js

export PERPLEXITY_API_KEY=your_key_here
npm install && npm run build && npm run start:http

서버는 http://localhost:8080/mcp에서 액세스할 수 있습니다.

문제 해결

  • API 키 문제: PERPLEXITY_API_KEY가 올바르게 설정되었는지 확인하세요.

  • 연결 오류: 인터넷 연결 및 API 키 유효성을 확인하세요.

  • 도구를 찾을 수 없음: 패키지가 설치되어 있고 명령 경로가 올바른지 확인하세요.

  • 타임아웃 오류: 매우 긴 조사 쿼리의 경우 PERPLEXITY_TIMEOUT_MS를 더 높은 값으로 설정하세요.

  • 프록시 문제: PERPLEXITY_PROXY 또는 HTTPS_PROXY 설정을 확인하고 api.perplexity.ai가 방화벽에 의해 차단되지 않았는지 확인하세요.

  • EOF / 초기화 오류: 일부 엄격한 MCP 클라이언트는 npx가 설치 메시지를 stdout에 쓰기 때문에 실패합니다. 이 출력을 억제하려면 npx -y 대신 npx -yq를 사용하세요.

지원이 필요하면 community.perplexity.ai를 방문하거나 이슈를 제기하세요.


Available Tools

4 tools
perplexity_askAsk PerplexityB
Read-only

Engages in a conversation using the Sonar API. Accepts an array of messages (each with a role and content) and returns a chat completion response from the Perplexity model.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of conversation messages

Output Schema

ParametersJSON Schema
NameRequiredDescription
responseYesThe response from Perplexity

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and openWorldHint=true, which the description doesn't contradict. The description adds that it 'engages in a conversation' and uses the 'Sonar API', providing some context beyond annotations, but lacks details on rate limits, authentication needs, or specific behavioral traits like response format or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, consisting of two sentences that directly state the tool's action and parameters without unnecessary details. Every sentence contributes essential information, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a conversational AI tool with one parameter), the description covers the basic purpose and input. With annotations providing safety hints and an output schema presumably detailing the response, the description is reasonably complete, though it could benefit from more behavioral context or sibling differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'messages' fully documented in the schema. The description mentions 'accepts an array of messages (each with a role and content)', which aligns with but doesn't add meaningful semantics beyond the schema, such as usage examples or constraints on message structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'engages in a conversation using the Sonar API' and 'returns a chat completion response from the Perplexity model', which specifies the verb (engages/returns) and resource (conversation/response). However, it doesn't explicitly differentiate from sibling tools like perplexity_reason or perplexity_search, which likely have similar conversational purposes but different scopes or behaviors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 its siblings (perplexity_reason, perplexity_research, perplexity_search). It mentions the general action but offers no context about appropriate scenarios, exclusions, or alternatives, 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.

perplexity_reasonAdvanced ReasoningB
Read-only

Performs reasoning tasks using the Perplexity API. Accepts an array of messages (each with a role and content) and returns a well-reasoned response using the sonar-reasoning-pro model.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of conversation messages
strip_thinkingNoIf true, removes <think>...</think> tags and their content from the response to save context tokens. Default is false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
responseYesThe response from Perplexity

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and openWorldHint=true, which the description doesn't contradict. The description adds value by specifying the model (sonar-reasoning-pro) and the purpose (reasoning tasks), but it lacks details on behavioral traits like rate limits, error handling, or response format beyond what annotations provide. No contradiction is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, consisting of two sentences that efficiently convey the core functionality and model used. Every sentence adds value without redundancy, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (reasoning tasks with an API), annotations cover safety (readOnlyHint) and scope (openWorldHint), and an output schema exists, the description is reasonably complete. It specifies the model and purpose, but could improve by differentiating from siblings or adding more context on use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the parameters (messages array and strip_thinking boolean). The description adds no additional meaning beyond what's in the schema, such as examples or usage tips for parameters. Baseline 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'performs reasoning tasks using the Perplexity API' and 'returns a well-reasoned response using the sonar-reasoning-pro model,' which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like perplexity_ask, perplexity_research, or perplexity_search, leaving some ambiguity about when to choose this tool over others for reasoning tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 its siblings (perplexity_ask, perplexity_research, perplexity_search). It mentions the model (sonar-reasoning-pro) but doesn't specify use cases, exclusions, or alternatives, leaving the agent without clear context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perplexity_researchDeep ResearchB
Read-only

Performs deep research using the Perplexity API. Accepts an array of messages (each with a role and content) and returns a comprehensive research response with citations.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of conversation messages
strip_thinkingNoIf true, removes <think>...</think> tags and their content from the response to save context tokens. Default is false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
responseYesThe response from Perplexity

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate read-only and open-world hints, which the description doesn't contradict. It adds value by specifying that it 'returns a comprehensive research response with citations', providing context on output behavior. However, it lacks details on rate limits, authentication needs, or response format beyond citations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, uses two concise sentences with zero waste, and efficiently conveys key information without redundancy. Every sentence earns its place by adding distinct value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of annotations and an output schema, the description is reasonably complete for a research tool. It covers the basic action and output type, though it could benefit from more context on when to use versus siblings or behavioral traits like response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents parameters. The description adds minimal semantics by mentioning 'array of messages' and 'comprehensive research response', but doesn't elaborate on parameter usage beyond what's in the schema. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Performs deep research') and resource ('using the Perplexity API'), and distinguishes from siblings by specifying 'deep research' rather than generic queries. However, it doesn't explicitly contrast with 'perplexity_reason' or 'perplexity_search' to fully differentiate purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'perplexity_ask' or 'perplexity_search'. The description mentions 'deep research' but doesn't clarify scenarios or prerequisites for choosing this over sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.6.1
    • First observedperplexity_ask
    • First observedperplexity_reason
    • First observedperplexity_research
    • First observedperplexity_search

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation4/5

The tools are mostly distinct with clear primary purposes: 'ask' for general conversation, 'reason' for reasoning tasks, 'research' for deep research with citations, and 'search' for web search results. However, 'ask' and 'reason' could be confused as both involve chat completions with similar inputs, potentially leading to misselection in ambiguous scenarios.

Naming Consistency5/5

All tool names follow a consistent 'perplexity_' prefix with descriptive suffixes (ask, reason, research, search), using snake_case uniformly. This predictable pattern makes it easy for an agent to understand and navigate the tool set without confusion.

Tool Count5/5

With 4 tools, the count is well-scoped for a server focused on interacting with the Perplexity API. Each tool serves a distinct function (conversation, reasoning, research, search), and there are no redundant or unnecessary tools, making the set efficient and appropriate for the domain.

Completeness4/5

The tool set covers core functionalities of the Perplexity API, including general chat, reasoning, research, and web search, which aligns well with the server's purpose. A minor gap is the lack of tools for managing conversations (e.g., clearing history or handling follow-ups), but agents can work around this using the provided message arrays.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI-powered search, research, and reasoning capabilities through integration with Perplexity.ai, offering three specialized tools: general conversational AI, deep research with citations, and advanced reasoning.
    18 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to perform web searches and retrieve real-time information using Perplexity AI's Sonar models, with support for multiple search modes and easy integration with MCP clients.
    5
    1
    MIT