Skip to main content
Glama
RossH121

Perplexity MCP Server

by RossH121

Perplexity MCP 서버

Perplexity의 API를 사용하여 쿼리 의도에 따라 자동으로 모델을 선택하고 웹 검색 기능을 제공하는 MCP 서버입니다.

필수 조건

Related MCP server: Perplexity MCP Server

설치

Git을 통해 설치

  1. 이 저장소를 복제하세요:

    지엑스피1

  2. 종속성 설치:

    npm install
  3. 서버를 빌드하세요:

    npm run build

구성

  1. https://www.perplexity.ai/settings/api 에서 Perplexity API 키를 받으세요.

  2. ~/Library/Application Support/Claude/claude_desktop_config.json 에 있는 Claude의 구성 파일에 서버를 추가합니다.

{
  "mcpServers": {
    "perplexity-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/perplexity-mcp/build/index.js"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "your-api-key-here",
        "PERPLEXITY_MODEL": "sonar"
      }
    }
  }
}

/absolute/path/to 저장소를 복제한 실제 경로로 바꾸세요.

사용 가능한 모델

이제 서버는 쿼리 의도에 따른 자동 모델 선택을 지원하지만, PERPLEXITY_MODEL 환경 변수를 사용하여 기본 모델을 지정할 수도 있습니다. 사용 가능한 옵션은 다음과 같습니다.

  • sonar-deep-research - 광범위한 연구 및 도메인 전반의 전문가 수준 분석을 위해 특화됨

  • sonar-reasoning-pro - 고급 논리적 추론 및 복잡한 문제 해결에 최적화됨

  • sonar-reasoning - 균형 잡힌 성능으로 추론 작업을 위해 설계되었습니다.

  • sonar-pro - 뛰어난 검색 기능과 인용 밀도를 갖춘 범용 모델

  • sonar - 간단한 쿼리에 빠르고 효율적

기본 모델(환경 변수에 지정됨)은 자동 모델 선택을 위한 기준으로 사용됩니다.

최신 모델 가격 및 가용성을 확인하려면 https://docs.perplexity.ai/guides/pricing을 방문하세요.

용법

서버를 구성하고 Claude를 다시 시작한 후에는 Claude에게 정보 검색을 요청하기만 하면 됩니다. 예:

  • "SpaceX에 대한 최신 소식은 뭐예요?"

  • "시카고 최고의 레스토랑을 찾아보세요"

  • "재즈 음악의 역사에 대한 정보를 찾아보세요"

  • "최근 AI 개발에 대한 심층적인 연구 분석이 필요합니다." (sonar-deep-research 사용)

  • "이 복잡한 문제를 추론하는 데 도움을 주세요"(sonar-reasoning-pro 사용)

Claude는 Perplexity 검색 도구를 자동으로 사용하여 관련 정보를 찾아 반환합니다. 서버는 쿼리 의도에 따라 가장 적합한 모델을 자동으로 선택합니다.

어떤 이유로든 검색 도구를 사용하지 않기로 결정하면 프롬프트 앞에 "웹 검색"을 추가하여 강제로 문제를 해결할 수 있습니다.

지능형 모델 선택

서버는 귀하의 쿼리에 따라 가장 적합한 Perplexity 모델을 자동으로 선택합니다.

  • "심층 연구", "포괄적" 또는 "심층적"과 같은 연구 지향적 용어를 사용하여 소나 심층 연구를 시작하세요.

  • "해결하다", "알아내다" 또는 "복잡한 문제"와 같은 추론 용어를 사용하여 Sonar-Resoning-Pro를 트리거합니다.

  • "빠른", "간단한" 또는 "기본"과 같은 간단한 용어를 사용하여 경량 소나 모델을 트리거합니다.

  • 균형 잡힌 성능을 위해 일반 검색어는 기본적으로 sonar-pro로 설정됩니다.

각 검색 응답에는 어떤 모델이 사용되었는지, 그 이유가 무엇인지에 대한 정보가 포함되어 있습니다.

도메인 필터링

