Reported issues for Perplexity Agent
Pod holds 11 of 11 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to Perplexity Agent.
Most discussed
Support MCP protocol revision 2026-07-28
MCP 2026-07-28 is the largest breaking change in the protocol's history and lands within days of this release. This server targets 2025-11-25 (see design spec §3.1 and D2).
Nothing is broken today. Every shipping client speaks 2025-11-25, clients need their own dual-era support before the new revision is usable, and the spec allows a 12-month deprecation window. This issue exists so the work is tracked rather than remembered.
Read the thread · 2026-07-24 · closed · 2 comments
Dev-tool pins have fallen behind
| Tool | Pinned | Latest release | Update in |
|---|---|---|---|
astral-sh/ruff-pre-commit |
v0.16.0 |
v0.16.1 |
.pre-commit-config.yaml + ci.yml |
woodruffw/zizmor-pre-commit |
v1.28.0 |
v1.29.0 |
.pre-commit-config.yaml |
Bump by hand rather than with pre-commit autoupdate — it resolves to the newest tag on the upstream default branch, not the newest release, and has proposed a downgrade of gitleaks on this repo before.
ruff and mypy live in two files
Read the thread · 2026-08-03 · closed · external user · 1 comment
Adopt the MCP Tasks extension once it stabilises
Deferred from #5 / #26, deliberately: dual-era support was already large and touched every result shape, and Tasks is a different question with a different blast radius. Better decided against a working dual-era baseline than tangled up with creating one.
What changed upstream
Tasks moved out of the core protocol and into an official extension in 2026-07-28 (SEP-2663). It is no longer experimental. The redesign:
Read the thread · 2026-08-01 · open · 1 comment
Unknown-argument rejection is untested at the JSON-RPC level for perplexity_agent_result
All three tools declare additionalProperties: false and enforce it via _reject_unknown_arguments, which reads the declared schema rather than a hardcoded key list. The behaviour is correct for all three — verified directly during review.
The test coverage is not symmetric. Rejection is asserted end-to-end (through a real tools/call over stdio) for:
perplexity_agent✅perplexity_agent_cancel✅perplexity_agent_result❌ — behaviour confirmed correct by hand, but no test pin
Read the thread · 2026-07-24 · closed · 1 comment
Whole-tree mypy --strict . is clean but ungated
CI and pre-commit both scope mypy to the server file only:
mypy --strict perplexity_agent_mcp.py
Running mypy --strict . across the whole tree (including tests/) is also clean today, and not by accident — pyproject.toml carries a deliberate [[tool.mypy.overrides]] block added specifically so the bare invocation stays clean. But nothing enforces that. A future untyped change under tests/ would pass CI silently while quietly breaking the property.
Why it matters here sp
Read the thread · 2026-07-24 · closed · 1 comment
Consider listing in the MCP server registry
This server fills a gap nothing else covers: the existing @perplexity-ai/mcp-server wraps the Sonar chat models and the Search API, but cannot reach the Agent API (POST /v1/agent). That is the entire reason this project exists, and someone looking for multi-step agentic research through Perplexity currently has no way to discover it.
Where
modelcontextprotocol/servers— the community list, PR-based.- The official MCP registry,
Read the thread · 2026-07-24 · closed · 1 comment
Decide deliberately whether to publish to PyPI
Currently not on PyPI, and that is a considered position rather than an oversight — but it was never written down anywhere a reader would find it, so it looks like a gap.
The case for
pip install perplexity-agent-mcp/uvx perplexity-agent-mcpis shorter and more familiar thanuvx --from git+https://…@v0.1.0.- Discoverability: people search PyPI.
- Version resolution works properly —
>=0.1,<0.2instead of pinning a git ref by hand. - The packaging already exists and CI alread
Read the thread · 2026-07-24 · closed · 1 comment
pin-check reports "all pins current" — and closes the tracking issue — when it reached no upstream at all
Found while working on #44. Unrelated to that fix, and older than it — it has been here since the checker was written in #14.
The behaviour
Run check_pins.py with no network access to api.github.com:
All dev-tool pins match their upstream latest release.
Could not reach upstream for: `pre-commit/pre-commit-hooks`, `astral-sh/ruff-pre-commit`,
`pre-commit/mirrors-mypy`, `gitleaks/gitleaks`, `rhysd/actionlint`,
`woodruffw/zizmor-pre-commit`, `codespell-project/codespell`. Treated as
[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/45) · 2026-08-24 · closed · 0 comments
## Most recent
### Dev-tool pins have fallen behind
| Tool | Pinned | Latest release | Update in |
|---|---|---|---|
| `astral-sh/ruff-pre-commit` | `v0.16.2` | **`v0.16.3`** | `.pre-commit-config.yaml + ci.yml` |
| `pre-commit/mirrors-mypy` | `v2.3.0` | **`v2.3.1`** | `.pre-commit-config.yaml + ci.yml` |
Bump by hand rather than with `pre-commit autoupdate` — it resolves to the newest tag on the upstream default branch, not the newest release, and has proposed a **downgrade** of `gitleaks` on this repo before.
`ruff` and `mypy` live in two fil
[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/36) · 2026-08-17 · closed · external user · 0 comments
### README's Path B install pins a stale tag (v0.1.0) and claims it is current
Reported from an independent review. **Confirmed.**
## The defect
`README.md` disagrees with itself about which version this repository ships:
| Line | Content | State |
|---|---|---|
| 92 | `git+https://github.com/zalez/perplexity-agent-mcp@v0.1.0` | **stale** |
| 103 | "`@v0.1.0` above is a released version — **the one this repository ships as of this README**" | **stale, and now false** |
| 114 | `...@v0.2.0'` (the `llm` install line) | correct |
`__version__` is `0.2.0` and the latest re
[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/17) · 2026-07-27 · closed · 0 comments
### Cosmetic: two very long URLs sharing a prefix render identically in the source list
Carried from review as a known cosmetic issue. Adversarial input only; no correctness impact.
`_extract_sources` truncates a URL at `_MAX_URL_CHARS` (2000) with a visible ellipsis, as part of bounding the payload so a runaway deep-research run cannot exhaust the client's context window.
If two genuinely different URLs share an identical first 2000 characters, their **rendered** forms in the `Sources:` list are byte-identical. A reader cannot tell the two citations apart.
## What is *not* affe
[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/12) · 2026-07-24 · closed · 0 comments
The remaining reports are on [the project's issue tracker](https://github.com/zalez/perplexity-agent-mcp/issues).