# Reported issues for mcptoon

Pod holds 5 of 5 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 [mcptoon](/mcp/mcptoon).

## Most discussed

### [FEATURE] HTTP MCP install with environment-sourced Headers

## Problem

`mcptoon add <name> --http <url> --header ...` can configure a remote MCP server with a literal HTTP Header. For users who want the one-command `mcptoon install <name> --url <url>` flow, [`install_http`](https://github.com/activeing123/mcptoon/blob/f1419bfa4fc22a734f4b99a0dc866f17cb912036/src/mcptoon/installer.py#L440-L510) initializes the client without Headers, and its [generated…

[Read the thread](https://github.com/activeing123/mcptoon/issues/24) · 2026-09-25 · closed · external user · 3 comments

### 🐛 fix(native): mcptoon_health emits uptimeSeconds: -0.0, which fails strict JSON lossless checks in clients

## Problem

`mcptoon_health` is rejected by MCP clients that validate whether a tool result survives a JSON round trip. With DSH (DeepSeek Harness) as the client every call fails:

```
tool "mcptoon_health" returned invalid output: value is not lossless JSON
```

The sibling native tools work in the same session — `mcptoon_servers`, `mcptoon_manifest` and `mcptoon_usage` all return normally — so the gateway itself is healthy.

**Environment**
- mcptoon 0.7.23 (`mcptoon serve` over stdio),…

[Read the thread](https://github.com/activeing123/mcptoon/issues/23) · 2026-09-25 · closed · external user · 2 comments

### [bug] serve drops structuredContent (uses call() instead of call_full()) while tools/list still advertises outputSchema — strict MCP clients reject the response

## Summary

`mcptoon serve` advertises each tool's `outputSchema` in `tools/list`, but builds the `tools/call` response with `MCPClientPool.call()`, which **unwraps `structuredContent` away**. Per MCP spec, a tool that declares an `outputSchema` MUST return `structuredContent` — so strict clients reject every result of those tools, even though the upstream server behaved correctly.

## Root cause (4 places, all in `src/mcptoon/`)

**1. `client.py:915-930` — `_extract_content()` unwraps the…

[Read the thread](https://github.com/activeing123/mcptoon/issues/22) · 2026-09-25 · closed · external user · 2 comments

### [BUG] `mcptoon health` fails for HTTP transport

## Describe the bug

`mcptoon health` fails when checking servers configured with an `http` transport because `src/mcptoon/health.py` constructs the client as `MCPClient(http_url=url, headers=headers, timeout=timeout)`, but `MCPClient` does not accept an `http_url` parameter. As a result, the health command breaks whenever any HTTP servers are configured.…

[Read the thread](https://github.com/activeing123/mcptoon/issues/18) · 2026-09-10 · closed · external user · 2 comments

### spec="auto" deadlocks legacy stdio servers whose probe output fills the unread stderr pipe

## Summary

Any stdio server that writes more than one pipe buffer (~4 KB) to **stderr**
while handling the `spec="auto"` probe will **deadlock**. It blocks writing to
stderr, so it never answers `server/discover` — and then never answers the
legacy `initialize` fallback either. From the user's side it looks like the
server "went silent" (`RESPONSE_TIMEOUT`).

`spec="legacy"` avoids it, because the probe (and its stderr spam) never happens.

## Root cause

`_spawn_stdio()` opens the child with…

[Read the thread](https://github.com/activeing123/mcptoon/issues/19) · 2026-09-17 · closed · 0 comments

## Most recent

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