Reported issues for Orchyn
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 Orchyn.
Most discussed
"Track what @x is doing" picks analyze_creator_profile, never track_competitor
What's wrong
The quest prompt "Track what @fixture_creator_1 has been doing on TikTok, and keep an eye on them from now on" selected analyze_creator_profile in 3 of 3 runs. track_competitor — the tool whose name is literally the user's own verb — was never called. (The host did go on to watch_creator correctly, so the second half of the journey works.)
This is a tool-selection collision, not a chaining failure, and it is invisible to every other tier in the repo: both tools…
Read the thread · 2026-09-07 · closed · outside contributor · 1 comment
show_* tools are never retrieved — a tool nobody searches for steers nothing
What's wrong
64 tools is past the point where Claude Code keeps them all in context, so every one of them sits behind a ToolSearch and only enters context if a search returns it. Over the 36 quest runs whose expected chain ends in a show_* tool:
| called | |
|---|---|
ToolSearch never returned the show_* tool |
0 / 18 |
ToolSearch did return it |
14 / 18 |
the model's first ToolSearch query already named it |
9 / 10 |
| it was not in the first query | 5 /… |
Read the thread · 2026-09-07 · closed · outside contributor · 1 comment
A sessionless tools/call is rejected 400 because reInitialize() gives the transport a session the client never learned
Separate from #64 (which is the protocol-version rejection and accounts for every Claude
400): a tools/call can arrive with no mcp-session-id header and be rejected 400 by
the SDK's session validation. Observed on openai-mcp/1.0.0:
09-07 06:52 ua=openai-mcp/1.0.0 method=tools/call proto=None sid=no → 400 (480ms)
09-07 06:52 ua=openai-mcp/1.0.0 method=None proto=None sid=no → 400 ( 92ms)
Rare — 2 in a ~10% Workers Logs sample over 7 days, so on the order of…
Read the thread · 2026-09-08 · closed · outside contributor · 0 comments
The OAuth metadata document 404s at the path-inserted URL RFC 9728 tells clients to build, so spec-compliant discovery fails before it finds the working root form
RFC 9728 tells a client that knows the resource is https://mcp.nooticr.com/mcp to build
the metadata URL by inserting the well-known segment before the resource path:
https://mcp.nooticr.com/.well-known/oauth-protected-resource/mcp
We only match the bare root form, so that request 404s.
GET /.well-known/oauth-protected-resource/mcp 404 75 reqs ua=undici (MCP TS SDK), node
GET /.well-known/oauth-protected-resource 200 65 reqs ua=undici
$ curl -o /dev/null -w…
[Read the thread](https://github.com/Nooticr/nooticr-mcp/issues/65) · 2026-09-08 · open · outside contributor · 0 comments
### Claude negotiates MCP protocol 2026-07-28, the pinned SDK stops at 2025-11-25, and every such request is rejected with HTTP 400
Claude's newer client negotiates **`MCP-Protocol-Version: 2026-07-28`**. The bundled
SDK's supported list stops at `2025-11-25`, so `validateProtocolVersion()` rejects the
request with **HTTP 400** before any method dispatch happens. Those sessions never get
as far as `tools/list` — the server is simply unusable for that client.
It is **26.1% of Claude's authenticated POSTs to `/mcp`** (130 of 498 over 7 days),
present every hour of every day in the window.
> **Correction to the first version…
[Read the thread](https://github.com/Nooticr/nooticr-mcp/issues/64) · 2026-09-08 · closed · outside contributor · 0 comments
### find_people_with_problem builds ungrammatical queries and sends whole sentences to a keyword search — its own no-results guidance names the failure its query builder causes
The tool exists because feeding a pain point into `discover_social_posts` as a `niche` matched on the sentence's commonest words and returned marketing. It widens the query instead — but the widening makes the same mistake, and in two of three shapes makes it worse.
## What it actually sends
`src/shared/jobs.ts`:
```ts
const shapes = [
{ shape: "plain", query: problem },
{ shape: "shared", query: `anyone else ${problem}` },
{ shape: "asking", query: `is there a way to ${problem}` },…
[Read the thread](https://github.com/Nooticr/nooticr-mcp/issues/60) · 2026-09-08 · closed · outside contributor · 0 comments
### The evidence reaches only one of the two channels, and the host decides which — on Claude.ai the model gets "Here are 4 comments" and no comments
#44 found that **guidance** was landing in a channel Claude Code drops. #51 fixed that by writing guidance into both channels. This is the same defect pointed the other way, and it is worse: the **evidence** still lives in one channel only, and on the host this connector actually ships to, that is the channel the model never sees.
## From a real session
A user called `find_people_with_problem` on Claude.ai. The full tool result the model received, verbatim:
17 posts that might be someone…
Read the thread · 2026-09-08 · closed · outside contributor · 0 comments
A failing platform gets retried with reworded queries instead of reported
What happened
From a real session, after Reddit's discovery endpoint started failing (Nooticr/nooticr-server#50):
discover_social_posts { platform: "reddit", niche: "creator burnout tracking analytics multiple platforms manually" } → error
discover_social_posts { platform: "reddit", niche: "tired of manually checking competitor social media posts" } → error
discover_social_posts { platform: "reddit", niche: "social media analytics burnout small business" } →…
[Read the thread](https://github.com/Nooticr/nooticr-mcp/issues/49) · 2026-09-07 · closed · outside contributor · 0 comments
## Most recent
### No tool answers "find people who have the problem my product solves"
## What happened
From a real session. *"Please search on X and Reddit for people that might see our product (nooticr) as a great use for their daily struggle."*
A clear, common, commercially central request: **find prospects by the pain they describe.** The model reached for `discover_social_posts` and fed the pain point in as the `niche`:
discover_social_posts { platform: "twitter", limit: 8, niche: "struggling to track social media analytics competitor research"…
Read the thread · 2026-09-07 · closed · outside contributor · 0 comments
Guidance never reaches Claude Code — move it inside structuredContent
What's wrong
evidence.ts's premise is stated in its own header:
"A tool result is the only channel to the calling model — prompts are user-controlled and cannot drive anything. So the guidance below is not documentation; it is the steering, and it lands in the model's context."
It does not land. When a tool result carries structuredContent, Claude Code drops every content text block, keeps the non-text blocks, and appends the serialised structuredContent as the only text…
Read the thread · 2026-09-07 · closed · outside contributor · 0 comments
"What should I tag?" is answerable on one network out of ten
The gap
The discovery half of the surface is deliberately wide — discover_social_posts
sweeps nine networks, get_user_posts reads ten, search_mentions monitors
nine. The two tools that answer what to attach to a post are not:
| tool | reach | source |
|---|---|---|
discover_hashtags |
TikTok only | TikTok Creative Center trend board |
discover_sounds |
TikTok + Instagram | SOUND_PLATFORMS |
discover_hashtags does not even take a platform argument — its inputs are…
Read the thread · 2026-09-06 · closed · outside contributor · 0 comments
Every creator is measured only against themselves — nothing benchmarks you against a competitor, or two creators against each other
The gap
The surface has a strong, deliberate stance on baselines, and it applies it in
one direction only. track_competitor:
scores each against the median of that same window, because a raw view count mostly measures follower count — outperformance against themselves is the signal
why_did_this_underperform does the same for one post:
One post measured against the creator's own recent median rather than against another post ... excludes the post from its own baseline
That…
Read the thread · 2026-09-06 · closed · outside contributor · 0 comments
The harness has no memory: every tool is a fresh fetch, so "what changed since last month" cannot be asked at any price
The gap
README frames this server as three things — read, understand, make — plus "it monitors a name". Every one of the 64 tools answers about now. Nothing answers about change, and no amount of credits buys the answer, because the past was never kept.
Three tools come close and each stops one step short:
| tool | what it remembers | what it cannot tell you |
|---|---|---|
catch_up_watchlist |
a per-creator snapshot marker, moved forward on each run | how often they post,… |
Read the thread · 2026-09-06 · closed · outside contributor · 0 comments
The remaining reports are on the project's issue tracker.