conan-io/conan-mcp

conan-io/conan-mcp

от conan-io
MCP сервер для интеграции с Conan — менеджером пакетов C++. Помогает создавать проекты, устанавливать зависимости, проверять лицензии и сканировать уязвимости через простые запросы. Упрощает работу с Conan для разработчиков.

Conan MCP Server

A Model Context Protocol server for Conan package manager integration.

Usage Examples

"Create a CMake library project with Conan that has the latest version of fmt and openssl as requirements, install the dependencies and verify that the libraries I depend on don't have serious vulnerabilities and have a license that allows my application to be commercial."

Installation

Requirements
MCP Configuration

Add to your mcp.json:

{
  "mcpServers": {
    "conan": {
      "command": "uvx",
      "args": ["conan-mcp"]
    }
  }
}

Note: uvx is provided by uv. If you don't have uv installed, you can install it or use pip install conan-mcp and then use conan-mcp directly as the command.

Configuring Conan Binary Path

By default, the server uses conan from the system PATH (or the virtual environment where the MCP server is running). If you need to use a specific Conan installation or version, you can set the CONAN_MCP_CONAN_PATH environment variable in your MCP configuration:

Инструменты были проиндексированы:
create_conan_project

Создаёт новый Conan-проект с указанными зависимостями. Этот инструмент создаёт новый Conan-проект по шаблону и автоматически добавляет указанные зависимости. Помогает настроить новый проект с распространёнными библиотеками вроде fmt, openssl, boost и т.д. Примечание: сгенерированный код содержит примеры-заглушки. Вам нужно просмотреть и обновить: include/импорты, использование в исходниках, цели сборочной системы (CMakeLists.txt, meson.build и т.д.), чтобы правильно использовать указанные зависимости. Аргументы: template: Тип шаблона для проекта. Библиотеки (создают библиотеки для линковки): - cmake_lib: библиотека CMake (по умолчанию для библиотек) - header_lib: библиотека только с заголовками - meson_lib: сборочная система Meson - msbuild_lib: Visual Studio/MSBuild (только Windows) - bazel_lib: сборочная система Bazel (экспериментально) - autotools_lib: Autotools (configure/make) Исполняемые файлы (программы, которые можно запускать): - cmake_exe: исполняемый файл CMake (по умолчанию для исполняемых файлов) - meson_exe: сборочная система Meson - msbuild_exe: Visual Studio/MSBuild (только Windows) - bazel_exe: сборочная система Bazel (экспериментально) - autotools_exe: Autotools (configure/make) Примечание: если пользователь не указал сборочную систему, используйте cmake_lib для библиотек или cmake_exe для исполняемых файлов. name: Имя проекта version: Версия проекта (по умолчанию: "0.1") requires: Список зависимостей с версиями (например, ['fmt/12.0.0', 'openssl/3.6.0']) tool_requires: Список инструментов-зависимостей с версиями. Частые примеры: - ['cmake/4.1.2'] - сборочный инструмент CMake - ['ninja/1.13.1'] - сборочная система Ninja

Параметры
  • forceboolean

    Перезаписывает существующие файлы, если они есть.

  • namestringобязательный

    Название проекта

  • requiresstring[]

    Список зависимостей с версиями

  • templatestringобязательный

    Тип шаблона для проекта. Если не указано, используйте cmake_lib для библиотек или cmake_exe для исполняемых файлов.

  • tool_requiresstring[]

    Список зависимостей инструментов с версиями. Типичные примеры: ['cmake/4.1.2'], ['ninja/1.13.1'], ['meson/1.9.1']

  • versionstring

    Версия проекта

  • work_dirstringобязательный

    Рабочая директория, в которой должна выполняться команда. Проект будет создан непосредственно в этой директории. Всегда обязательна.

get_conan_licenses

