vcf-mcp-sddc-vc

vcf-mcp-sddc-vc

Enables natural language interaction with VMware SDDC Manager and vCenter APIs through MCP tools, allowing users to query workload domains, VMs, clusters, and more.

Category
Visit Server

README

OpenAPI MCP Assistant for VMware

An MCP-backed AI assistant framework for VMware APIs such as VMware Cloud Foundation / SDDC Manager and vCenter.

It can expose OpenAPI-backed operations as MCP tools for Claude Desktop, FastMCP clients, or the included CLI assistant. The default tool set is intentionally small and operator-friendly so users can ask natural questions such as:

List the workload domains in SDDC Manager.

Features

  • FastMCP server for SDDC Manager, vCenter, or generic OpenAPI profiles
  • Claude Desktop support through stdio MCP
  • HTTP and SSE MCP hosting for other clients
  • SDDC token, vCenter session, Basic, and bearer-token auth modes
  • Optional OpenAPI-generated tool exposure
  • Local LLM support through Ollama-compatible /v1/chat/completions
  • Setup validator through sddc-doctor

Connector Profiles

Use one .env file per connector:

.env.sddc
.env.vcenter

The same server executable can launch either profile:

sddc-mcp-server --transport stdio --env-file .env.vcenter

Curated MCP Tools

For SDDC Manager, the server exposes:

  • list_workload_domains
  • get_sddc_manager_health
  • list_hosts
  • list_clusters
  • sddc_inventory_snapshot
  • sddc_api_get
  • sddc_recent_failed_tasks

For vCenter, the server exposes:

  • list_vcenter_vms
  • list_vcenter_hosts
  • list_vcenter_clusters
  • list_vcenter_datacenters
  • api_get

Set EXPOSE_OPENAPI_TOOLS=true only if your MCP client can handle a very large generated tool list.

Quick Start

git clone <your-repo-url>
cd sddc-ai-assistant
.\scripts\install.ps1 -CopyEnv
.\.venv\Scripts\Activate.ps1

For SDDC Manager:

copy .env.sddc.example .env.sddc

For vCenter:

copy .env.vcenter.example .env.vcenter

Edit the profile with FQDN, credentials, TLS setting, and OpenAPI spec path.

Validate:

sddc-doctor --env-file .env.sddc
sddc-doctor --env-file .env.sddc --check-api
sddc-doctor --env-file .env.vcenter --check-api

Claude Desktop

Generate the Claude Desktop config:

.\scripts\write-claude-config.ps1 -ServerName sddc-manager -EnvFile .env.sddc
.\scripts\write-claude-config.ps1 -ServerName vcenter -EnvFile .env.vcenter

Restart Claude Desktop completely, then ask:

List the workload domains in SDDC Manager.

or:

List vCenter virtual machines.

Manual config example:

{
  "mcpServers": {
    "sddc-manager": {
      "command": "C:\\path\\to\\sddc-ai-assistant\\.venv\\Scripts\\sddc-mcp-server.exe",
      "args": ["--transport", "stdio", "--env-file", "C:\\path\\to\\sddc-ai-assistant\\.env.sddc"]
    },
    "vcenter": {
      "command": "C:\\path\\to\\sddc-ai-assistant\\.venv\\Scripts\\sddc-mcp-server.exe",
      "args": ["--transport", "stdio", "--env-file", "C:\\path\\to\\sddc-ai-assistant\\.env.vcenter"]
    }
  }
}

HTTP MCP Server

sddc-mcp-server --transport http --host 0.0.0.0 --port 8000

For vCenter:

sddc-mcp-server --transport http --host 0.0.0.0 --port 8001 --env-file .env.vcenter

Useful URLs:

http://localhost:8000/
http://localhost:8000/health
http://localhost:8000/mcp

0.0.0.0 is only the bind address. Browse to localhost, 127.0.0.1, or the machine's real IP address.

CLI Assistant

The CLI assistant can call the MCP server and summarize with an OpenAI-compatible LLM.

For Ollama:

LLM_BASE_URL=http://localhost:11434/v1
OPENAI_API_KEY=ollama
LLM_MODEL=llama3.1:8b
LLM_TIMEOUT_SECONDS=300
LLM_CONTEXT_MAX_CHARS=20000

Run:

sddc-ai --mcp-url http://localhost:8000/mcp "Summarize this SDDC Manager environment and highlight anything unhealthy"

Documentation

Security Notes

  • Never commit .env; it contains SDDC credentials.
  • Prefer SDDC_AUTH_MODE=token.
  • Use SDDC_VERIFY_TLS=true with trusted certificates in production.
  • Keep EXPOSE_OPENAPI_TOOLS=false for Claude Desktop unless you really need the full generated API surface.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured