UML-MCP-сервер
UML-MCP Server — это инструмент генерации UML-диаграмм на основе MCP (Model Context Protocol), который может помочь пользователям создавать различные типы UML-диаграмм посредством описания на естественном языке или непосредственного написания кода PlantUML.
Функциональные особенности
Поддерживает несколько типов диаграмм UML: диаграмма классов, диаграмма последовательности, диаграмма активности, диаграмма вариантов использования, диаграмма состояний, диаграмма компонентов, диаграмма развертывания, диаграмма объектов.
Диаграммы UML могут быть созданы с помощью описания на естественном языке.
Вы можете напрямую использовать код PlantUML для создания диаграмм UML.
Верните код PlantUML и доступные URL-ссылки для удобного обмена и просмотра
Одновременно сохраните сгенерированную UML-диаграмму локально и укажите путь к локальному файлу.
Поддержка настраиваемого пути сохранения и указание выходного каталога для изображений UML.
Как сервер MCP, он может интегрироваться с клиентами, поддерживающими MCP, такими как Claude.
Комплексная система регистрации, которая регистрирует состояние работы сервера и журналы операций
Related MCP server: Hello-MCP
Установка
Установка через Smithery
Чтобы автоматически установить инструмент генерации диаграмм UML для Claude Desktop через Smithery :
npx -y @smithery/cli install @Swayingleaves/uml-mcp-server --client claudeРучная установка
Клонировать репозиторий:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-ServerСоздайте и активируйте виртуальную среду:
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate # Linux/Mac
# Or
uml-mcp-venv\Scripts\activate # WindowsУстановите зависимости:
pip install -r requirements.txtМетод использования
Используется как библиотека Python
from fix_plantuml import generate_uml
# Create UML code
uml_code = """
@startuml
Title: Simple Class Diagram
class User {
-String name
-String email
+login()
+logout()
}
class Order {
-int id
-Date date
+process()
}
User "1" -- "many" Order: places
@enduml
"""
# Generate URLs, code, and local paths for UML diagrams
result = generate_uml(uml_code)
# Output result
print("PlantUML code: ")
print(result["code"])
print("\nPlantUML URL:")
print(result["url"])
print("\nLocal file path: ")
print(result["local_path"])Настройте MCP в курсоре
Курсор поддерживает серверы MCP (Model Context Protocol), что позволяет вам напрямую генерировать диаграммы UML с помощью сервера UML-MCP в Курсоре. Шаги настройки следующие:
Убедитесь, что установлена последняя версия Cursor IDE (поддерживающая функциональность MCP).
Откройте файл конфигурации курсора:
В macOS:
~/Library/Application Support/Cursor/config.jsonВ Windows:
%APPDATA%\Cursor\config.jsonВ Linux:
~/.config/Cursor/config.json
Добавьте или измените раздел «mcpServer» в файле конфигурации:
{
"mcpServers": {
"UML-MCP-Server": {
"command": "uv",
"args": [
"--directory",
"/Users/yourpath/UML-MCP-Server",
"run",
"uml_mcp_server.py"
],
"output_dir": "/Users/yourpath/uml-output"
}
}
}Описание конфигурации:
UML-MCP-Server: Имя сервера MCP можно изменить по мере необходимости.
Команда: использовать UV в качестве рабочей команды.
args:каталог: Укажите абсолютный путь к каталогу проекта.
run: выполнить командуuml_mcp_server.py: Основной файл программы
output_dir: Укажите выходной каталог для изображений UML.
Пожалуйста, измените следующий путь в соответствии с вашей реальной ситуацией:
Замените «/Users/Yourpath/UML-MCP Server» на фактический путь к вашему проекту UML-MCP Server.
Замените «/Users/Yourpath/uml-output» на путь к каталогу, в котором вы хотите сохранить изображение UML.
Сохраните файл конфигурации и перезапустите курсор.
Использовать сервер UML-MCP в курсоре:
Открыть новое окно чата
На панели инструментов в нижней части интерфейса чата вы увидите значок инструмента «UML-MCP Server».
Нажатие на этот значок вызовет меню параметров инструментов UML.
Выберите нужный вам тип диаграммы UML (например, «Создать диаграмму классов», «Создать диаграмму последовательности» и т. д.)
Использование инструментов UML в курсоре
В курсоре вы можете ввести:
Например:
1. Understand the certification process of the project
2. Generate UML code for the authentication process and generate a flowchart through UML-MCP Server
3. Attention: "output_dir": "/Users/my-project/uml-output"Результаты, возвращаемые инструментами UML
Независимо от того, как используются инструменты UML, Cursor вызовет UML-MCP-Server и вернет следующее:
Код PlantUML — вы можете скопировать этот код для использования в других инструментах PlantUML.
URL-адрес PlantUML — вы можете открыть этот URL-адрес в браузере, чтобы просмотреть сгенерированную диаграмму UML.
Локальный путь к файлу — сгенерированное изображение UML сохраняется по этому локальному пути.
Например:
Class diagram generated:
PlantUML code:
@startuml
Title: User and Order System
class User {
-String name
-String email
+login()
+logout()
}
class Order {
-int id
-Date date
+process()
}
User "1" -- "many" Order: places
@enduml
PlantUML URL:
http://www.plantuml.com/plantuml/png/~1UDgCqB5Bn0G1k1zYWM_EfPYQYY0Qd9oQc9oQaPcKYYcKc9gMYaiKc9gK...
Local file path:
/Users/username/projects/UML-MCP-Server/output/class_diagram_12345.pngПросмотреть сгенерированную UML-диаграмму можно следующими способами:
Нажмите на возвращенную ссылку URL для просмотра в браузере.
Откройте локальный путь к файлу в файловом браузере, чтобы просмотреть сохраненное изображение.
В Cursor вы можете использовать синтаксис Markdown для непосредственного отображения изображений в окне чата.
Поиск неисправностей
Если у вас возникли проблемы при использовании сервера UML-MCP, попробуйте выполнить следующие действия:
Проверьте файлы журналов : просмотрите файлы журналов в каталоге «logs» для получения подробной информации об ошибках.
Проверка установки зависимостей : убедитесь, что все зависимости установлены правильно.
Проверьте сетевое подключение : убедитесь, что сервер PlantUML ( www.plantuml.com ) доступен.
Проверьте разрешения выходного каталога : убедитесь, что у программы есть разрешение на запись в выходной каталог.
Распространенные проблемы и решения:
Невозможно создать диаграмму UML: проверьте наличие сообщений об ошибках в журнале, которые могут быть связаны с проблемами сети или временной недоступностью сервера PlantUML.
Изображение не сохранено локально : проверьте, существует ли каталог «output» и имеет ли он разрешение на запись.
Сервер MCP не может запуститься: проверьте файл журнала, чтобы убедиться в отсутствии конфликтов портов или других ошибок программы.
Вклад
Добро пожаловать, чтобы внести свой вклад в код, сообщить о проблемах или предоставить предложения по улучшению! Пожалуйста, примите участие в разработке проекта через GitHub Issues или Pull Requests.
Лицензия
Этот проект использует лицензию MIT. Подробности см. в документе ЛИЦЕНЗИЯ.