Собирает информацию о лицензиях для зависимостей пакетов Conan. Этот инструмент использует conan graph info, чтобы извлечь информацию о лицензиях из графа зависимостей для всех пакетов. Анализируются только пакеты из контекста "host" (пакеты контекста сборки исключаются, так как это инструменты времени сборки, не входящие в конечный продукт). Вы можете указать путь к conanfile или список ссылок на пакеты для проверки. Нужно указать хотя бы одно. Примеры: - get_conan_licenses(work_dir="/home/user/project", path="conanfile.py") - get_conan_licenses(work_dir="~/my_project", path="conanfile.txt") - get_conan_licenses(work_dir="/tmp", requires=["zlib/1.2.11"]) - get_conan_licenses(work_dir="/tmp", requires=["zlib/1.2.11", "fmt/10.0.0"]) Аргументы: work_dir: Рабочая директория, в которой выполняется команда. Это базовая директория, относительно которой разрешаются все пути. Обязателен всегда. path: Путь к папке с рецептом или к файлу рецепта (conanfile.txt или conanfile.py). Этот путь ВСЕГДА указывается относительно work_dir. Необязателен, если задан requires. requires: Список ссылок на пакеты для проверки лицензий (например, ["zlib/1.2.11", "fmt/10.0.0"]). Каждая ссылка передаётся как флаг --requires в conan graph info. Необязателен, если задан path. Нужно указать хотя бы path или requires. remote: Имя удалённого репозитория для поиска (если не указано, поиск по всем репозиториям). build_profile: Профиль для контекста сборки. host_profile: Профиль для контекста хоста. Возвращает: Список словарей, каждый содержит: - "ref": Ссылка на пакет (строка) - "licenses": Список строк с лицензиями (всегда список, пустой, если лицензия не указана)

Параметры
  • build_profilestring

    Профиль для контекста сборки.

  • host_profilestring

    Профилирует в контексте хоста.

  • pathstring

    Путь к папке с рецептом проекта или к файлу рецепта conanfile.txt/.py. Необязательно, если указано requires.

  • remotestring

    Имя удалённого репозитория. Оставьте пустым, чтобы искать по всем удалённым репозиториям.

  • requiresstring[]

    Список ссылок на пакеты для проверки лицензий (например, ['zlib/1.2.11', 'fmt/10.0.0']). Каждая ссылка передаётся как флаг --requires. Необязательно, если указан путь.

  • work_dirstringобязательный

    Рабочий каталог, в котором должна выполняться команда. Это базовый каталог, из которого разрешаются все пути. Всегда обязателен.

get_conan_profile

Получить конфигурацию профиля Conan. Этот инструмент следует вызывать, когда пользователь упоминает: - Свою платформу (Windows, macOS, Linux) - Свой компилятор (gcc, clang, msvc и т.д.) - Свою архитектуру (x86_64, arm64 и т.д.) - Конфигурации сборки - Когда хочет вывести список пакетов для своей платформы - Когда нужен контекст окружения Conan - Когда хочет проверить конфигурацию конкретного профиля Обычно это обязательный шаг перед выводом списка пакетов или подготовкой рекомендаций под платформу, потому что он даёт важный контекст окружения сборки пользователя. Аргументы: profile: Имя профиля для получения. Если не указано, возвращается профиль по умолчанию. Возвращает: Словарь, содержащий конфигурации host- и build-профилей. Структура словаря включает: - "host": настройки host-профиля (компилятор, архитектура, тип сборки и т.д.) - "build": настройки build-профиля (компилятор, архитектура, тип сборки и т.д.) - Дополнительная конфигурация: package_settings, options, tool_requires и т.д.

Параметры
  • profilestring

    Имя конкретного профиля для получения. Если не указано, используется профиль по умолчанию.

install_conan_packages

Устанавливает зависимости пакетов Conan по файлу рецепта (conanfile.py или conanfile.txt). Этот инструмент использует команду conan install, чтобы установить зависимости из рецепта Conan. Он выдаёт полное структурированное представление всех узлов и связей в графе зависимостей. Если какая-то зависимость не найдена в локальном кеше, он перебирает удалённые репозитории в поисках. Когда граф зависимостей полностью вычислен и все рецепты найдены, он ищет бинарные пакеты, подходящие под текущие настройки и опции. Если для некоторых зависимостей бинарный пакет не найден, будет ошибка, если только не указан аргумент 'build_missing' для сборки из исходников. Примеры: - install_conan_packages(work_dir="/home/user/project", path="conanfile.txt") - install_conan_packages(work_dir="~/my_project", path="conanfile.py", remote="conancenter") - install_conan_packages(work_dir="/home/user/project", path="conanfile.py", settings_host=["os=Windows", "arch=armv8"]) Аргументы: path: Путь к папке, содержащей рецепт, или к файлу рецепта (conanfile.txt или conanfile.py). Этот путь ВСЕГДА указывается относительно work_dir. Например, если work_dir — "/home/user/project", а path — "conanfile.py", то итоговый путь будет "/home/user/project/conanfile.py". work_dir: Рабочая директория, в которой должна выполняться команда. Это базовая директория, относительно которой разрешаются все пути. Всегда обязателен. Если пользователь говорит, что находится в конкретной директории, используйте её. remote: Необязательное имя удалённого репозитория для поиска (если не указано, ищет по всем). search_in_cache: Не использовать удалённые репозитории, искать только в кеше. build_profile: Профиль для контекста сборки. host_profile: Профиль для контекста хоста. settings_host: Заменить настройки из профиля хоста по умолчанию (архитектура, ОС и т.д.)

