# Reported issues for wet-mcp

Pod holds 13 of 13 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [wet-mcp](/mcp/wet-mcp).

## Most discussed

### SearXNG server fails with uvx

## Describe the bug

When using the recommended command, `uvx --python 3.13 wet-mcp` ([docs](https://github.com/n24q02m/wet-mcp/blob/main/docs/setup-manual.md#method-2-uvx-direct)), the SearXNG server doesn't start successfully and web searches are unsuccessful.

## To Reproduce

Steps to reproduce the behavior:

1. Start the MCP server:
    ```sh
    uvx --python 3.13 wet-mcp
    ```
2. Send an initialize command: (paste this into the same terminal and hit Enter)
    ```json…

[Read the thread](https://github.com/n24q02m/wet/issues/753) · 2026-04-06 · closed · external user · 4 comments

### OAuth: valid Bearer rejected at /mcp + headless-client (Hermes) connect fails

## Context
Kết nối Hermes Agent (self-hosted MCP client, NousResearch) tới wet-mcp đã deploy qua OAuth.

## Observed
1. Hermes auto-discovery fail vì mcp-core 401 thiếu `resource_metadata` (xem issue mcp-core).
2. Ép `--auth oauth`: PKCE flow ra auth URL hợp lệ; user authenticate; `/token` trả Bearer hợp lệ (resource=`http://oci-wet-mcp:8080/mcp`, expires 1h).
3. NHƯNG đưa Bearer đó tới `/mcp` vẫn `401 Unauthorized`. Nghi audience/resource validation mismatch (token issued cho internal resource…

[Read the thread](https://github.com/n24q02m/wet/issues/1138) · 2026-05-28 · closed · 3 comments

### [Epic] Phase 2 (v1.x+1.y) — Context7-level docs search

Tracking issue for v1.x+1.y release. Context7-level library documentation search: version-aware, project-pinned, token-efficient.

## Features

### Docs search — Context7 parity

Grouped under `search` tool (not separate `docs` tool) for lean surface. Actions:

- `search(action="docs_resolve", library_name="react")` — returns `library_id` + available versions (version-aware).
- `search(action="docs_query", library_id="react", version="19.0.0", topic="hooks")` — returns matched docs chunks…

[Read the thread](https://github.com/n24q02m/wet/issues/914) · 2026-04-20 · closed · 3 comments

### [Epic] Phase 1 (v1.x.y) — web-core migration + search polish + media slim

Tracking issue for v1.x.y release. Migrate extract pipeline to `n24q02m-web-core` shared primitives + search polish + media slim + hygiene cleanup.

## Blocker: web-core LLM fix

Phase 1 is blocked on web-core fix to remove hardcoded `gemini-2.5-flash` default in `web_core.scraper.selector_inference`. Tracked separately at `n24q02m/web-core` — see linked issue.

## Web Extract — migrate to web-core `ScrapingAgent`

Replace direct `crawl4ai` usage in `sources/crawler.py` with…

[Read the thread](https://github.com/n24q02m/wet/issues/913) · 2026-04-20 · closed · 3 comments

### feat: upgrade to qwen3-embed v2.0.0 — tiny local models + offline reranking

## Summary

Upstream `qwen3-embed` is releasing v2.0.0 with two major changes that affect this project:

1. **Smaller embedding model**: `tiny-embed-v1` (~60MB ONNX INT8) replaces `Qwen3-Embedding-0.6B` (573MB) — ~10x smaller, faster inference, multilingual 50+ languages + code support
2. **New local reranking**: `tiny-reranker-v1` (~70-90MB ONNX INT8) — cross-encoder reranker that runs entirely locally via ONNX Runtime

## Impact on wet-mcp

### Embedding (existing)
- Model download size drops…

[Read the thread](https://github.com/n24q02m/wet/issues/849) · 2026-04-12 · closed · 3 comments

### fix: cf container index fails with ModuleNotFoundError: No module named 'qwen3_embed'

Read live from prod D1 `wet-docs`, 2026-08-03.

## Evidence

```
library             dv ver      status     cc chunks   idx_at state    err
fastapi             27 latest   indexed    50     50 1785732468 running
fastapi:python       0 latest   pending     0      0     null failed   ModuleNotFoundError: No module named 'qwen3_embed'
httpx                0 latest   pending     0      0     null running
httpx:python         0 latest   pending     0      0     null None
```

`versions.index_error`…

[Read the thread](https://github.com/n24q02m/wet/issues/1630) · 2026-08-03 · closed · 2 comments

### [Epic] Phase 3 (v2.0.0) — extract agent + interact, media analyze removal (BREAKING)

Tracking issue for v2.0.0 major release. Higher-level extract actions (agent-driven multi-step research, interactive browser ops) + media `analyze` action full removal. Auto-migrate on startup for schema changes (seamless for users).

## Features

### `extract(action="agent")` — higher-level research

Firecrawl `/agent` parity. User prompt → wet performs:
1. `search(web, query=<derived_from_prompt>)` → top N URLs.
2. `ScrapingAgent.scrape` each URL in parallel (bounded concurrency).
3.…

[Read the thread](https://github.com/n24q02m/wet/issues/915) · 2026-04-20 · closed · 2 comments

### feat: Zero-env-config setup via Relay Page (ECDH + PIN)

## Problem

Currently, users may need to configure multiple env vars: `SEARXNG_URL`, `LITELLM_PROXY_URL`, `API_KEYS` (for SDK mode), embedding backend settings, etc. The 3-mode configuration (local/SDK/proxy) adds complexity.

This is an industry-wide MCP problem: [88% of MCP servers require credentials, 79% pass them via plain env vars](https://astrix.security/learn/blog/state-of-mcp-server-security-2025/).

## Proposal

Add a **Relay Page** — a web UI for zero-env-config setup with end-to-end…

[Read the thread](https://github.com/n24q02m/wet/issues/582) · 2026-03-24 · closed · 2 comments

## Most recent

### fix: search() kills CF container -- D1 neighbour prefetch binds 300 params against a 100 cap

## Symptom

Calling `search(action="docs", library="fastapi")` against the deployed Cloudflare worker kills the container. The MCP client only ever sees:

```
Error executing tool search: Server disconnected without sending a response.
```

Reproduced 4/4 times.

## Evidence

Captured live from `wrangler tail wet-mcp-worker` (2026-08-03):

```
1785733634022 ok         ContainerProxy  http://vectorize.internal/query
1785733634204 exception  ContainerProxy  http://d1.internal/query   <== FAILS…

[Read the thread](https://github.com/n24q02m/wet/issues/1627) · 2026-08-03 · closed · 0 comments

### fix: cf-d1 get_best_version ignores the status filter and the fallback that DocsDB applies

Found during the #1624 column parity pass, deliberately left out of PR #1625 to keep a prod-blocking fix narrow.

## Divergence

`DocsDB.get_best_version` (db.py):

```sql
-- exact target
SELECT * FROM versions WHERE library_id = ? AND version = ? AND status = 'indexed'
-- then, if that misses, fall back
SELECT * FROM versions WHERE library_id = ? AND status = 'indexed'
 ORDER BY indexed_at DESC LIMIT 1
```

`db_cf.get_best_version` filters no status on either branch, and does not fall back at…

[Read the thread](https://github.com/n24q02m/wet/issues/1626) · 2026-08-03 · closed · 0 comments

### fix: multi-user embed resolver ignores DISABLE_LOCAL_EMBED, so CF indexing dies on ModuleNotFoundError

Observed on the live CF deployment right after `v3.7.0-beta.2` shipped the index-state observability columns (#1610).

## Symptom

`search(action="docs", library="fastapi")` against `https://wet.n24q02m.com/mcp` leaves `doc_chunks` empty. D1 now records why:

```
index_state = failed
index_error = ModuleNotFoundError: No module named 'qwen3_embed'
```

Stable across 15 polls over 8 minutes, so not a transient.

## Root cause

`embedder.py:524 resolve_embed_backend_for_request()` has exactly…

[Read the thread](https://github.com/n24q02m/wet/issues/1614) · 2026-08-03 · closed · 1 comment

### Cannot listen 8080 port under Docker envrionment when PUBLIC_URL is not specified

https://github.com/n24q02m/wet-mcp/blob/88db575ae16d041ce070e0f4c0479f322b5584b0/src/wet_mcp/server.py#L3047-L3061

 For users who use their own app in docker containers, they have to deploy `wet-mcp` as a HTTP service just for accessing it from other containers, and use this service with single-user mode. Under this scene the `PUBLIC_URL` is not needed, but the server wasn't bound to a fixed `8080` port, and was only bound to `127.0.0.1`, so the server will find a random port, and noone can…

[Read the thread](https://github.com/n24q02m/wet/issues/1611) · 2026-08-02 · closed · external user · 1 comment

### [Phase 3] Unified MCP Core migration — work in progress

## Status

Phase 3 "Unified MCP Core" migration is in active development. Contributors: please coordinate before opening PRs against `main` until Phase J lands.

## What changes for wet-mcp

- Transport: stdio (`uvx wet-mcp`) → Streamable HTTP 2025-11-25 on local port 41601 + OAuth 2.1
- Delete `src/wet_mcp/credential_state.py` + `tests/test_credential_state.py`; remove inline `AWAITING_SETUP` gate from `server.py` (transport middleware handles 401)
- Migrate imports from archived…

[Read the thread](https://github.com/n24q02m/wet/issues/846) · 2026-04-11 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/n24q02m/wet.git/issues).
