VI+ MCP Server

by jgamblin

145 downloads
Not rated
GitHub

About

An MCP Server for Cisco Vulnerability Management VI+ API

Details

Author
jgamblin
Downloads
145
Categories
Developer Tools

- Fetches CVE details using the Cisco CVM API.
- Returns risk scores, exploitability, and fix information.
- Runs as a Python‑based MCP server over stdio.
- Can be exposed as REST APIs via Open‑WebUI and mcpo.
- Suggests using the Gemma 3:12B model for Open‑WebUI.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name VI+ MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure it as an MCP server in VS Code by adding a JSON entry under the "mcp" key in settings.json, specifying the command python and the path to vi-mcp.py. Alternatively, serve it via Open‑WebUI by cloning the repository, building the Docker image, and running the MCP‑to‑OpenAPI proxy (mcpo) with a command that includes the environment file.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "vi+ mcp server": {
            "VI-MCP": {
                "command": "docker",
                "args": [
                    "build",
                    "-t",
                    "vi_mcp_server",
                    "."
                ]
            }
        }
    }
}

McpServers

{
    "VI-MCP": {
        "command": "docker",
        "args": [
            "build",
            "-t",
            "vi_mcp_server",
            "."
        ]
    }
}

VI+ MCP Server

The VI+ MCP Server is a Python-based application designed to fetch and format details about Common Vulnerabilities and Exposures (CVEs) using the Cisco CVM API. It provides a structured and readable summary of CVE data, including risk scores, exploitability, and fixes.

Serving as an MCP Server in VS Code

To configure the VI+ MCP Server as an MCP server in VS Code, follow these steps:

1. Open your VS Code settings file (settings.json).
2. Add the following configuration under the "mcp" key:

    "mcp": {
"servers": {
"VI+Bot": {
"type": "stdio",
"command": "python",
"args": [
"/Github/VI-MCP/vi-mcp.py"
]
}
}
}

3. Save the settings.json file.

Notes

- Ensure Python is installed and accessible from your terminal. - The .env file must be present in the project root and contain the required environment variables. - Update the path /Github/VI-MCP/vi-mcp.py in the configuration to the correct path on your local system. - If you encounter issues, verify that the path to vi-mcp.py is correct and that the file is executable.

For more information on configuring MCP servers in VS Code, refer to the VS Code MCP Server Documentation.

Using MCPO for Serving to Open-WebUI

Open-WebUI is a powerful platform that allows you to integrate and expose MCP-based tools through standard OpenAPI endpoints. By using the MCP-to-OpenAPI proxy (mcpo), you can make your MCP server accessible via REST APIs, enabling seamless integration with other tools, services, and workflows. Open-WebUI simplifies deployment, provides auto-generated OpenAPI documentation, and supports interactive exploration of your APIs.

For a detailed guide on getting started with Open-WebUI, refer to the Getting Started with Open-WebUI section.

Why Use Open-WebUI with MCPO?

- Standardized API Access: Expose your MCP server as RESTful APIs, making it easier to integrate with existing systems.
- Interactive Documentation: Automatically generate OpenAPI documentation, accessible via a built-in Swagger UI.
- Scalability and Security: Leverage HTTP-based communication with robust authentication and scalability features.
- Ease of Use: Simplify the deployment process with minimal configuration and no need for custom clients.

To serve the VI+ MCP Server to Open-WebUI using the MCP-to-OpenAPI proxy (mcpo), follow these steps:

1. Clone the repository:

   git clone <repository-url>
cd VI-MCP

2. Build the Docker image:

   docker build -t vi_mcp_server .

3. Run the MCP-to-OpenAPI proxy with the Docker container:

   uvx mcpo --port 8000 -- docker run -i --rm --env-file .env vi_mcp_server

4. Access the auto-generated OpenAPI documentation at:

   http://localhost:8000/docs

For more details on using MCPO with Open-WebUI, refer to the Open-WebUI MCP Documentation.
Learn more about the MCPO project on its GitHub repository.

Suggested Model for Open-WebUI

We recommend using the Gemma 3:12B model with MCP in Open-WebUI. This model is a highly capable multimodal model with a 128K context window, making it ideal for tasks like question answering, summarization, and reasoning. It supports over 140 languages and is optimized for deployment on resource-limited devices.

Key features of the Gemma 3:12B model:
- Multimodal capabilities: Processes both text and images.
- Large context window: 128K tokens for handling extensive input.
- High performance: Excels in reasoning, logic, and summarization tasks.
- Compact design: Runs efficiently on a single GPU.

For more information, visit the Gemma 3:12B model page.

System Prompt for Open-WebUI

The suggested system prompt for Open-WebUI is available in the SystemPrompt.md file. This prompt provides detailed guidance for configuring the assistant to prioritize Cisco Risk Scores and provide actionable vulnerability insights.

Environment Variables

Create a .env file in the project root with the following content:
RISK_TOKEN="your_api_token_here"

Testing

To test the API using the vi-mcp-test.py script:

1. Ensure the .env file is configured with your RISK_TOKEN.
2. Run the script:

   python3 vi-mcp-test.py

3. The script will fetch and display details for a hardcoded CVE ID (CVE-2023-35078).

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please submit a pull request or open an issue for any suggestions or improvements.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.