Параметры
  • build_missingboolean

    Собирает все отсутствующие бинарные зависимости, когда они недоступны в кэше или в удалённых репозиториях для загрузки.

  • build_profilestring

    Профиль для контекста сборки.

  • host_profilestring

    Профилирует в контексте хоста.

  • options_hoststring[]

    Применяйте такие опции, как fPIC, header_only, shared, with_*, without_* и т. д., только к контексту хоста.

  • pathstringобязательный

    Путь к папке, где лежит рецепт проекта, или к файлу рецепта conanfile.txt/.py

  • remotestring

    Имя удалённого репозитория. Оставьте пустым, чтобы искать по всем удалённым репозиториям.

  • search_in_cacheboolean

    Не используй remote, решай только через кэш.

  • settings_hoststring[]

    Применяйте разные настройки, такие как архитектура, операционная система, тип сборки, компилятор,

  • work_dirstringобязательный

    Рабочий каталог, в котором должна выполняться команда. Это базовый каталог, из которого разрешаются все пути. Всегда обязателен.

list_conan_packages

Ищет пакеты Conan по репозиториям с тонкой фильтрацией. Используйте этот инструмент, когда нужно: - проверить доступные версии зависимостей - найти последнюю версию пакета - найти пакеты по имени - найти пакеты по версии или диапазону версий - найти пакеты с фильтрацией по настройкам или опциям - найти пакеты по ID пакета или ревизии рецепта Примеры: - list_conan_packages(name="fmt", version="1.0.0") — список всех доступных версий пакета fmt/1.0.0 - list_conan_packages(name="fmt", filter_settings=["arch=armv8"]) — все доступные версии fmt с архитектурой armv8 - list_conan_packages(name="fmt", filter_options=[":fPIC=True"]) — все доступные версии fmt с fPIC Аргументы: - name: шаблон имени пакета (обязательно). Поддерживает wildcards: - "fmt" — точное имя - "fmt" — начинается с "fmt" - "fmt" — содержит "fmt" - "fmt" — заканчивается на "fmt" - version: версия или диапазон версий (по умолчанию ""). Поддерживает синтаксис Conan2: - "1.2.3" — точная версия - "[>=1.0 <2.0]" — диапазон >=1.0 и <2.0 - "[~1.2]" — совместимая с 1.2.x - "[^1.0]" — совместимая до следующей мажорной - "[>1 <2.0 || ^3.2]" — несколько диапазонов - user: имя пользователя (по умолчанию None). Используйте "" для всех пользователей. - channel: имя канала (по умолчанию None). Используйте "" для всех каналов. - recipe_revision: ревизия рецепта (rrev) (по умолчанию None). Используйте "" для всех, "latest" для последней. Используйте вместе с package_id, чтобы найти все пакеты с одинаковой ревизией рецепта. - package_id: ID пакета (по умолчанию None). Используйте "" для всех пакетов. Используйте "*", когда пытаетесь найти все пакеты. Используйте вместе с include_all_package_revisions, чтобы включить все ревизии пакетов. - filter_settings: фильтр

Параметры
  • channelstring

    Название канала. Используйте *, чтобы искать по всем каналам.

  • filter_optionsstring[]

    Параметры фильтрации, например fPIC, header_only, shared, with_*, without_* и т.д.

  • filter_settingsstring[]

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

  • include_all_package_revisionsboolean

    Включить все ревизии пакетов

  • namestringобязательный

    Шаблон имени пакета (поддерживает подстановочные знаки)

  • package_idstring

    Идентификатор пакета. Используйте * для поиска по всем пакетам.

  • recipe_revisionstring

    Номер ревизии рецепта, также известный как rrev. Используйте * для поиска всех ревизий. Используйте "latest" для поиска последней ревизии.

  • remotestring

    Название удалённого репозитория, в котором искать.

  • search_in_cacheboolean

    Включает локальный кэш в поиск.

  • userstring

    Имя пользователя. Используйте * для поиска всех пользователей.

  • versionstring

    Версия или диапазон версий для поиска.

