MCP ExplorerExplorer

Mcp Cloudvision

@burnydon a year ago
1 MIT
FreeCommunity
AI Systems
MCP-CloudVision is a demo project leveraging resource APIs and Gemini 2.5 for LLM.

Overview

What is Mcp Cloudvision

mcp-cloudvision is a demo project derived from the cvp-mcp-demo repository, designed to showcase the integration of Arista’s CloudVision resources with the Langchain MCP toolkit. It utilizes the Gemini 2.5 language model for processing requests.

Use cases

Use cases for mcp-cloudvision include querying device inventories, generating reports on network devices, and automating network management tasks through API interactions.

How to use

To use mcp-cloudvision, create a .env file with your CVPTOKEN and CVP values. Install the necessary dependencies using pipx and run the application with the command ‘uv run python3.13 cvmcpclient.py’.

Key features

Key features include proper usage of the uv framework, integration with Langchain MCP toolkit, and the ability to retrieve device inventory from CloudVision in a structured format.

Where to use

mcp-cloudvision can be used in network management and monitoring environments, particularly for organizations utilizing Arista’s CloudVision for device inventory and management.

Content

Originally from the cvp-mcp-demo repo.

To also note this is not official only a simply demo

I plan to add some more of our resource API’s for this to leverage as demos in the near term future.

The changes here are the following.

So like the previous demo this no longer has the necessity of Claude desktop.

To make this run

Please add a .env file like the following.

CVPTOKEN="Somesupersecuretoken"
CVP="www.arista.io"

Install uv unless you already have it.

pipx install uv

Get a gemini token

Here and save your api key as

GEMINI_API_KEY="KeyIGotFromGoogleAPIkey"

uv

install the requirements for this project

uv pip install -r pyproject.toml

run the file.

uv run python3.13 cvmcpclient.py

Result

Welcome to the chat! Type 'exit' to quit.
You: tell me about my clouvsion inventory and how many devices I have?  Can you give this to me in a table like format?
Processing request of type CallToolRequest
HTTP Request: GET https://www.arista.io/api/resources/inventory/v1/Device/all "HTTP/1.1 200 OK"
HTTP Request: GET https://www.arista.io/api/resources/inventory/v1/Device/all "HTTP/1.1 200 OK"
The final answer is: OK. I can get the inventory of your devices from CloudVision.

Here is your CloudVision inventory:

| Hostname       | Model             | Software Version   | Device ID                            |
| :------------- | :---------------- | :----------------- | :----------------------------------- |
| xxx            | DCS-7280CR2A-30   | 4.30.5M            |                                      |
| xxx            | DCS-7280CR2A-30   | 4.30.5M            |                                      |
| xxx            | DCS-7280CR2A-30   | 4.30.5M            |                                      |
| xxx            | DCS-7280CR2A-30   | 4.30.5M            |                                      |
| xxx            | DCS-7050SX3-48YC8 | 4.30.5M            |                                      |
| xxx            | DCS-7050SX3-48YC8 | 4.32.0F            |                                      |
| xxx            | DCS-7050SX3-48YC8 | 4.30.5M            |                                      |
| xxx            | DCS-7050SX3-48YC8 | 4.30.5M            |                                      |
| xxx            | DCS-7804-CH       | 4.32.2.1F          |                                      |
| xxx            | DCS-7804-CH       | 4.32.2.1F          |                                      |
| DC1_LEAF1A     | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825601     |
| DC1_LEAF1B     | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825602     |
| DC1_L2_LEAF2A  | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825603     |
| DC1_L2_LEAF2B  | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825604     |
| DC1_SVC2B      | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825606     |
| DC1_SVC2A      | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825605     |
| DC1_SPINE2     | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825699     |
| DC1_SPINE1     | cEOSLab           | 4.33.1F            | 1C68470A1E0CD6EF7418D78A95825698     |

You have a total of 18 devices in your inventory.

Troubleshooting

The asyncmain.py file if you run this it will essentially do sort of the same entirely outside of MCP. So if you have the correct cvaas/cvp server as well as API key you should be good here.

python3 asyncmain.py

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers