Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/shelbymcp/issues.md or /mcp/shelbymcp/issues.json, or Pod over MCP.

Reported issues for shelbymcp

Pod holds 22 of 37 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 shelbymcp.

Most discussed

Memory: repair/back-fill CLI + Forage hygiene pass for project_identifier

Goal

A one-shot shelbymcp repair-projects (dry-run default) and a recurring Forage hygiene pass that populates project_identifier on existing null/path rows and flags leaks. This is the validation harness for the whole fix — run it against the current messy DB and confirm get_brief/Essentials de-pollute.

Inference order (per thought, highest confidence first)

  1. existing project path basename → known-repo map (also normalize the absolute-path values from the 2026-06-08 partial

Read the thread · 2026-06-09 · closed · 3 comments

HMC-04B: Mirror curated live briefs in TypeScript

Parent: Studio-Moser/Shelby-Docs#445

Goal

Mirror the canonical deterministic curated get_brief policy in Shelby-MCP.

Done when

TypeScript matches Swift fixtures and output semantics for scope, trust, consolidation/refutation/sensitivity, explicit roles, deduplication, token trimming, structured items, and diagnostics; contract tests pass.

Dependencies

HMC-00 and HMC-03. Coordinate with HMC-04A; neither twin merges without the other in flight.

Source of truth

Read the thread · 2026-07-17 · closed · 2 comments

Read tools don't auto-default scope to cwd project — search/list/get_brief leak all projects unless explicitly scoped

Capture auto-resolves project_identifier from cwd (#8), but READ tools (search_thoughts/list_thoughts/get_brief) only scope when project_identifier is explicitly passed — no cwd default. So an agent calling search/get_brief without the slug gets EVERY project's memory (contamination by default); the capture schema even says 'auto-resolved from cwd if omitted' — reads should match. Fix: server-layer default that resolves cwd→slug + applies it (with include_shared) when the caller omits

Read the thread · 2026-06-10 · closed · 2 comments

Memory: search_thoughts ignores project scope (list honors it) + re-tag read lag

Problem

Observed during audit: list_thoughts honors project = @project but search_thoughts (hybrid/vector) returns cross-project results even when scoped. Separately, re-tagging 16 thoughts' project reflected in only ~7 scoped reads — read-after-write / FTS-index lag.

Fix

Pla

Read the thread · 2026-06-09 · closed · 2 comments

Enforce caller-based trust assignment

Description

Restrict which callers can claim trusted and prevent external records from becoming trusted silently. Map caller identity to a maximum assignable trust level so trust_level functions as an enforced write boundary rather than an advisory label.

Triage-review verdict: Verified: trust_level is caller-supplied, defaults trusted — memory-poisoning bypass

Source

Read the thread · 2026-08-12 · open · 1 comment

Build a memory-quality eval harness

Description

Adopt MemoryBench’s MemScore triple and LongMemEval retrieval-only metrics, including Recall@k and NDCG@k, with a Shelby provider adapter. This is the prerequisite for every prompt optimizer and the only way to measure memory quality when model weights are frozen. Sources: https://github.com/supermemoryai/memorybench and https://arxiv.org/abs/2410.10813

Triage-review verdict: Memory-quality eval harness for Shelby-MCP — credibility for the memory-frameworks lane (absorbs ite

Read the thread · 2026-08-12 · closed · 1 comment

HMC-03: Harden MCP roots and project scope resolution

Parent: Studio-Moser/Shelby-Docs#445

Goal

Harden Shelby-MCP project resolution so the first scoped request awaits MCP roots and ambiguity fails safely.

Done when

Resolution follows explicit slug → roots → registry longest path → normalized git remote → shared slugify → unresolved; first-request races are covered; ambiguous reads are shared-only; ambiguous personal captures fail actionably; URI/symlink/worktree fixtures pass.

Dependencies

HMC-00. Can run in parallel with HMC-01/HMC-02

Read the thread · 2026-07-17 · closed · 1 comment

Add an MCP tool for creating registered projects

Problem

Shelby MCP memory operations require a registered project_id or project_identifier, but the MCP exposes no way to create that registration. Agents must leave the MCP workflow and use Shelby’s Projects UI, so setup automation and headless clients cannot complete project onboarding.

Desired behavior

Add a write-capable MCP tool that creates a standalone registered project and returns its canonical identity.

Acceptance criteria

Read the thread · 2026-08-23 · open · 0 comments

Most recent

MH-04: Bench experiment — does the injected brief earn its tokens?

What

On top of the MH-01 bench, build and run the experiment that measures whether the injected get_brief earns its tokens: do sessions actually reference injected brief items, and at what token cost — especially on the 4096-token on-device AFM path. Report the data plus a go/no-go recommendation on gating or scoping brief injection by session type.

Why

The deep-dive: "when the task fits in context, memory adds no capability, only cost." Shelby injects a brief every session — curren

Read the thread · 2026-08-18 · open · 0 comments

MH-02: Fold ledger signals into search_thoughts re-ranking

What

Fold decisions-ledger signals into search_thoughts re-ranking, or add an explicit "ranked" mode.

src/tools/search.ts (hybrid path ~line 206) ranks results purely by Reciprocal Rank Fusion (K=60) of FTS + vector rank. It never consults reinforcement_count, last_confirmed_at, or briefRole — the exact signals brief-policy.ts already uses to build the (validated) ranked brief.

Why

The deep-dive's core result: a ranked ledger beats vector/RRF similarity on long-horizon recall

Read the thread · 2026-08-18 · open · 0 comments

Reconciliation candidate width differs across engines (TS 20 vs Swift 5) — last parity gap after §§6b–6g

Flagged by the cross-engine parity re-review during the #54/#290 memory-contract sprint. Pre-existing (predates these PRs), tracked here so it isn't lost.

The asymmetry

Reconciliation considers a different number of FTS candidates per engine:

So a duplicate/reversal that FTS ranks low (6th–20th) can reconcile (noop / merge / supersede) in MCP but be treated as a brand-new thought in macOS — a silent behavioral

Read the thread · 2026-08-17 · open · 0 comments

Resolve migration-number sharing contract: MCP v12–v17 gap is a landmine iff DB files are shared with macOS

Surfaced by the cross-engine parity review during the #54/#290 memory-contract sprint.

The hazard

Both engines advance to migration v18 for the topic-canonicalization backfill, but MCP (TypeScript) has no migrations for v12–v17 — it jumps 11 → 18. macOS occupies v12–v17 (including v17's thought_edges.metadata, which claim-scoped refutation queries depend on).

This is only a problem if a single physical SQLite database file is ever opened by both engines. If so:

Read the thread · 2026-08-17 · open · 0 comments

Bring the MCP memory engine into revised-ADR-0001 compliance

Goal

Bring the TypeScript memory engine into compliance with the revised ADR 0001 (six decisions, 2026-08-15). Parity sibling: the macOS compliance issue. Contract source: the ADR-revision issue.

Chunks (each = one decision, each independently testable)

  1. Correction supersedes on reversalsrc/db/reconciliation.ts reconcile() (:37), jaccard() (:31), NOOP_THRESHOLD (:55). A NOOP must now require high token-set Jaccard and high ordered-sequence similarity (normalized edi

Read the thread · 2026-08-15 · closed · 0 comments

ShelbyMCP skills: adopt fast-path / lazy-reference / parallel-subagent patterns

Description

Adopt Graphify's skill-authoring patterns in shelby-forage/shelby-onboard: (a) fast-path gate at top ('if memory exists and this is recall, search first'); (b) lean always-loaded body + lazily-loaded references/*.md; (c) parallel-subagent hard-rules (dispatch all in one message, use a writable subagent type not read-only Explore, on-disk file = success signal, chunk by locality, cache-check before dispatch). Independent.

Source

Read the thread · 2026-08-14 · open · 0 comments

Design Shelby-MCP documentation for agent consumption

Local backlog ID: #185 Section: AI Memory Source: research Found: 2026-04-28

Item

Design Shelby-MCP documentation for agent consumption (Agentic Relations pattern) — when an AI agent generates a broken Shelby integration, the developer debugs silently or abandons. No support ticket. Traditional DevRel metrics miss this. Audit Shelby-MCP README, tool descriptions, and error messages for agent-parseable structure (explicit parameter types, example JSON, structured error codes)

Read the thread · 2026-08-14 · open · 0 comments

Add alwaysLoad: true to all Shelby-MCP setup examples and documentation

Local backlog ID: #207 Section: MCP Ecosystem Source: research Found: 2026-04-30

Item

Add alwaysLoad: true to all Shelby-MCP setup examples and documentation — Claude Code v2.1.121 ships alwaysLoad boolean on MCP server config entries. When true, all tools from that server skip tool-search deferral and are immediately available. Add to README setup snippets, Guides/agent-extension-surfaces.md Claude Code section, and all published config examples. Free discoverability

Read the thread · 2026-08-14 · open · 0 comments

Add MCP instructions field to Shelby-MCP initialize response

Local backlog ID: #171 Section: MCP Ecosystem Source: deep-dive:qmd Found: 2026-04-27

Item

Add MCP instructions field to Shelby-MCP initialize response — dynamic prompt listing projects, capability gaps ("X% of thoughts lack embeddings"), and search examples. qmd's buildInstructions() in src/mcp/server.ts is the reference (~60 lines). Gives the LLM immediate context about what's searchable BEFORE any tool cal

Read the thread · 2026-08-14 · open · 0 comments

Trust filtering or fencing on the memory read paths

Under epic Studio-Moser/Shelby-Docs#350. Sibling to #41, which covers the write boundary (who may claim trusted); this covers the read boundary (what happens to non-trusted content on the way back out). Both are needed — #41 alone leaves already-stored external content flowing unmarked.

Contract change: touches both codebases per ADR-0001. This body is the light spec.

Problem

get_brief is the only read path that respects trust_level, and every other one ignores it.

Verified

Read the thread · 2026-08-13 · closed · 0 comments

Secure the npm server defaults

Description

Default HTTP binding to 127.0.0.1, require explicit opt-in for 0.0.0.0, and refuse unauthenticated serving unless --insecure is passed. Gate npm publication on upgrading the MCP SDK affected by CVE-2026-0621; relevant locations include config.ts:111-113 and SECURITY.md.

Triage-review verdict: Verified: npm HTTP transport binds 0.0.0.0 by default + open SDK CVE — worst gap found (P0)

Source

Read the thread · 2026-08-12 · open · 0 comments

Protect retrieved thought content from injection

Description

Extend the existing summary injection screen to content returned by search_thoughts and get_thought, or wrap bodies in explicit untrusted-content delimiters. This applies the rule that retrieved data is evidence, never instructions, to the currently unscreened search path.

Triage-review verdict: Verified: get/search return raw thought content unscreened — injection path (principle #7)

Source

Read the thread · 2026-08-12 · open · 0 comments

Scan inbound capture_thought content for injection

Description

Add normalization and regex scanning to inbound capture_thought content, stripping zero-width or invisible Unicode and flagging obvious injection markers by downgrading trust_level. This closes the remaining unguarded write path and addresses the attack class behind Goose’s patched goose review vulnerability; see https://github.com/aaif-goose/goose/releases.

Triage-review verdict: capture_thought injection scanner — last live remnant of the goose-refresh security action, che

Read the thread · 2026-08-12 · open · 0 comments

Ship an eve and AI SDK memory integration guide

Description

Show how to wire Shelby-MCP into an eve agent through AI SDK 6's MCP client, framing it as agent/connections/shelby or an MCP toolset. eve ships no persistent memory and directs users to bring their own, creating a Vercel-scale distribution opportunity; see https://github.com/vercel/eve and https://vercel.com/blog/ai-sdk-6.

Triage-review verdict: eve/AI-SDK integration guide — distribution play in the memory-frameworks lane, same pattern as MCP#35 (absorbs 154)

Absorbs:

Read the thread · 2026-08-12 · open · 0 comments

The remaining reports are on the project's issue tracker.