이 서버는 검색 환경을 맞춤 설정할 수 있는 도메인 필터링을 지원합니다. 다음 명령을 사용하여 특정 도메인을 허용하거나 차단할 수 있습니다.

  • 허용된 도메인 추가 : "domain_filter 도구를 사용하여 wikipedia.org를 허용하세요"

  • 차단된 도메인 추가 : "domain_filter 도구를 사용하여 pinterest.com 차단"

  • 현재 필터 보기 : "list_filters 도구 사용"(도메인 및 최근 필터 표시)

  • 모든 필터 지우기 : "clear_filters 도구 사용"(도메인 및 최근성 필터 모두 지움)

참고 : Perplexity API는 최대 3개의 도메인을 지원하며, 허용된 도메인에 우선순위가 부여됩니다. 도메인 필터링을 사용하려면 이 기능을 지원하는 Perplexity API 계층이 필요합니다.

사용 흐름 예시:

  1. "domain_filter 도구를 사용하여 wikipedia.org를 허용하세요"

  2. "arxiv.org를 허용하려면 domain_filter 도구를 사용하세요"

  3. "list_filters 도구를 사용하세요"(설정을 확인하려면)

  4. "양자 컴퓨팅 발전에 대한 검색"(검색 결과는 wikipedia.org와 arxiv.org를 우선시합니다)

최근성 필터링

최근성 필터를 사용하여 검색 결과를 특정 기간으로 제한할 수 있습니다.

  • 최근성 필터 설정 : "filter=hour"와 함께 recency_filter 도구 사용(옵션: hour, day, week, month)

  • 최근성 필터 비활성화 : "filter=none으로 recency_filter 도구 사용"

이 기능은 현재 이벤트나 속보와 같이 시간에 민감한 질의에 특히 유용합니다.

모델 선택 제어

대부분의 경우 자동 모델 선택이 잘 작동하지만, 어떤 모델을 사용할지 수동으로 제어할 수 있습니다.

  • 모델 정보 보기 : "model_info 도구 사용"

  • 특정 모델 설정 : "model=sonar-deep-research와 함께 model_info 도구를 사용하세요"

  • 자동 선택으로 돌아가기 : 모델을 기본 모델로 되돌립니다.

사용 예:

  1. "model_info 도구를 사용하세요"(사용 가능한 모델과 현재 상태를 보려면)

  2. "model=sonar-reasoning-pro"와 함께 model_info 도구를 사용하세요(추론 모델 사용을 강제로 설정하려면)

  3. "피타고라스 정리의 수학적 증명을 검색하세요"(sonar-reasoning-pro 사용)

  4. "model=sonar-pro와 함께 model_info 도구를 사용하세요"(자동 선택으로 돌아가려면)

개발

서버를 수정하려면:

  1. src/index.ts 편집하세요

  2. npm run build 로 다시 빌드하세요

  3. 변경 사항을 로드하려면 Claude를 다시 시작하세요.

특허

MIT

Available Tools

6 tools
clear_filtersA

Remove all domain filters (both allowed and blocked). Use when switching search contexts or starting fresh. Does not affect recency filter.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It effectively discloses key behavioral traits: it's a destructive operation (removes filters), specifies what gets affected (domain filters) and what doesn't (recency filter), and implies a reset context. However, it doesn't mention permissions, side effects, or response format, leaving some gaps.

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 extremely concise and well-structured in two sentences: the first states the purpose and scope, the second provides usage guidelines and exclusions. Every sentence adds clear value with zero waste, making it easy to parse and understand 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 simplicity (0 parameters, no output schema, no annotations), the description is nearly complete. It covers purpose, usage, and behavioral aspects effectively. However, it lacks details on permissions or confirmation prompts, which could be relevant for a destructive operation, leaving minor room for improvement.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the lack of inputs. The description adds no parameter-specific information, which is appropriate here. A baseline of 4 is applied as it compensates adequately for the zero-parameter case by focusing on usage context.

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

Purpose5/5

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

The description clearly states the specific action ('Remove all domain filters') and specifies the scope ('both allowed and blocked'), distinguishing it from sibling tools like 'domain_filter' which likely manages individual filters. It goes beyond just restating the name by detailing what exactly gets cleared.

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

Usage Guidelines5/5

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

The description explicitly provides usage scenarios ('when switching search contexts or starting fresh') and clarifies exclusions ('Does not affect recency filter'), offering clear guidance on when to use this tool versus alternatives like 'recency_filter' or 'list_filters'.

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

domain_filterA

Configure domain filtering for search results. Use 'allow' to prioritize trusted sources (e.g., documentation sites, academic domains) or 'block' to exclude unreliable sources. Maximum 20 domains total. Filters persist across searches until cleared.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name without protocol. Examples: 'wikipedia.org', 'docs.python.org', 'arxiv.org'. For subdomains: 'api.example.com'
actionYes'allow' prioritizes this domain in results, 'block' excludes it completely

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it specifies the maximum limit of 20 domains, persistence across searches until cleared, and the effect of actions ('allow' prioritizes, 'block' excludes). It lacks details on error handling or rate limits, but covers essential operational constraints.

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 appropriately sized and front-loaded, with every sentence adding value: the first states the purpose, the second explains usage with examples, and the third covers constraints and persistence. There is no wasted text, 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 moderate complexity (2 parameters, no output schema, no annotations), the description is largely complete: it explains what the tool does, how to use it, and key behaviors. It could improve by mentioning the tool's relationship to siblings like 'clear_filters' or expected output, but it adequately covers the core functionality and constraints.

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 already documents both parameters fully. The description adds minimal value beyond the schema by reinforcing the purpose of 'allow' and 'block' actions, but does not provide additional syntax or format details. This meets the baseline for high schema coverage.

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

Purpose5/5

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 ('configure domain filtering') and resource ('search results'), distinguishing it from siblings like 'clear_filters' and 'list_filters' by focusing on configuration rather than management or listing. It specifies the exact function of setting up domain-based filters.

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

Usage Guidelines4/5

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

The description provides clear context on when to use this tool (e.g., to prioritize trusted sources or exclude unreliable ones) and mentions persistence across searches, but it does not explicitly state when not to use it or name alternatives like 'recency_filter' for other filtering needs. Usage is implied but not exhaustively defined against all siblings.

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

list_filtersA

Display current filter configuration including allowed domains, blocked domains, and active recency setting. Useful for debugging search behavior.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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 describes what information is displayed (filter configuration details) and hints at a read-only operation ('Display'), but doesn't specify output format, potential errors, or any side effects. It adds some context about debugging utility, but lacks details on permissions or rate limits.

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 two concise sentences that are front-loaded with the core purpose and followed by a utility note. Every word adds value without repetition or fluff, making it highly efficient and well-structured.

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

Completeness3/5

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

Given the tool's low complexity (0 parameters, no annotations, no output schema), the description is reasonably complete for a read-only configuration display tool. It specifies what information is included and the debugging context, but lacks details on output format or error handling, which could be helpful for an agent.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not introducing confusion or redundancy.

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's purpose: 'Display current filter configuration' with specific components listed (allowed domains, blocked domains, recency setting). It uses a specific verb ('Display') and identifies the resource ('filter configuration'), but doesn't explicitly distinguish it from sibling tools like 'domain_filter' or 'recency_filter' that might modify these settings.

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

Usage Guidelines3/5

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

The description provides implied usage guidance by stating it's 'Useful for debugging search behavior,' suggesting it should be used when troubleshooting search issues. However, it doesn't explicitly state when to use this tool versus alternatives like 'search' or the various filter-modifying siblings, nor does it provide any exclusion criteria.

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

model_infoA

View available Perplexity models and their specializations, or manually override model selection. By default, models are auto-selected based on query intent (research, reasoning, general search).

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoOptional: Override auto-selection. 'sonar-deep-research' for comprehensive analysis, 'sonar-reasoning-pro' for complex logic, 'sonar' for quick lookups

TDQS

