1. Conduid
  2. Developer Tools
  3. io.github.carloshpdoc/memorydetective
MCP server · Developer Tools

io.github.carloshpdoc/memorydetective

iOS leak/perf debugging via MCP: memgraph cycles, .trace analysis, SourceKit-LSP bridging.

Unclaimed devtools
37Low

Scored 5 months ago · breakdown

About io.github.carloshpdoc/memorydetective

io.github.carloshpdoc/memorydetective is an MCP server published by carloshpdoc in the Developer Tools category: iOS leak/perf debugging via MCP: memgraph cycles, .trace analysis, SourceKit-LSP bridging.

The repository has 14 stars and 0 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

Claude Code
claude mcp add io-github-carloshpdoc-memorydetective -- npx -y memorydetective
npx
npx -y memorydetective

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (15)

analyzeAbandonedMemoryDiff two `.memgraph` snapshots on heap reference-tree class counts (not cycle list) and classify each grown class as `kvo-observer-orphaned`, `notificationcenter-observer-leaked`, `cache-too-aggressive`, `singleton-retains-payload`, or `unknown-growth`. Surfaces the family of bugs `leaks(1)` reports as `leakCount: 0` because no strict cycle exists. v1.10 adds `actionableGrowth[]` + `actionableShrinkage[]` (framework-noise-filtered views) and supports `outputFormat: "verify-fix-table"` which emits a focused Class \

Parameters not published.

analyzeAllocationsParse `xctrace` `allocations` schema; return per-category aggregates (cumulative bytes, allocation count, lifecycle = transient/persistent/mixed) and top allocators.

Parameters not published.

analyzeAnimationHitchesParse `xctrace` `animation-hitches` schema; report by-type counts and how many hitches crossed Apple's user-perceptible 100ms threshold.

Parameters not published.

analyzeAppLaunchParse `xctrace` `app-launch` schema; return cold/warm launch type + per-phase breakdown (process-creation, dyld-init, ObjC-init, AppDelegate, first-frame).

Parameters not published.

analyzeHangsParse `xctrace` `potential-hangs` schema; return Hang vs Microhang counts + top N longest. Pass `topFramesByHangStartNs` (typically from a chained `analyzeTimeProfile` correlation) to enrich each top hang with `mainThreadViolations[]` classifying the blocker as `sync-io`, `db-lock`, `network`, or `lock-contention`.

Parameters not published.

analyzeMemgraphRun `leaks` against a `.memgraph` and return summary (totals, ROOT CYCLE blocks, plain-English diagnosis).

Parameters not published.

analyzeTimeProfileParse `xctrace` `time-profile` schema; return top symbols by sample count. Reports SIGSEGV with workarounds when xctrace can't symbolicate.

Parameters not published.

classifyCycleMatch each ROOT CYCLE against a built-in catalog of **36 named antipatterns** (SwiftUI / Combine / Concurrency / UIKit / Core Animation / Core Data / Coordinator / RxSwift / Realm) with confidence + textual `fixHint` + `staticAnalysisHint` (which SwiftLint rule complements this, or explicit gap) + `fixTemplate` (Swift before/after snippet).

Parameters not published.

countAliveCount instances by class. Provide `className` for one number, or omit for top-N most-leaked classes. v1.17: configurable noise filter (`excludeFrameworkNoise`, `additionalNoisePatterns`, `unsuppressClassPatterns`, `noiseAuditMode`) so the actionable view is tunable per app. Variable-size classes report `instanceSizeBytesMin / Max / Median` (was first-observed value pre-v1.17).

Parameters not published.

diffMemgraphsCompare two `.memgraph` snapshots: total deltas + class-count changes + cycles new/gone/persisted.

Parameters not published.

Show all 15 tools
findCyclesExtract just the ROOT CYCLE blocks as flattened chains, with optional `className` substring filter.

Parameters not published.

findRetainers"Who is keeping `<class>` alive?". Returns retain chain paths from a top-level node down to the match.

Parameters not published.

logShowOne-shot query of macOS unified logging via `log show --style compact` with predicate / process / subsystem filters. Returns parsed entries (timestamp, type, process, subsystem, category, message).

Parameters not published.

reachableFromCycleCycle-scoped reachability. "How many `<X>` instances are reachable from the cycle rooted at `<Y>`?". Distinguishes the actual culprit from its retained dependencies.

Parameters not published.

verifyFixCycle-semantic diff: per-pattern PASS/PARTIAL/FAIL verdict + bytes freed. CI-gateable. `expectedAliveClasses` whitelist (v1.14) carves out singletons / caches / OS-retained windows so they do not vote FAIL; v1.17 extends each entry to per-mode matching (`{ pattern, mode: "exact" \

Parameters not published.

Ask AI

✦

Ask AI about io.github.carloshpdoc/memorydetective

Powered by Claude · Grounded in docs

I know everything about io.github.carloshpdoc/memorydetective. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

6 checks have not been run yet.

Questions

About io.github.carloshpdoc/memorydetective

How do I install io.github.carloshpdoc/memorydetective?

Run claude mcp add io-github-carloshpdoc-memorydetective -- npx -y memorydetective, then add the server to your MCP client's configuration.

Is io.github.carloshpdoc/memorydetective safe to use with an AI agent?

Its trust score is 37 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.carloshpdoc/memorydetective still maintained?

Yes — the last commit was 5 months ago. The repository has 14 stars and 0 forks.