list_conan_profiles

Список доступных профилей Conan. Используйте этот инструмент, чтобы посмотреть, какие профили доступны для выбора или просмотра. Возвращает: Список имен профилей.

Параметры

Без параметров.

scan_conan_dependencies

⚠️ ВНИМАНИЕ: Этот инструмент совершает API-вызов к сервису audit.conan.io. Используйте только когда пользователь явно запросил это. Требуется аутентификация провайдера. Если у вас её ещё нет, вы можете получить токен, бесплатно зарегистрировавшись на https://audit.conan.io/register Выполняет аудит Conan-проекта или конкретного пакета на уязвимости с помощью сервиса audit.conan.io. При использовании path: сканирует conanfile и все его транзитивные зависимости на уязвимости. При использовании reference: сканирует уязвимости только указанного пакета по ссылке, но НЕ его зависимостей. Действует ограничение: 100 API-вызовов в день. Если лимит исчерпан, инструмент вернёт ошибку. Используйте path для сканирования полного графа зависимостей. Используйте reference для аудита конкретного пакета. Не используйте path и reference одновременно. Аргументы: work_dir: Рабочая директория, в которой должна выполняться команда. Обязательный параметр. path: Этот путь ВСЕГДА указывается относительно work_dir. Например, если work_dir это "/home/user/project", а path — "conanfile.txt", то разрешится в "/home/user/project/conanfile.txt". При использовании path сканируются все транзитивные зависимости на уязвимости. reference: Conan-ссылка для аудита. Например, "fmt/12.0.0". Используйте её, если пользователь указал конкретную ссылку для аудита. Используйте вместо path. При использовании reference сканируются уязвимости только указанного пакета, но НЕ его зависимостей. Возвращает: Словарь, содержащий результат аудита.

Параметры
  • pathstring

    Путь к папке относительно рабочего каталога, содержащей рецепт проекта, или к файлу рецепта conanfile.txt/.py

  • referencestring

    Ссылка на Conan для проверки. Например, 'fmt/12.0.0'.

  • work_dirstringобязательный

    Рабочая директория, в которой нужно выполнить команду. Обязательный параметр.

Похожие MCP-сервера

mopanc/depguard

mopanc/depguard

MCP сервер для безопасной работы с зависимостями в AI-агентах. Анализирует уязвимости и вредоносные пакеты, генерирует SBOM и SARIF для защиты от malware и галлюцинаций AI.

TypeScript15
Skyrxin/sast-mcp-server

Skyrxin/sast-mcp-server

MCP сервер для статического анализа безопасности (SAST) — даёт AI-агентам сканировать код на уязвимости с помощью 11 сканеров (Bandit, CodeQL, Trivy и др.). Полезен разработчикам и DevSecOps для по...

Python2
anaisbetts/mcp-installer

anaisbetts/mcp-installer

MCP сервер, который автоматически устанавливает другие MCP серверы из npm и PyPi по запросу. Помогает разработчикам и пользователям Claude быстро добавлять нужные инструменты через простые команды. Требует npx и uv.

JavaScript1533
inkog-io/inkog-mcp

inkog-io/inkog-mcp

Inkog MCP сервер — это инструмент безопасности для AI-агентов. Сканирует код на уязвимости и логические ошибки, проверяет декларации AGENTS.md, аудит multi-agent системы. Работает внутри Claude, Cu...

TypeScript3
Thezenmonster/agentscore-mcp-server

Thezenmonster/agentscore-mcp-server

MCP сервер для оценки безопасности пакетов: сканирует зависимости, выносит вердикты доверия, проверяет уязвимости и настраивает CI-политику. Восемь инструментов без API-ключа. Помогает разработчикам принимать решения о безопасности MCP.

TypeScript1
Labs64/NetLicensing-MCP

Labs64/NetLicensing-MCP

AI-агенты могут управлять лицензиями, продуктами и клиентами NetLicensing через простые команды на естественном языке. Сервер заменяет ручной ввод API-запросов для разработчиков и администраторов.

HTML5
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин