Forge
markdown551a3611
1# Roslyn MCP — каталог тулов
2
3<!-- GENERATED:ToolCatalog START -->
4
5> Автогенерация из `ToolCatalog.Build()` в репозитории. Не править этот блок вручную.
6>
7> Обновление: из каталога `roslyn-mcp` выполнить `dotnet run --project tools/ExportMcpManifest -- --write`.
8>
9> Тексты совпадают с полем `description` у инструментов MCP; полная схема аргументов — в `inputSchema` (например через `list_tools`).
10
11### `roslyn_ping`
12
13Проверка доступности сервера.
14
15### `roslyn_get_document_symbols`
16
17Структура C# файла: namespace, class, method, property, field с номерами строк.
18
19### `roslyn_get_symbol_at_position`
20
21Символ в позиции (файл, строка, столбец — 1-based): kind и имя.
22
23### `roslyn_find_usages`
24
25Все ссылки на символ в solution/project. line/column — на идентификаторе (имя метода, класса и т.д.), не на типе в сигнатуре.
26
27### `roslyn_go_to_definition`
28
29Переход к определению символа: по позиции возвращает file:line:column объявления (1-based). Параметры: solution_or_project_path, file_path, line, column.
30
31### `roslyn_rename`
32
33Переименовать символ по solution. apply: false — превью; true — записать. Чтобы затронуть комментарии/строки/перегрузки/файл — передай rename_in_comments, rename_in_strings, rename_overloads, rename_file (bool).
34
35### `roslyn_get_code_actions`
36
37Список Quick Actions / рефакторингов в позиции (как лампочка в VS). Параметры: solution_or_project_path, file_path, line, column. Возвращает нумерованный список; применить — roslyn_apply_code_action с action_index.
38
39### `roslyn_apply_code_action`
40
41Применить выбранное code action по индексу из roslyn_get_code_actions. Параметры: solution_or_project_path, file_path, line, column, action_index (0-based).
42
43### `roslyn_get_diagnostics`
44
45Диагностики компиляции и анализаторов по solution/project (file:line:column, severity, id, message). Предпочтительно использовать вместо ReadLints/ручного просмотра для поиска неиспользуемых переменных (CS0219), предупреждений компилятора и анализаторов. Чтобы исправить: roslyn_get_code_actions по file:line:column из ответа, затем roslyn_apply_code_action (или fix_all_scope). Параметры: solution_or_project_path, опционально file_path.
46
47### `roslyn_get_solution_structure`
48
49Структура solution: список проектов (имя, путь к .csproj). Параметр: solution_or_project_path (.sln или .csproj). Обходной путь для реп с .slnx: передай путь к главному .csproj — вернётся полный список подгруженных проектов. Использовать, чтобы узнать состав решения и пути для остальных тулов.
50
51### `roslyn_get_workspace_navigation_context`
52
53Семантическая навигация по solution (связанные файлы): режимы related и subgraph. Файлы из MSBuildWorkspace, эвристики как в Cascade IDE, но без .cascade/workspace.toml и без дерева IDE — только аргументы и встроенные пресеты (peers_only, no_namespace_noise, tests_and_peers, structure_only). Параметры: solution_or_project_path, file_path (якорь), mode; опционально line, column, max_*, include_kinds, exclude_kinds, preset.
54
55### `roslyn_sync_namespaces`
56
57Привести объявления namespace к структуре папок (RootNamespace + путь). Вызывать после переименования или перемещения папок в C# проекте: сначала dry_run для превью, затем без dry_run для применения. Обновляет также using в остальных файлах. Параметры: solution_or_project_path; опционально project_path, dry_run.
58
59### `roslyn_resolve_breakpoint`
60
61По имени символа (метод, свойство, конструктор) в файле вернуть file:line первой исполняемой строки — место для брейкпоинта. Параметры: solution_or_project_path, file_path, symbol_name.
62
63### `roslyn_generate_interface_from_class`
64
65Сгенерировать C# интерфейс по классу (без диалогов Roslyn). Позиция на класс в file_path:line:column. Опционально: interface_name, output_file_path, member_names (массив).
66
67### `roslyn_generate_base_class_from_class`
68
69Сгенерировать абстрактный базовый класс по классу (без диалогов). Выбранные public-члены — abstract в новом классе. Опционально: base_class_name, output_file_path, member_names.
70
71### `roslyn_generate_overrides`
72
73Generate Overrides без диалога: по позиции на класс генерирует override виртуальных/абстрактных членов базового типа. Опционально: member_names, insert_into_file.
74
75### `roslyn_generate_constructor_from_members`
76
77Generate constructor from members без диалога: по позиции на класс — конструктор по полям/свойствам. Опционально: member_names, insert_into_file.
78
79### `roslyn_generate_equals_gethashcode`
80
81Generate Equals and GetHashCode без диалога: по позиции на класс — override по выбранным полям/свойствам. Опционально: member_names, insert_into_file.
82
83### `roslyn_move_members_to_partial_file`
84
85Перенести выбранные члены класса/структуры в новый .cs файл как вторую часть partial: те же using/namespace, в исходнике добавляется partial. member_names: имена методов/полей/свойств; конструктор — имя типа или .ctor; индексатор — this; перегрузки одного имени уходят вместе. output_file_path — путь нового файла (не должен существовать при apply). apply: false — превью, true — запись через TryApplyChanges (и новый файл в проекте). add_dependent_upon: по умолчанию true — после apply проставить DependentUpon в .csproj на исходный файл.
86
87### `roslyn_sync_dependent_upon_partials`
88
89Массово проставить DependentUpon для partial-файлов вида Type.Part.cs под Type.cs в той же папке (эвристика как в IDE). solution_or_project_path — .sln или .csproj; опционально project_path — один проект; dry_run — только отчёт без записи.
90
91<!-- GENERATED:ToolCatalog END -->
92
93
View only · write via MCP/CIDE