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обязательный

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

0.1.0основная

Выберите клиент, чтобы установить conan-io/conan-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

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

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "conan-io-conan-mcp-c1g16rjqz3": {
      "command": "uvx",
      "args": [
        "conan-mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "conan-io-conan-mcp-c1g16rjqz3": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "conan-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"conan-io-conan-mcp-c1g16rjqz3\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"conan-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "conan-io-conan-mcp-c1g16rjqz3": {
      "command": "uvx",
      "args": [
        "conan-mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add conan-io-conan-mcp-c1g16rjqz3 -- uvx conan-mcp

Либо через JSON-конфиг:

claude mcp add-json conan-io-conan-mcp-c1g16rjqz3 "{\"command\":\"uvx\",\"args\":[\"conan-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add conan-io-conan-mcp-c1g16rjqz3 -- uvx conan-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.conan-io-conan-mcp-c1g16rjqz3]
command = "uvx"
args = ["conan-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите conan-io/conan-mcp, а в поле команды запуска — строку ниже:
uvx conan-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

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

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "conan-io-conan-mcp-c1g16rjqz3": {
      "command": "uvx",
      "args": [
        "conan-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например conan-io-conan-mcp-c1g16rjqz3.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: conan-io-conan-mcp-c1g16rjqz3
    command: uvx
    args:
      - "conan-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "conan-io-conan-mcp-c1g16rjqz3": {
      "command": "uvx",
      "args": [
        "conan-mcp"
      ]
    }
  }
}

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

artmann/package-registry-mcp

artmann/package-registry-mcp

от artmann

MCP сервер для поиска пакетов в реестрах NPM, crates.io, NuGet, PyPI, Go и уязвимостей GitHub. Помогает разработчикам и AI-агентам (Claude, Cursor) получать свежие данные о зависимостях.

TypeScript⭐ 39
ofershap/mcp-server-npm-plus

ofershap/mcp-server-npm-plus

от ofershap

MCP сервер для анализа npm-пакетов: поиск, размер бандла, уязвимости, сравнение загрузок и дерево зависимостей. Без ключей, через публичные API — незаменим при выборе библиотеки в редакторе.

TypeScript⭐ 1
arvindand/maven-tools-mcp

arvindand/maven-tools-mcp

от arvindand

Maven Tools MCP даёт AI-агентам и разработчикам доступ к актуальным данным Maven Central: стабильность версий, CVE, лицензии, анализ pom.xml и готовые рекомендации по обновлению зависимостей JVM. В...

Java⭐ 34
glenngillen/mcpmcp-server

glenngillen/mcpmcp-server

от glenngillen

Этот MCP сервер помогает находить, настраивать и подключать другие серверы к вашим клиентам, например Claude Desktop и другим платформам. Упрощает работу с AI, автоматизируя интеграцию и управление...

⭐ 41
particlefuture/MCPDiscovery

particlefuture/MCPDiscovery

от particlefuture

MCP сервер для автоматического поиска, выбора и настройки других MCP серверов на вашей машине. Устанавливаете только этот инструмент — он находит подходящие серверы под вашу задачу, используя Quick Search для явных запросов или Deep Search для сложных целей с поэтапным планированием. Полезен разр...

Python⭐ 51
DigiCatalyst-Systems/dep-diff-mcp

DigiCatalyst-Systems/dep-diff-mcp

от digicatalyst-systems

MCP сервер для анализа уязвимостей и рисков при обновлении зависимостей: превращает diff lock-файла в ранжированный план с разбором breaking changes, CVE и рекомендациями. Помогает оценить безопасность в Dependabot PR.

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

Лука Никитин