Perplexity Search MCP Server
Enables real-time web search capabilities using Perplexity's Sonar models, providing detailed answers with numbered source citations and search results.
Leverages SAP AI Core infrastructure to access and run Perplexity AI models through a local proxy server.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Perplexity Search MCP Serversummarize the key takeaways from Nvidia's latest earnings report"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Perplexity Search MCP Skill
A Claude Code skill that enables web search using Perplexity AI through SAP AI Core.
Overview
This skill provides real-time web search capabilities with source citations by leveraging Perplexity's Sonar models deployed on SAP AI Core. It works as an MCP (Model Context Protocol) server that integrates seamlessly with Claude Code.
Prerequisites
Node.js >= 18.0.0
sap-ai-proxy running locally (default: http://127.0.0.1:3030)
Perplexity model deployed in SAP AI Core (e.g.,
sonar-pro)
Installation
1. Clone and Build
git clone <repo-url> perplexity-skill
cd perplexity-skill
npm install
npm run build2. Install the Skill
npm run install-skillThis will:
Add the MCP server to
~/.claude/mcp.jsonInstall the skill definition to
~/.claude/skills/perplexity/
3. Restart Claude Code
Restart Claude Code to load the new MCP server.
Configuration
Environment Variables
Variable | Default | Description |
|
| URL of the sap-ai-proxy server |
|
| Default Perplexity model to use |
To customize, edit the env section in ~/.claude/mcp.json:
{
"mcpServers": {
"perplexity-search": {
"command": "node",
"args": ["/path/to/perplexity-skill/dist/index.js"],
"env": {
"SAP_AI_PROXY_URL": "http://127.0.0.1:3030",
"PERPLEXITY_DEFAULT_MODEL": "sonar-pro"
}
}
}
}Usage
Explicit Invocation
/perplexity What are the latest developments in AI?Natural Language
The skill automatically triggers for web search queries:
What happened in tech news today?
What's the current price of Bitcoin?Available Tools
perplexity_web_search
Full-featured web search with all configuration options.
Parameters:
query(required): The search querymodel(optional):sonar|sonar-pro|sonar-reasoningsearch_recency_filter(optional):day|week|month|yearreturn_citations(optional): boolean (default:true)
perplexity_quick_search
Simplified search for quick queries.
Parameters:
query(required): The search query
Supported Models
Model | Description |
| Fast real-time web search |
| Enhanced reasoning with citations |
| Deep analysis and reasoning |
Response Format
Responses include:
Main answer content
Source citations (numbered URLs)
Search results with titles and snippets
Example output:
**The capital of France is Paris.**
Paris has served as the capital since 1944...
---
**Sources:**
1. https://en.wikipedia.org/wiki/Paris
2. https://www.britannica.com/place/Paris
**Search Results:**
1. [Paris - Wikipedia](https://en.wikipedia.org/wiki/Paris)
Paris is the capital and largest city of France...Uninstallation
npm run uninstall-skillThen restart Claude Code.
Architecture
Claude Code → MCP Server (stdio) → sap-ai-proxy:3030 → SAP AI Core (Perplexity)Troubleshooting
"Model sonar-pro is not available"
Ensure the Perplexity model is deployed in SAP AI Core
Restart sap-ai-proxy to refresh the deployment cache
Verify with:
curl http://127.0.0.1:3030/v1/models
MCP Server Not Loading
Check
~/.claude/mcp.jsonconfigurationEnsure
dist/index.jsexists (runnpm run build)Restart Claude Code
Connection Refused
Ensure sap-ai-proxy is running:
cd /path/to/sap-ai-proxy
npm startDevelopment
# Watch mode for development
npm run dev
# Test the MCP server
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.jsLicense
MIT
Available Tools
2 toolsperplexity_quick_searchA
Quick web search using Perplexity AI. Use this for simple queries when you need fast, real-time information with minimal configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The quick search query |
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 the tool provides 'fast, real-time information' and requires 'minimal configuration,' which adds useful context about performance and setup. However, it doesn't disclose important behavioral aspects like rate limits, authentication requirements, error conditions, or what 'quick' specifically means operationally.
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 perfectly concise with two sentences that each earn their place. The first sentence states the core functionality, and the second provides usage guidance. There's zero wasted language, and the information is front-loaded appropriately.
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?
For a single-parameter search tool with no annotations and no output schema, the description provides adequate basic context about purpose and usage. However, it lacks important details about what the tool returns (format, structure, limitations), error handling, and explicit differentiation from the sibling tool. The description is complete enough for basic understanding but has clear gaps for effective agent usage.
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 the single parameter 'query' well-documented as 'The quick search query.' The description adds some context by mentioning 'simple queries' and 'minimal configuration,' which provides qualitative guidance about parameter usage. However, it doesn't add significant semantic value beyond what the schema already provides.
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 performs a 'quick web search using Perplexity AI' with the purpose of obtaining 'fast, real-time information.' This specifies both the action (search) and resource (web via Perplexity AI). However, it doesn't explicitly differentiate from its sibling 'perplexity_web_search' beyond implying 'quick' vs presumably more comprehensive.
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 clear context for when to use this tool: 'for simple queries when you need fast, real-time information with minimal configuration.' This gives practical guidance about query complexity and speed priorities. However, it doesn't explicitly state when NOT to use it or name the sibling tool as an alternative, though the implication is there.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
perplexity_web_searchA
Search the web using Perplexity AI with real-time information and citations. Use this for comprehensive web searches that require up-to-date information, research, and source citations.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to send to Perplexity | |
| model | No | Perplexity model to use. sonar: fast search, sonar-pro: enhanced reasoning, sonar-reasoning: deep analysis | |
| search_recency_filter | No | Filter search results by recency | |
| return_citations | No | Whether to return source citations (default: true) |
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. While it mentions 'real-time information' and 'citations,' it doesn't describe important behavioral aspects like rate limits, authentication requirements, error conditions, response format, or whether this is a read-only operation. For a web search tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.
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 perfectly concise and well-structured. It uses just two sentences: the first states the core functionality, and the second provides usage guidance. Every word earns its place, with no redundancy or unnecessary elaboration. The information is front-loaded with the most important details first.
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 that there's no output schema and no annotations, the description should do more to explain what the tool returns. While it mentions 'citations,' it doesn't describe the response format, structure, or what 'comprehensive' means in practice. For a search tool with 4 parameters and no structured output documentation, the description provides adequate but incomplete context.
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 all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions 'citations' which relates to the 'return_citations' parameter, but this is already covered in the schema. The baseline score of 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 clearly states the tool's purpose: 'Search the web using Perplexity AI with real-time information and citations.' It specifies the verb ('Search'), resource ('the web'), and key capabilities ('real-time information and citations'). However, it doesn't explicitly differentiate from its sibling 'perplexity_quick_search' beyond mentioning 'comprehensive web searches,' leaving some ambiguity about when to choose one over the other.
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 clear context for when to use this tool: 'for comprehensive web searches that require up-to-date information, research, and source citations.' This gives specific use cases (research, needing citations) and distinguishes it from basic search tools. However, it doesn't explicitly state when NOT to use it or mention alternatives like the sibling tool, which would be needed for a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
This server cannot be installed
TDQS
The two tools have overlapping purposes—both perform web searches using Perplexity AI—but their descriptions help differentiate them: one is for 'simple queries' with 'fast, real-time information,' while the other is for 'comprehensive web searches' with 'citations.' However, the distinction is subtle and could still lead to confusion, as both essentially search the web with real-time data.
The tool names follow a consistent pattern: both use 'perplexity_' prefix and 'search' suffix, with descriptive adjectives ('quick' vs. 'web') to differentiate them. This clear and predictable naming convention makes it easy to understand their roles within the server.
With only two tools, the server feels under-scoped for a search domain, as it lacks operations like filtering results, saving searches, or managing search history. While the tools cover basic search functionality, the count is too low to provide a robust or complete search experience.
The server is severely incomplete for a search domain; it only offers two search variants without any supporting operations such as result pagination, query refinement, or citation management. This creates significant gaps that will limit an agent's ability to handle complex search tasks effectively.
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
Real-time web search, reasoning, and research through Perplexity's API
Enable AI assistants to perform web searches using Perplexity's Sonar Pro.
Provides AI assistants with access to Seltz's powerful Web Search capabilities.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Appeared in Searches
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/belugatempo-dot/perplexity-skill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server