A4.6/5.0
Behavior4/5

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 effectively describes the tool's behavior: viewing available models, their specializations, and the ability to override auto-selection. It explains the default behavior (auto-selection based on query intent) and the override capability, though it doesn't specify what happens when no parameter is provided (e.g., whether it returns a list or default info).

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 appropriately sized and front-loaded with the core purpose in the first clause. Both sentences earn their place: the first establishes what the tool does, and the second explains the default behavior and context. There's no wasted language or redundancy.

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 moderate complexity (1 optional parameter with full schema coverage, no output schema), the description is mostly complete. It covers purpose, usage, and parameter context well. However, it doesn't specify what the tool returns (e.g., a list of models with details or just confirmation), which would be helpful since there's no output schema.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the context of the parameter: 'manually override model selection' and 'By default, models are auto-selected based on query intent'. This provides semantic meaning beyond the schema's enum descriptions, helping the agent understand when and why to use the parameter.

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

Purpose5/5

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 ('View available Perplexity models and their specializations, or manually override model selection') and distinguishes it from sibling tools like 'search' or 'list_filters' by focusing on model information and selection rather than filtering or searching operations.

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

Usage Guidelines5/5

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

The description explicitly provides usage guidance: 'By default, models are auto-selected based on query intent (research, reasoning, general search)' and indicates when to use the override parameter. This clearly distinguishes it from the default auto-selection behavior and helps the agent understand when manual selection is appropriate.

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

recency_filterA

Control the time window for search results. Essential for time-sensitive queries like news, updates, or recent developments. Filter persists until changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterYesTime window: 'hour' for breaking news, 'day' for daily updates, 'week' for recent developments, 'month' for broader recent context, 'none' to include all time periods

TDQS

A4.2/5.0
Behavior3/5

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 reveals important behavioral traits: the filter persists until changed (stateful behavior), and it's for search results (context of application). However, it doesn't mention potential side effects, error conditions, or what happens when the filter is applied.

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 perfectly concise with three sentences that each earn their place: states the core function, provides usage context, and reveals important behavioral trait (persistence). No wasted words, front-loaded with the essential information.

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 moderate complexity (stateful filter setting), no annotations, and no output schema, the description does reasonably well. It explains what the tool does, when to use it, and a key behavioral aspect (persistence). However, it doesn't describe what the tool returns or potential error conditions, leaving some gaps in completeness.

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

Parameters4/5

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

With 100% schema description coverage and only 1 parameter, the schema already fully documents the parameter. The description adds some value by explaining why you'd use different time windows ('breaking news', 'daily updates', etc.), but doesn't provide additional syntax or format details beyond what's in the schema. For a single-parameter tool with excellent schema coverage, this is above baseline.

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

Purpose5/5

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 ('Control the time window for search results') and distinguishes it from siblings by focusing on time-based filtering. It explicitly mentions what it does (sets a time window filter) rather than just restating the name.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Essential for time-sensitive queries like news, updates, or recent developments'), but doesn't explicitly mention when NOT to use it or name specific alternatives among the sibling tools. It implies usage scenarios but lacks explicit exclusions.

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. 6 tool updatesv1.0.0
    • First observedclear_filters
    • First observeddomain_filter
    • First observedlist_filters
    • First observedmodel_info
    • First observedrecency_filter
    • First observedsearch

TDQS

A4.3/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: clear_filters removes filters, domain_filter configures domains, list_filters displays current settings, model_info shows models, recency_filter controls time windows, and search performs web searches. The descriptions reinforce these unique roles, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., clear_filters, domain_filter, list_filters, model_info, recency_filter, search). The naming is predictable and readable throughout, with no deviations or mixed conventions.

Tool Count5/5

With 6 tools, this server is well-scoped for its purpose of configuring and executing Perplexity AI searches. Each tool earns its place by covering essential aspects like filtering, model selection, and search execution, without being overly sparse or bloated.

Completeness5/5

The tool set provides complete coverage for the domain of Perplexity AI search configuration and execution. It includes setup (filters, model info), control (recency, domain filters), status (list_filters), and core functionality (search), with no obvious gaps that would cause agent failures.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
    2
    518
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables AI assistants to perform web searches on Perplexity.ai using browser automation instead of an official API. It supports persistent authenticated sessions and returns search results along with cited sources directly to the client.
    3
    40 npm
    10
    MIT