memorylens-mcp — MCP-сервер для Claude Code
Снимает снимки кучи .NET-процесса через EventPipe и ищет утечки. Пригодится, когда приложение ест память, а профилировщик ставить не хочется.
claude mcp add memorylens-mcp -- npx -y memorylens-mcpЧто делает memorylens-mcp
Сервер подключается к работающему .NET-процессу по pid, вызывает сборку мусора и раскладывает кучу по типам: сколько объектов и сколько байт. Снимки ложатся небольшими JSON-файлами во временный каталог, на них ссылается короткий id. Внутри — движок правил: он прогоняет снимок и возвращает находки с указанием, что чинить в коде.
Правил десять, от ML001 до ML010. Среди них утечки обработчиков событий, безгранично растущие статические коллекции, невызванный Dispose, фрагментация Large Object Heap, лишние аллокации в горячем пути. Поведение настраивается файлом .memorylens.json в корне проекта: правило можно выключить или поменять ему важность.
Перед запуском нужен .NET 10 SDK на PATH — npm-пакет кода сервера не содержит, он ставит глобальный инструмент MemoryLens.Mcp и запускает его. На Linux и в контейнерах подключение к диагностической точке процесса требует совпадающего UID или SYS_PTRACE, иначе снимок не снять.
Какие задачи решает
- найти, какой тип держит память после долгой работы сервиса
- сравнить два снимка кучи до и после нагрузки
- поймать утечку обработчиков событий
- проверить, растёт ли статическая коллекция без границ
- получить список процессов .NET, доступных для профилирования
Примеры запросов агенту
- Сними снимок памяти с процесса API, pid 12345
- Сделай два снимка с задержкой и сравни их
- Прогони правила по последнему снимку и покажи находки
Как установить memorylens-mcp
Командой платформы
claude mcp add memorylens-mcp -- npx -y memorylens-mcpКомандой платформы
codex mcp add memorylens-mcp -- npx -y memorylens-mcpФайл настроек
{
"mcpServers": {
"memorylens-mcp": {
"command": "npx",
"args": [
"-y",
"memorylens-mcp"
]
}
}
}Файл настроек
{
"servers": {
"memorylens-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"memorylens-mcp"
]
}
}
}Командой платформы
gemini mcp add memorylens-mcp npx -y memorylens-mcpПо шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о memorylens-mcp
Как установить memorylens-mcp в Claude Code?
Одной командой: claude mcp add memorylens-mcp -- npx -y memorylens-mcp.
Что делает memorylens-mcp?
Снимает снимки кучи .NET-процесса по pid, сравнивает их между собой и прогоняет по правилам, которые ищут утечки и лишние аллокации.
Что нужно, чтобы сервер заработал?
На PATH должен стоять .NET 10 SDK: npm-пакет только ставит глобальный инструмент MemoryLens.Mcp и запускает его. На Linux и в контейнерах для подключения к процессу нужен совпадающий UID или SYS_PTRACE.