# 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](/mcp/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](docs/specs/2026-07-22-perplexity-agent-mcp-design.md)).

**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](https://github.com/zalez/perplexity-agent-mcp/issues/5) · 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](https://github.com/zalez/perplexity-agent-mcp/issues/30) · 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](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2663)). It is no longer experimental. The redesign:

[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/27) · 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](https://github.com/zalez/perplexity-agent-mcp/issues/11) · 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](https://github.com/zalez/perplexity-agent-mcp/issues/10) · 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`](https://github.com/modelcontextprotocol/servers) — the community list, PR-based.
- The official MCP registry, 

[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/9) · 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-mcp` is shorter and more familiar than `uvx --from git+https://…@v0.1.0`.
- Discoverability: people search PyPI.
- Version resolution works properly — `>=0.1,<0.2` instead of pinning a git ref by hand.
- The packaging already exists and CI alread

[Read the thread](https://github.com/zalez/perplexity-agent-mcp/issues/8) · 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).
