Cisco IQ MCP Server
Cisco IQ MCP Server
Локальный Model Context Protocol (MCP) сервер, который предоставляет REST API Assets и Assessments сервиса Cisco IQ в виде MCP-инструментов, чтобы ИИ-ассистент (например, Cursor, Claude Desktop) мог напрямую запрашивать ваш инвентарь активов, контракты, данные жизненного цикла, уведомления безопасности и полевые извещения.
[!WARNING] API Cisco IQ находятся в стадии бета-тестирования (публичная предварительная версия). Пути конечных точек, схемы запросов/ответов, аутентификация, пагинация и обработка ошибок могут меняться между релизами без сохранения обратной совместимости. Не используйте этот сервер для производственных интеграций.
Что делает этот сервер
Он оборачивает 16 документированных операций Cisco IQ (по состоянию на бета-релиз 2026-07-24,
версия API 0.1.0) в инструменты MCP, доступные только для чтения:
Ресурс | Инструменты |
Активы |
|
Контракты |
|
Уведомления безопасности |
|
Полевые извещения |
|
Все инструменты работают только на GET; этот сервер никогда не выполняет операций записи в Cisco IQ.
Сервер также прозрачно обрабатывает двухэтапный процесс аутентификации Cisco IQ: он обменивает ваш долгоживущий персональный токен доступа (PAT) или токен сервисной учетной записи (SAT) на кратковременный Bearer-токен доступа, кэширует его в памяти и автоматически обновляет до истечения срока действия — так что вам никогда не придется думать о токенах при вызовах инструментов.
Related MCP server: Cisco Catalyst SD-WAN MCP Server
Предварительные требования
Node.js 18 или новее
Учетная запись Cisco IQ с разрешением на просмотр данных, которые вы хотите получить
Персональный токен доступа (PAT) или токен сервисной учетной записи (SAT) (см. ниже)
Ваш Account ID и Data Storage Region (
US,EMEAилиAPJC) Cisco IQ — оба значения можно найти в Cisco IQ → Home → System Settings → Account Details
Создание токена
Персональный токен доступа (рекомендуется для индивидуального использования)
Войдите в Cisco IQ.
Нажмите на свое имя (в правом верхнем углу) → User Settings.
В разделе Personal Token Management нажмите Generate Token.
Дайте ему имя (например,
mcp-server), при желании добавьте описание, затем нажмите Generate Token.Скопируйте токен немедленно — Cisco IQ больше не покажет его.
Токен сервисной учетной записи (для общего/автоматизированного использования, только для администраторов)
Войдите в Cisco IQ как администратор.
Home → System Settings → Identity and Access → Add User.
Выберите Service Account, дайте ему имя, выберите роль (Administrator или Viewer + группы ресурсов) и сохраните.
Скопируйте сгенерированный токен немедленно — он больше не будет показан.
Перед сохранением ознакомьтесь с рекомендациями по безопасности токенов от Cisco ниже.
Настройка
npm install
npm run buildСкопируйте .env.example в .env и заполните свои значения (этот файл находится в .gitignore и
никогда не должен попадать в репозиторий):
cp .env.example .env# Exactly one of these:
CISCO_IQ_PAT=your-personal-access-token
# CISCO_IQ_SAT=your-service-account-token
# Required for PAT auth; optional (but must match) for SAT auth
CISCO_IQ_ACCOUNT_ID=your-account-id
# Required: US, EMEA, or APJC
CISCO_IQ_REGION=APJCЗапустите его напрямую, чтобы убедиться, что он запускается:
npm startВы должны увидеть строку в stderr, например:
[cisco-iq-mcp-server] Ready (region=APJC, auth=PAT). Cisco IQ APIs are beta/public preview - do not use for production integrations.Использование из Cursor
Добавьте запись в ваш mcp.json (Cursor Settings → MCP или ~/.cursor/mcp.json /
.cursor/mcp.json в проекте). Не прописывайте значение токена в этом файле, если
он будет закоммичен в общее/синхронизируемое место — используйте локальный конфиг, добавленный в .gitignore,
или ссылайтесь на переменную окружения, уже заданную в вашем профиле оболочки.
{
"mcpServers": {
"cisco-iq": {
"command": "node",
"args": ["/absolute/path/to/cisco-iq-mcp-server/dist/index.js"],
"env": {
"CISCO_IQ_PAT": "your-personal-access-token",
"CISCO_IQ_ACCOUNT_ID": "your-account-id",
"CISCO_IQ_REGION": "APJC"
}
}
}
}Для локальной разработки без сборки вы можете вместо этого запустить npm run dev
(tsx src/index.ts) в качестве command/args.
Как поделиться с коллегами
Этот репозиторий не содержит учетных данных — каждый, кто его использует, генерирует и предоставляет собственный PAT/SAT (см. Создание токена выше). Никогда не передавайте свой токен коллеге; вместо этого дайте им этот репозиторий:
Склонируйте его:
git clone https://github.com/rrizbaf/cisco-iq-mcp-server.gitСледуйте Настройке, чтобы собрать его и создать собственный
.env(или запись вmcp.json) со своими PAT/SAT, Account ID и Region.Вызовы инструментов каждого пользователя выполняются под его собственной учетной записью Cisco IQ и правами — доступ к конкретным активам/контрактам управляется самим Cisco IQ, а не этим сервером.
Примеры вызовов инструментов
Вывести до 5 активов с критическими/высокими уведомлениями безопасности:
{ "name": "list_assets", "arguments": { "hasCriticalOrHighSecurityAdvisories": true, "max": 5 } }Получить вехи жизненного цикла для конкретного актива:
{ "name": "get_asset_lifecycle", "arguments": { "assetId": "85f9981e37312238b5c73020031a7b36", "milestoneType": "software" } }Вывести уведомления безопасности, влияющие на указанный актив:
{ "name": "list_asset_security_advisories", "arguments": { "assetId": "85f9981e37312238b5c73020031a7b36", "impact": ["Critical", "High"] } }Пагинация, фильтрация и выбор полей
max(1-200, по умолчанию 50) иoffsetуправляют размером/позицией страницы в каждом инструменте коллекций.Результаты инструментов коллекций включают объект
pagination({ next?, prev? }), взятый из заголовка ответаLinkот Cisco IQ — передайтеoffset/maxиз URLnextобратно для следующей страницы. Cisco IQ не возвращает общее количество результатов.Большинство инструментов списков принимают параметр
fields(через запятую), чтобы запрашивать только нужные свойства, что делает ответы компактными и удобными для контекста LLM.Фильтры массивов (например,
productFamily,serialNumber) принимают несколько значений.
Лимиты запросов и обработка ошибок
Cisco IQ применяет лимиты запросов как на пользователя, так и на учетную запись:
Область действия | Запросов/сек | Запросов/24ч |
Пользователь (PAT/SAT) | 10 | 5,000 |
Учетная запись Cisco IQ | 25 | 25,000 |
Этот сервер автоматически повторяет запросы при 502 Bad Gateway с ограниченной экспоненциальной задержкой,
а при 429 Too Many Requests — ожидая кратчайшее документированное окно сброса (не более
30 секунд, чтобы один вызов инструмента никогда не блокировался бесконечно). Он не повторяет
400, 401 (кроме одной попытки обновления токена), 403, 404 или 406 — они
возвращаются вызывающему коду как структурированная ошибка (status, message, trackingId при
наличии) вместо слепых повторных попыток.
Примечания по безопасности
Учетные данные хранятся только в переменных окружения, считываются один раз при запуске и хранятся в памяти. Они никогда не записываются в журналы, не сохраняются на диск и не включаются в сообщения об ошибках.
.envнаходится в.gitignore; в репозиторий попадает только.env.example(с пустыми заполнителями).Кратковременные токены доступа кэшируются только в памяти и автоматически обновляются до истечения срока действия; они никогда не сохраняются на диск.
Следуя рекомендациям Cisco:
Храните токены в менеджере секретов или другом защищенном хранилище учетных данных.
Не помещайте токены в URL-адреса, скриншоты, файлы журналов, исходный код или общие документы.
Ротируйте токены до истечения срока действия; немедленно отзывайте токены при утечке.
Используйте роль с минимальными привилегиями и доступом к группам ресурсов, необходимыми для интеграции (для автоматизации только на чтение предпочтительна роль Viewer для SAT с областью действия на конкретные группы ресурсов).
Структура проекта
src/
config.ts # env-var loading & validation (no hardcoded secrets)
auth.ts # TokenManager: PAT/SAT -> short-lived Bearer token
client.ts # CiqClient: query building, pagination, retry/backoff
errors.ts # CiqApiError + error-body parsing
types.ts # TS interfaces for documented response schemas
tools/
shared.ts # common Zod schemas & MCP result helpers
assets.ts # 6 asset-related tools
contracts.ts # 2 contract-related tools
securityAdvisories.ts # 4 security-advisory tools
fieldNotices.ts # 4 field-notice tools
index.ts # MCP server entrypoint (stdio transport)Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceA community MCP server for Cisco Secure Access that exposes the Secure Access REST API to AI clients as a curated catalog of tools for Admin, Deployments, Investigate, Policies, and Reports.421Apache 2.0
- FlicenseNot gradedqualityDmaintenanceMCP server for Cisco Catalyst SD-WAN Manager (vManage) that exposes REST API as tools for AI assistants to query and manage SD-WAN fabric, including device management, monitoring, templates, and policies.8
- AlicenseAqualityCmaintenanceA read-only MCP server for InvGate Asset Management, enabling natural language queries for assets, people, computers, servers, software, and API health.12121MIT
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server for Cisco Meraki Dashboard, enabling LLMs to discover devices, check health, troubleshoot, and generate reports via natural language.MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rrizbaf/cisco-iq-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server