Istio MCP-over-XDSv3 server sample
A sample implementation of a MCP-over-XDSv3 gRPC server for Istio.
Overview
Istio MCP-over-XDSv3 server sample is a demo implementation of a gRPC server that uses the MCP-over-XDSv3 protocol for Istio, showcasing how to extend Istio's capabilities with a custom gRPC server.
To use this sample, install the 'ko' tool locally, build the container image, and deploy the server to your Kubernetes cluster by applying the provided deployment manifest with the command: ko apply -f deploy.yaml Then, configure the server in your Istio installation by editing the IstioOperator configuration to include the server as a config source.
- Implementation of MCP-over-XDSv3 gRPC server for Istio - Easy deployment using Kubernetes and 'ko' tool - Supports adding custom configuration sources for Istio
- Extending Istio's functionality with custom service configurations.
- Testing and developing new features that leverage Istio's control plane capabilities.
- Deploying microservices in a Kubernetes environment that require advanced control plane communication.
Add to your AI client
Use these steps to connect Istio MCP-over-XDSv3 server sample in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"istio-mcp-sample-antoineco": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-istio-mcp-sample-antoineco"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"istio-mcp-sample-antoineco": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-istio-mcp-sample-antoineco"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"istio-mcp-sample-antoineco": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-istio-mcp-sample-antoineco"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"istio-mcp-sample-antoineco": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-istio-mcp-sample-antoineco"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"istio-mcp-sample-antoineco": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-istio-mcp-sample-antoineco"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"istio-mcp-sample-antoineco": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-istio-mcp-sample-antoineco"
]
}
}
}FAQ
What is MCP-over-XDSv3?
MCP-over-XDSv3 is a protocol for managing configuration in distributed systems leveraging gRPC for better performance and extensibility.
Do I need to have Istio installed to use this sample?
Yes, this sample is designed to work within an existing Istio environment.
Can I customize the gRPC server?
Yes, you can modify the sample implementation to fit your specific needs as it is open-source.