MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP server by Mindalin

Created 5/14/2026
Updated about 3 hours ago
Repository documentation and setup instructions

MSLX Tools: MCP-сервер для конфигураций Mobile SMARTS

MSLX Tools — это специализированный сервер протокола Model Context Protocol (MCP), предназначенный для анализа, реверс-инжиниринга и безопасного редактирования бизнес-процессов платформы Mobile SMARTS (файлы .mslx).

Запуск сервера .\venv\Scripts\python server.py --transport stdio или .\venv\Scripts\python server.py --transport sse --host 127.0.0.1 --port 8000

Системные требования

  • Python 3.10 или выше.
  • Установленные зависимости (создайте файл requirements.txt и выполните команду pip install -r requirements.txt)

Поскольку Mobile SMARTS использует проприетарный синтаксис C#, ИИ-агенту необходимы эталонные примеры, чтобы избежать ошибок компиляции. Перед запуском сервера необходимо подготовить два типа индексов.

Шаг А: Генерация статического словаря (generate_ms_dictionary.py) Этот скрипт сканирует вашу типовую конфигурацию и собирает все доступные вызовы global::, session, Document и методы в один Markdown-файл.

Команда для запуска:

python generate_ms_dictionary.py --folder "C:\Путь\К\Вашей\Базе\Document" --output "C:\Путь\К\Вашей\Базе\Document\Docs_Syntax_Dictionary.md"

--folder: Путь к папке Document (или Documents) вашей конфигурации.

--output: Путь, куда сохранить итоговый словарь. Рекомендуется сохранять в папку Docs внутри проекта.

Шаг Б: Индексация векторной базы RAG (build_vector_index.py) Скрипт создает векторное пространство (ChromaDB) из фрагментов кода вашей базы. Это позволяет серверу выполнять семантический поиск (искать примеры кода по смыслу запроса).

Команда для запуска:

python build_vector_index.py --folder "C:\Путь\К\Вашей\Базе\Document" --db "./mslx_vector_db"

--folder: Путь к папке для анализа.

--db: Путь к папке, где будет создана векторная БД (должна находиться в одной директории с server.py).

📖 Обзор: Инструменты анализа и чтения

Эта группа инструментов используется для безопасного извлечения данных, понимания логики переходов, сбора зависимостей и контекста выполнения без изменения исходных файлов.

1. extract_mslx_flow

Парсит .mslx файл и возвращает плоский граф переходов внутри блока <Actions>. Позволяет быстро понять логику процесса.

  • Параметры: file_path (string) — Абсолютный путь к .mslx файлу.
  • Возвращает: JSON-массив узлов (тип, имя, направления переходов, переменные сессии, выражения и параметры вызова InValues).

2. get_operation_summary

Резолвер зависимостей. Читает файл и возвращает сигнатуру операции.

  • Параметры: file_path (string) — Абсолютный путь к файлу операции.
  • Возвращает: JSON-объект с массивами parameters (входные параметры) и returns (возвращаемые значения).

3. get_deep_operation_context

Глубокий анализатор. Извлекает граф основной операции и автоматически подтягивает сводки по всем вложенным операциям. Рекомендуется вызывать перед любым редактированием.

  • Параметры: folder_path (string) — Директория проекта, main_file_name (string) — Имя анализируемого файла.
  • Возвращает: JSON с ключами MainOperationFlow и CalledOperationsSummary.

4. find_usages

Глобальный поиск зависимостей. Находит все .mslx файлы, внутри которых происходит вызов указанной операции.

  • Параметры: folder_path (string), operation_name (string) — Имя искомой операции.
  • Возвращает: JSON-список файлов, использующих операцию.

5. get_action_code

Точечное извлечение исполняемого кода для конкретного узла действия.

  • Параметры: file_path (string), action_name (string) — Точное имя узла.
  • Возвращает: Содержимое атрибута expression или текстовое представление блока <InValues>.

6. list_variables

Трекер состояния и переменных. Извлекает все объявленные локальные и сессионные переменные.

  • Параметры: file_path (string).
  • Возвращает: JSON-список переменных из узлов Parameter, DeclareAction, SelectDocumentLineAction.

7. index_configuration

Индексатор структуры. Собирает массив всех существующих операций и их входных параметров в папке.

  • Параметры: folder_path (string).
  • Возвращает: JSON-список операций и их аргументов.

8. read_global_fields

Анализатор глобальных конфигураций. Извлекает информацию о полях из глобальных файлов (CommonFields.xml и др.).

  • Параметры: folder_path (string).
  • Возвращает: JSON-список полей и их типов.

9. semantic_search_syntax

Умный RAG-поиск по базе знаний типовой конфигурации. Позволяет искать примеры реализации на естественном языке (требует предварительной генерации векторной базы ChromaDB).

  • Параметры: query (string) — Текстовый запрос (например, "перебор коллекции"), n_results (int) — Количество примеров.
  • Возвращает: JSON со списком релевантных фрагментов кода из конфигурации.

🛠 Обзор: Инструменты редактирования и проектирования

Эта группа используется для внесения изменений в файлы .mslx и управления проектной документацией. Все инструменты сохраняют валидную структуру XML.

1. update_action_code

Перезаписывает логику выполнения в узле (атрибут expression).

  • Параметры: file_path (string), action_name (string), new_code (string).
  • Возвращает: Статус выполнения (Успех/Ошибка).

2. update_in_values

Обновляет или добавляет параметры вызова в блоке <InValues>. Автоматически создает структуру тегов при их отсутствии.

  • Параметры: file_path (string), action_name (string), updates_json (string) — JSON-словарь параметров.
  • Возвращает: Статус выполнения (Успех/Ошибка).

3. update_node_attributes

Универсальный инструмент для изменения любых атрибутов узла (переходы nextDirection, noDirection, комментарии и т.д.). Выполняет форматирование XML (pretty_print) при сохранении.

  • Параметры: file_path (string), action_name (string), attributes_json (string) — JSON-словарь новых атрибутов.
  • Возвращает: Статус выполнения (Успех/Ошибка).

4. add_action_node

Добавляет новый узел в конец блока <Actions>. Маршрутизация настраивается через указание nextDirection.

  • Параметры: file_path (string), action_type (string), action_name (string), next_direction (string), additional_attributes_json (string).
  • Возвращает: Статус выполнения (Успех/Ошибка).

5. delete_action_node

Безвозвратно удаляет указанный узел из дерева <Actions>.

  • Параметры: file_path (string), action_name (string).
  • Возвращает: Статус выполнения (Успех/Ошибка).

6. save_sdd_doc

Инструмент для паттерна Docs-as-Code. Сохраняет техническую спецификацию (SDD) в формате Markdown. Автоматически создает директорию Docs в указанном корневом пути.

  • Параметры: folder_path (string) — Корневой путь конфигурации, document_name (string) — Имя файла (с расширением .md), content (string) — Текст спецификации.
  • Возвращает: Абсолютный путь к сохраненному файлу или ошибку.
Quick Setup
Installation guide for this server

Install Package (if required)

uvx mslx-mcp-server

Cursor configuration (mcp.json)

{ "mcpServers": { "mindalin-mslx-mcp-server": { "command": "uvx", "args": [ "mslx-mcp-server" ] } } }