GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Descripción del creador (original en inglés)
iOS leak/perf debugging via MCP: memgraph cycles, .trace analysis, SourceKit-LSP bridging.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"memorydetective": {
"command": "npx",
"args": [
"-y",
"memorydetective"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add memorydetective -- npx -y memorydetectivePégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"memorydetective": {
"command": "npx",
"args": [
"-y",
"memorydetective"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"memorydetective": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"memorydetective"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub carloshpdoc, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.18.1) llegó al registro hace 6 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: GitHub, Desktop Commander, Cloudflare MCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
English · Português brasileiro
Diagnose iOS retain cycles and performance regressions from your chat window. No Xcode required.
.memgraph files captured by Xcode (or by memorydetective itself on simulators), find ROOT CYCLEs, classify them against known SwiftUI/Combine patterns, and get a one-liner fix hint. All from a script or a chat.xctrace; sample-level Time Profile is parsed when xctrace symbolicates the trace and returns a structured workaround notice when it can't (the underlying xctrace SIGSEGV on heavy unsymbolicated traces is an Apple-side limitation we surface explicitly). Memory Graph capture works on Mac apps and iOS simulator; physical iOS devices still need Xcode.What's new in v1.18 (2026-05-17): MetricKit + audit-close. `analyzeMetricKitPayload` is the 42nd MCP tool: ingests Apple MetricKit
.mxdiagnosticJSON payloads from real-device TestFlight / App Store builds (post-mortem production diagnostics, no MCP competitor covers this lane today). Three actionable outputs: crash clusters by exception type / binary / top frame, hang hotspots with localized-duration parsing ("5.4 sec"/"20秒"), CPU + disk exceptions. Cross-tool chain hints (e.g.objc_release-style top frame surfaces afindCyclessuggestion). Plus three audit-close items: open-enumSupportStatusKind(downstream consumers add kinds without a breaking type bump), invocation-scopedschemaDiscoverycache (summarizeTraceend-to-end shaved from ~28s to ~15s on real Apple traces via single up-front TOC fetch), and local-only integration tests against real Apple.tracebundles (closes the v1.14 P+O drift class for good). 701 → 757 tests. 41 → 42 MCP tools.
Also recent (v1.17): reliability pass. 14 bug fixes across three tiers. Headlines: strtobool env truthy parsing,
verifyFixwhitelist match modes (exact / substring / regex),recordViaInstrumentsAppcatches traces saved outsidewatchDir,inspectTracefault-tolerant fallback, configurablecountAliveframework-noise filter, variable-size class min/max/median.
And v1.16: macOS 26.x recording-unblock release. New
recordViaInstrumentsAppMCP tool wraps the Instruments.app GUI flow: opens the app, surfaces step-by-step instructions, watches a directory for the saved.trace, and chains intoinspectTraceon success. Until Apple fixes thexcrun xctrace recordregression on macOS 26.x sims, this is the automated path.
And v1.15: schema coverage + verify-fix UX. Three new MCP trace tools filled the remaining schema gap:
analyzeMemoryFootprint(38th, VM resident / dirty / virtual + jetsam diagnosis),analyzeEnergyImpact(39th, battery drain investigation),analyzeLeakTimeline(40th, xctrace's leaks instrument as a time series).summarizeTracenow chainsanalyzeNetworkActivity.replayScenariocaptures simulator screenshots per step.
Earlier: v1.14 trace-side reliability,
analyzeNetworkActivity, unifiedsupportStatus[], FLEX-inspiredcountAlivesize view, MLeaksFinder + DebugSwift-inspiredverifyFixwhitelist. v1.13 shippedsummarizeTrace+/summarize-traceMCP prompt. v1.12 completed reference-tree propagation. v1.11 added inspectTrace, diffMemgraphs reference-tree. v1.9 shipped analyzeAbandonedMemory, detectLeaksInXCTest, cleanupTraces, mainThreadViolations. Full notes in CHANGELOG.
Heads up for macOS 26.x users: Apple shipped a
task_for_pidkernel regression on macOS 26.x that blocksleaks --outputGraph,heap, ANDxctrace --template Allocationsagainst iOS simulator processes regardless ofMallocStackLogging. Even Xcode's "View Memory Graph Hierarchy" hits it unlessMalloc Stack Loggingis enabled in the scheme's Diagnostics tab. memorydetective surfaces this as a proactiveplatformAdvisoryon the first capture-class tool call, plus aworkaroundNoticewithissue: "macos-26-task-for-pid-broken"ifleaksis invoked. The most reliable workaround today is to target an iOS 18 simulator runtime (install via Xcode > Settings > Platforms > +iOS 18.x). Empirically validated in the notelet investigation 2026-05-12 where three independent CLI memory-introspection paths all failed before iOS 18 was identified as the working escape hatch. SetMEMORYDETECTIVE_SUPPRESS_PLATFORM_ADVISORY=1to silence the notice once you have settled on a workaround.
Also on macOS 26.x: `xctrace record` is broken for simulator targets. Independent from the
task_for_pidregression above,xcrun xctrace record --time-limit Nsagainst iOS simulator processes wedges past the time limit, eventually exits when killed, and the resulting.tracebundle is missing template metadata.xctrace export --tocthen fails withDocument Missing Template Error. Re-validated against Xcode 26.5 (build 17F42, xctrace 16.0) 2026-05-15: regression survives the update. This hits the entirexctrace-based ecosystem the same way (memorydetective.recordTimeProfile, XcodeTraceMCP, and nakedxcrun xctrace recordcalls all fail identically). Workarounds: (1) use `recordViaInstrumentsApp` (v1.16, hardened in v1.17), which opens Instruments.app for you, prompts you to record + save the.trace, then chains intoinspectTraceautomatically once the bundle appears. v1.17 also catches saves outside the watch directory via an Instruments.app AppleScript document query, returningsavedOutsideWatchDir: trueplus the actual path; (2) record from an older macOS host with Xcode 26.0 if you have one; (3) record against a physical device (the regression appears to be simulator-specific). v1.17 added a viability probe onrecordTimeProfile(bundleStatus: "wedged"when the on-disk bundle is the 52K stub) and oninspectTrace(returnsok: truewith diagnosis text instead of throwing). USAGE.md > Troubleshooting has a step-by-step.
npm install -g memorydetective
Add to your MCP client config (Claude Code shown):
// ~/.claude/settings.json
{ "mcpServers": { "memorydetective": { "command": "memorydetective" } } }
Or use it directly from the command line:
memorydetective analyze ~/Desktop/myapp.memgraph
memorydetective classify ~/Desktop/myapp.memgraph
→ See Examples for chat-driven flows · API for the full tool reference · Configure for Claude Desktop / Cursor / Cline · USAGE.md for the full walkthrough including how fixes flow from diagnosis to your codebase.
Realistic chat snippets. The agent calls the MCP tools listed in API.
You: I just exported a memory graph at
~/Desktop/example.memgraph. Something's leaking after I close a detail screen. What is it?
Claude: *(calls
analyzeMemgraph→classifyCycle)*
Found 4 ROOT CYCLE blocks across 60,436 leaks. The dominant one matches swiftui.tag-index-projection with high confidence. A closure attached via
.tag()on a photo carouselForEachis capturingselfstrongly through_viewModel.wrappedValue, which keepsDetailViewModeland the navigation coordinator alive after dismissal.
Suggested fix: replace
[weak self]capture in the tap handler with a static helper, or weak-capture the view-model via[weak coord = self.coordinator]. Want me to find the exact file?
You: I shipped the fix. Compare
~/Desktop/before.memgraphto~/Desktop/after.memgraphand tell me whetherDetailViewModelcount dropped.
Claude: *(calls
diffMemgraphs→countAlive)*
DetailViewModel: 12 → 0 (delta-12). Theswiftui.tag-index-projectioncycle is gone. Total leak count fell from 60,436 to 55,576 (−4,860). Three other ROOT CYCLEs persist. They're SwiftUI internals, not your code.
When leaks --outputGraph fails on macOS 26.x (Failed to get DYLD info for task), the cause is usually that the app was not launched with MallocStackLogging=1. The new orchestration tools handle this end to end without you wiring up xcodebuild + simctl + axe yourself.
You: Reproduce the leak in
MyAppfor me. Build, launch with the right env vars, repeat the photo carousel flow 5 times to amplify it, capture before, then I'll ship the fix and you capture after.
Claude: *(calls
bootAndLaunchForLeakInvestigation)*
Built + booted iPhone 15 (UDID
ABCD-...). LaunchedMyApp(PID49581) withMallocStackLogging=1. Bundle idcom.example.MyApp.
*(calls
replayScenariowith 5 taps on the carousel + back-button cycle, repeat 5)*
Executed 25 actions in 12.3s. No failures.
*(calls
captureScenarioState({label:"before"}))*
Wrote
before.memgraph(63,201 leaks),before.png,before.ui.json.MallocStackLoggingactive, no workaroundNotice.
*(you ship the fix and rebuild)*
*(calls
bootAndLaunchForLeakInvestigation+ replay +captureScenarioState({label:"after"}))*
*(calls
diffMemgraphs→verifyFix)*
DetailViewModel: 15 → 0.swiftui.tag-index-projectionPASS. Bytes freed: 28.4 MB.
You: Profile DemoApp on my iPhone for 90 seconds and tell me where the hangs are.
Claude: *(calls
listTraceDevices→recordTimeProfile→analyzeHangs)*
Recorded
~/Desktop/run.trace(90s, attached to DemoApp on iPhone 17 Pro Max). Found 23 user-visible hangs (>500 ms each), longest 1.16 s, average 769 ms. Severe load. All on the main thread. Sample-level hotspots aren't symbolicated yet; open the trace in Instruments for that step (analyzeTimeProfilereturns a structured workaround notice whenxctracecan't symbolicate. See CHANGELOG known limits).
You: I have a folder of
.mxdiagnosticfiles from the last 30 days of TestFlight at~/Downloads/metrickit-may/. What's catching real users?
Claude: *(calls
analyzeMetricKitPayload({ payloadDir: "~/Downloads/metrickit-may/" }))*
47 payloads, 2026-04-15 → 2026-05-15. Top: 18 crashes EXC_BAD_ACCESS clustered on the same top frame, all in builds 456 and 457 (clean on 458 + earlier). Pattern matches retain-cycle release; chain hint surfaces
findCyclesnext.
Second: 5.4s hang on
libsqlite3.dylib(3 samples). Patterndb-lock. If you reproduce locally, chain intoanalyzeHangswithincludeStackClassification: truefor themainThreadViolations[]classifier.
No symbolicated frames in v1.18 (raw
binaryUUID + offsetshipped; dSYM lookup is a separate tool, future release). Localized hang strings handled: input was"5.4 sec", normalized to 5400ms; one diagnostic carrie
Solo se muestra el principio; lee el resto en el repo