Arista Cvp logo

Arista Cvp

Community
automateyournetwork
arista-cvp

Arista CloudVision Portal (CVP) automation via REST API — device inventory, events, connectivity monitoring, tag management (4 tools). Use when managing Arista devices, checking CloudVision events, monitoring network connectivity probes, or tagging devices in CVP.

Overview

Publisherautomateyournetwork
Repositorynetclaw
Skill namearista-cvp
Stars
680
Forks
189
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by automateyournetwork on GitHub. Read the source before you install it.

Installation

Install the Arista Cvp AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/arista-cvp
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/automateyournetwork/netclaw.git /tmp/netclaw
mkdir -p .claude/skills
cp -r /tmp/netclaw/workspace/skills/arista-cvp .claude/skills/arista-cvp
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Arista Cvp in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Arista Cvp on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Arista Cvp is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Arista CloudVision Portal (CVP) Automation

MCP Server

FieldValue
Repositorynoredistribution/mcp-cvp-fun
Transportstdio (FastMCP)
Python3.12+
ProtocolHTTPS REST → CloudVision Resource API
Dependenciesfastmcp, httpx, python-dotenv
Installgit clone + uv run (dependencies resolved at runtime)
Entry Pointuv run --with fastmcp fastmcp run /path/to/mcp_server_rest.py
StatusCommunity demo — not officially supported by Arista

Authentication

CloudVision uses service account tokens passed as HTTP cookies:

  1. Log in to CloudVision Portal
  2. Navigate to Settings → Service Accounts
  3. Create a service account and generate a token
  4. Store the token in the .env file as CVPTOKEN

The token is sent as an access_token cookie with every API request (not a Bearer header).

Environment Variables

VariableRequiredPurpose
CVPYesCloudVision instance hostname (e.g., www.arista.io or cvp.example.com)
CVPTOKENYesService account token for API authentication

Tools (4)

Device Inventory (1 tool)

ToolParametersDescription
get_inventory—Get inventory of all devices from CloudVision (hostname, model, serial, version, MAC, IP, streaming status)

Event Monitoring (1 tool)

ToolParametersDescription
get_events—Get all events from CloudVision (alerts, warnings, informational events with severity, timestamps, device associations)

Connectivity Monitoring (1 tool)

ToolParametersDescription
get_connectivity_monitor—Get Connectivity Monitor probe statistics (jitter, latency, packet loss, HTTP response time across all probes)

Tag Management (1 tool)

ToolParametersDescription
create_tagtag_name, tag_valueCreate a device-level tag in CloudVision via workspace workflow (create workspace → create tag → build → submit)

create_tag Workflow Detail

The create_tag tool follows CloudVision's workspace model — a 5-step process:

  1. Create Workspace — POST to /api/resources/workspace/v1/WorkspaceConfig with a UUID-based workspace
  2. Create Tag — POST to /api/resources/tag/v2/TagConfig with ELEMENT_TYPE_DEVICE, workspace ID, tag name/value
  3. Build Workspace — POST with REQUEST_START_BUILD to validate changes
  4. Wait for Build — 10-second wait for build completion
  5. Submit Workspace — POST with REQUEST_SUBMIT to apply the tag

CloudVision Resource API Endpoints

MethodEndpointTool
GET/api/resources/inventory/v1/Device/allget_inventory
GET/api/resources/event/v1/Event/allget_events
GET/api/resources/connectivitymonitor/v1/ProbeStats/allget_connectivity_monitor
POST/api/resources/workspace/v1/WorkspaceConfigcreate_tag (workspace create/build/submit)
POST/api/resources/tag/v2/TagConfigcreate_tag (tag creation)

Responses use newline-delimited JSON (NDJSON) format, consistent with CloudVision's streaming resource API.


Workflows

1. Arista Device Discovery

get_inventory → list all Arista devices (hostname, model, serial, version, MAC, IP)
→ Cross-reference with NetBox/Nautobot → flag discrepancies
→ GAIT

2. Arista Event Monitoring

get_events → retrieve all CloudVision events
→ Filter by severity (critical, warning, info)
→ Correlate events with device inventory
→ Severity-sort findings → GAIT

3. Arista Network Health Check

get_inventory → identify all managed devices
→ get_events → check for active alarms and warnings
→ get_connectivity_monitor → analyze jitter, latency, packet loss
→ Correlate connectivity issues with events → severity-sort → GAIT

4. Arista Device Tagging

ServiceNow CR must be in Implement state
→ get_inventory → verify target devices exist
→ create_tag(tag_name, tag_value) → apply device-level tag via workspace workflow
→ get_inventory → verify tag applied
→ GAIT

5. Arista Connectivity Baseline

get_connectivity_monitor → capture current probe statistics
→ Record jitter, latency, packet loss baselines per probe
→ Compare against thresholds → flag degradation
→ GAIT

Integration with Other Skills

SkillIntegration
pyats-networkCVP MCP for Arista fleet visibility, pyATS MCP for Cisco devices — unified multi-vendor monitoring
junos-networkCVP MCP for Arista, JunOS MCP for Juniper — multi-vendor device inventory and health
netbox-reconcileCross-reference CVP device inventory (model, serial, version) against NetBox source of truth
nautobot-sotSame as NetBox — validate Arista device IPAM data in Nautobot
infrahub-sotCross-reference Infrahub node data with Arista device inventory from CVP
servicenow-change-workflowGate all create_tag operations behind ServiceNow Change Requests
gait-session-trackingEvery CVP inventory query, event pull, and tag creation logged in GAIT
te-network-monitoringCorrelate ThousandEyes path data with CVP connectivity monitor probes
nvd-cveScan EOS versions from get_inventory against NVD vulnerability database
markmap-vizGenerate topology mind maps from CVP device inventory data

CVP MCP vs pyATS MCP vs JunOS MCP

CapabilityCVP MCPpyATS MCPJunOS MCP
VendorArista (via CVP)Cisco (IOS-XE, NX-OS, IOS-XR)Juniper
ProtocolHTTPS REST → CVP Resource APISSH + Genie parsersNETCONF → PyEZ
Device Inventoryget_inventory (fleet-wide)pyats_learn("platform") per devicegather_device_facts per device
Event Monitoringget_events (fleet-wide)Per-device show commandsPer-device show commands
Connectivity Metricsget_connectivity_monitor (probes)Per-device show commandsPer-device show commands
Config PushVia CVP Change Control (not in MCP)pyats_configure_deviceload_and_commit_config
Tag/Label Mgmtcreate_tag (workspace workflow)N/AN/A
Batch OperationsAll tools are fleet-wide by defaultpyats_pcall (parallel pCall)execute_junos_command_batch
MCP Tools4810

Guardrails

  • Always call get_inventory first — verify CloudVision is reachable and devices are streaming before deeper queries
  • Check events before changes — call get_events to identify active issues before any tag operations
  • Gate tag creation — all create_tag calls must have a ServiceNow CR in Implement state
  • Validate tag names — ensure tag names follow organizational naming conventions before creation
  • Monitor connectivity baselines — use get_connectivity_monitor to establish baselines before and after network changes
  • Cross-reference inventory — compare CVP device data with NetBox/Nautobot to detect SoT drift
  • Record in GAIT — every inventory query, event pull, connectivity check, and tag creation must be logged
  • Community project — this is an unofficial demo; evaluate security implications (TLS verification disabled in source) before production use

Failure Behavior

  • If a tool call fails with an authentication or connection error, check that CVP, CVPTOKEN are set and valid before assuming a data or device problem.
  • On a tool error (timeout, unreachable host, malformed response), report the failure and its error message directly to the user rather than fabricating or guessing at results.
  • Do not automatically retry a write/mutating operation after a failure — surface the error and get explicit confirmation before retrying, since a blind retry on a partially-applied change can leave state inconsistent.

Frequently asked questions

What does the Arista Cvp AI skill do?

Arista CloudVision Portal (CVP) automation via REST API — device inventory, events, connectivity monitoring, tag management (4 tools). Use when managing Arista devices, checking CloudVision events, monitoring network connectivity probes, or tagging devices in CVP.

Why use Arista Cvp on TypingMind?

Because you install it once and use it with any model. Arista Cvp is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Arista Cvp in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/arista-cvp. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Arista Cvp?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Arista Cvp?

As many as you like. As long as a model supports skills, you can use Arista Cvp with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Arista Cvp AI skill free?

Yes. It is published on GitHub by automateyournetwork under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