perplexity-web-mcp-cli 0.12.1__tar.gz → 0.12.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/PKG-INFO +8 -1
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/README.md +7 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/pyproject.toml +1 -1
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/ai_doc.py +6 -5
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/data/SKILL.md +3 -3
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/data/references/models.md +1 -1
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/models.py +1 -1
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/__init__.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/api/__init__.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/api/responses.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/api/server.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/api/session_manager.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/api/tool_calling.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/__init__.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/auth.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/doctor.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/hack.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/main.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/setup.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/skill.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/config.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/constants.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/core.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/council.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/data/references/api-endpoints.md +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/data/references/mcp-tools.md +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/enums.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/exceptions.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/http.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/limits.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/logging.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/mcp/__init__.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/mcp/__main__.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/mcp/server.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/py.typed +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/rate_limits.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/resilience.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/router.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/sessions.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/shared.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/token_store.py +0 -0
- {perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: perplexity-web-mcp-cli
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.2
|
|
4
4
|
Summary: CLI, MCP server, and Anthropic/OpenAI API-compatible interface for Perplexity AI.
|
|
5
5
|
Keywords: perplexity,ai,mcp,anthropic,api,client
|
|
6
6
|
Author: Jacob BD
|
|
@@ -41,6 +41,13 @@ Description-Content-Type: text/markdown
|
|
|
41
41
|
|
|
42
42
|
# Perplexity Web MCP & CLI
|
|
43
43
|
|
|
44
|
+
[](https://pypi.org/project/perplexity-web-mcp-cli/)
|
|
45
|
+
[](https://pypistats.org/packages/perplexity-web-mcp-cli)
|
|
46
|
+
[](https://pepy.tech/projects/perplexity-web-mcp-cli)
|
|
47
|
+
[](https://pypi.org/project/perplexity-web-mcp-cli/)
|
|
48
|
+
[](https://github.com/jacob-bd/perplexity-web-mcp/blob/main/LICENSE)
|
|
49
|
+
[](https://buymeacoffee.com/jacobbd)
|
|
50
|
+
|
|
44
51
|
<p align="center">
|
|
45
52
|
<a href="https://youtu.be/9xyClDvmoZ0">
|
|
46
53
|
<img src="https://img.youtube.com/vi/9xyClDvmoZ0/maxresdefault.jpg" alt="Perplexity Powerhouse + Model Council Demo" width="400">
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
# Perplexity Web MCP & CLI
|
|
6
6
|
|
|
7
|
+
[](https://pypi.org/project/perplexity-web-mcp-cli/)
|
|
8
|
+
[](https://pypistats.org/packages/perplexity-web-mcp-cli)
|
|
9
|
+
[](https://pepy.tech/projects/perplexity-web-mcp-cli)
|
|
10
|
+
[](https://pypi.org/project/perplexity-web-mcp-cli/)
|
|
11
|
+
[](https://github.com/jacob-bd/perplexity-web-mcp/blob/main/LICENSE)
|
|
12
|
+
[](https://buymeacoffee.com/jacobbd)
|
|
13
|
+
|
|
7
14
|
<p align="center">
|
|
8
15
|
<a href="https://youtu.be/9xyClDvmoZ0">
|
|
9
16
|
<img src="https://img.youtube.com/vi/9xyClDvmoZ0/maxresdefault.jpg" alt="Perplexity Powerhouse + Model Council Demo" width="400">
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/ai_doc.py
RENAMED
|
@@ -110,7 +110,7 @@ MODELS
|
|
|
110
110
|
Name Identifier Thinking Notes
|
|
111
111
|
----------- ---------------------- --------- ---------------------------
|
|
112
112
|
auto pplx_pro No Auto-selects best model
|
|
113
|
-
sonar experimental No Sonar 2 (
|
|
113
|
+
sonar experimental No Sonar 2 (concise search mode for grounded responses)
|
|
114
114
|
deep_research pplx_alpha No In-depth reports (monthly quota)
|
|
115
115
|
gpt54 gpt54 Yes OpenAI GPT-5.4 (versatile)
|
|
116
116
|
gpt55 gpt55 Yes OpenAI GPT-5.5 (latest, Max tier)
|
|
@@ -272,8 +272,8 @@ weekly pool (~300). Deep Research draws from a tiny monthly pool (~5-10).
|
|
|
272
272
|
Wasting Pro queries on simple lookups means nothing left for real questions.
|
|
273
273
|
|
|
274
274
|
COST MODEL:
|
|
275
|
-
Sonar 2 (pplx_sonar, In-house model;
|
|
276
|
-
quick intent)
|
|
275
|
+
Sonar 2 (pplx_sonar, In-house model; uses concise search mode to guarantee responses
|
|
276
|
+
quick intent) are grounded. Decrements Perplexity session counters.
|
|
277
277
|
Pro Search (standard, Typically 1 from weekly Pro Search pool (~300/week
|
|
278
278
|
detailed, pplx_ask, on Pro/Max; exact rules are enforced by Perplexity).
|
|
279
279
|
pplx_query, premium
|
|
@@ -284,7 +284,8 @@ COST MODEL:
|
|
|
284
284
|
MANDATORY PROTOCOL:
|
|
285
285
|
1. CHECK QUOTA FIRST: Call pplx_usage() before your first query each session.
|
|
286
286
|
2. DEFAULT TO QUICK: Use pplx_smart_query(intent='quick') for most lookups.
|
|
287
|
-
It prefers Sonar 2 first
|
|
287
|
+
It prefers Sonar 2 first (using concise mode to guarantee grounding) and
|
|
288
|
+
only escalates when the query needs a premium model.
|
|
288
289
|
3. ESCALATE ONLY WHEN NEEDED: Use 'standard' for multi-source synthesis,
|
|
289
290
|
'detailed' for complex analysis, 'research' only when user requests it.
|
|
290
291
|
4. NEVER USE DEEP RESEARCH AUTONOMOUSLY — always ask the user first.
|
|
@@ -299,7 +300,7 @@ WHEN TO USE EACH INTENT:
|
|
|
299
300
|
detailed Complex analysis, deep reasoning, premium model → 1 Pro
|
|
300
301
|
research Comprehensive reports (user must request explicitly) → 1 Research
|
|
301
302
|
|
|
302
|
-
DECISION RULE: Ask "Can Sonar 2 answer this?" If yes → quick. If no → standard.
|
|
303
|
+
DECISION RULE: Ask "Can Sonar 2 answer this?" If yes → quick (grounded on concise search). If no → standard.
|
|
303
304
|
Only use detailed/research when the complexity genuinely demands it.
|
|
304
305
|
When in doubt, start with quick and escalate if the answer is insufficient.
|
|
305
306
|
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/data/SKILL.md
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: perplexity-web-mcp
|
|
3
3
|
description: "Search the web and query AI models via Perplexity AI using perplexity-web-mcp-cli. Supports CLI commands (pwm ask, pwm research), MCP tools (pplx_*), and Anthropic/OpenAI-compatible API server. Use when the user mentions \"perplexity\", \"pplx\", \"pwm\", \"web search with AI\", \"deep research\", \"search the internet\", or wants to query premium models like GPT-5.4, GPT-5.5, Claude, Gemini, Nemotron through Perplexity's web interface."
|
|
4
4
|
metadata:
|
|
5
|
-
version: "0.
|
|
5
|
+
version: "0.12.2"
|
|
6
6
|
author: "Jacob BD"
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -129,7 +129,7 @@ The smart router automatically protects you:
|
|
|
129
129
|
- **Healthy quota**: Uses the ideal model for your intent
|
|
130
130
|
- **Low quota (<20% pro remaining)**: Response footer warns you to conserve
|
|
131
131
|
- **Critical quota (<10% pro remaining)**: Downgrades detailed→auto to conserve
|
|
132
|
-
- **Exhausted quota**: Falls back to Sonar 2 for everything except research
|
|
132
|
+
- **Exhausted quota**: Falls back to Sonar 2 for everything except research (Sonar 2 is forced to concise mode to ensure grounded responses using search results)
|
|
133
133
|
- **Research exhausted**: Falls back to premium Pro Search
|
|
134
134
|
- Response metadata shows what model was used, why, and remaining quota
|
|
135
135
|
|
|
@@ -312,7 +312,7 @@ For full MCP tool parameters: See [references/mcp-tools.md](references/mcp-tools
|
|
|
312
312
|
| CLI Name | Provider | Thinking | Notes |
|
|
313
313
|
|----------|----------|----------|-------|
|
|
314
314
|
| auto | Perplexity | No | Auto-selects best |
|
|
315
|
-
| sonar | Perplexity | No | Sonar 2 (API id `experimental`) |
|
|
315
|
+
| sonar | Perplexity | No | Sonar 2 (API id `experimental`). Uses `mode="concise"` to ensure grounded answers. |
|
|
316
316
|
| deep_research | Perplexity | No | Monthly quota |
|
|
317
317
|
| gpt54 | OpenAI | Toggle | GPT-5.4 (versatile) |
|
|
318
318
|
| gpt55 | OpenAI | Toggle | GPT-5.5 (latest, Max tier) |
|
|
@@ -16,7 +16,7 @@ Complete list of models available through Perplexity Web MCP.
|
|
|
16
16
|
- **Thinking:** No
|
|
17
17
|
- **CLI:** `pwm ask "query" -m sonar`
|
|
18
18
|
- **MCP:** `pplx_sonar(query)` or `pplx_query(query, model="sonar")`
|
|
19
|
-
- **Notes:** Perplexity's latest in-house model.
|
|
19
|
+
- **Notes:** Perplexity's latest in-house model. Settings default to concise search mode (`mode="concise"`), which bypasses interactive copilot to guarantee responses are grounded on retrieved search citations on all accounts (including Free tier fallback).
|
|
20
20
|
|
|
21
21
|
### deep_research (Deep Research)
|
|
22
22
|
- **Identifier:** `pplx_alpha`
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/models.py
RENAMED
|
@@ -25,7 +25,7 @@ class Models:
|
|
|
25
25
|
BEST = Model(identifier="pplx_pro")
|
|
26
26
|
"""Best - Automatically selects the best model based on the query."""
|
|
27
27
|
|
|
28
|
-
SONAR = Model(identifier="experimental")
|
|
28
|
+
SONAR = Model(identifier="experimental", mode="concise")
|
|
29
29
|
"""Sonar 2 — Perplexity's latest in-house model (backend id: experimental)."""
|
|
30
30
|
|
|
31
31
|
GEMINI_31_PRO_THINKING = Model(identifier="gemini31pro_high")
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/api/server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/auth.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/doctor.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/hack.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/main.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/setup.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/cli/skill.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/config.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/constants.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/core.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/council.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/enums.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/exceptions.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/http.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/limits.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/logging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/mcp/server.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/resilience.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/router.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/sessions.py
RENAMED
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/shared.py
RENAMED
|
File without changes
|
|
File without changes
|
{perplexity_web_mcp_cli-0.12.1 → perplexity_web_mcp_cli-0.12.2}/src/perplexity_web_mcp/types.py
RENAMED
|
File without changes
|