Search documentation for Solo.io products using AI-powered semantic search.
The Solo.io - Docs MCP MCP Server - enables your AI agents to search across the full range of Solo.io documentation and knowledge bases. Effortlessly find answers related to Istio, Ambient, KAgent, and other Solo.io products.
To open Cursor and automatically add the MCP server, click install. Alternatively, add the following to your ~/.cursor/mcp.json file.
{
"mcpServers": {
"soloio-docs-mcp": {
"url": "https://search.solo.io/mcp"
}
}
}
To open VS Code and automatically add the MCP server, click install. Alternatively, add the following to your .vscode/mcp.json file in your workspace. To learn more, see the VS Code documentation.
{
"servers": {
"soloio-docs-mcp": {
"type": "http",
"url": "https://search.solo.io/mcp"
}
}
}
To add the MCP server to Claude Code, run the following command. To learn more, see the Claude Code documentation.
claude mcp add --transport http soloio-docs-mcp https://search.solo.io/mcp
After adding the server, you can verify it's connected:
claude /mcp
You can enable MCP servers on ChatGPT if you have a Pro, Plus, Business, Enterprise, or Education account. Follow the OpenAI documentation for instructions.
Use the following parameters when setting up your custom connector:
https://search.solo.io/mcp
This MCP server also works with OpenAI's Responses API when building autonomous agents.
Test the server easily using the MCP Inspector CLI tool. This is the quickest way to verify the server is working and see example results.
npx @modelcontextprotocol/inspector --cli "https://search.solo.io/mcp" \
--transport http --method tools/call \
--tool-name search \
--tool-arg product=ambient \
--tool-arg query='how to expose service across clusters' \
--tool-arg limit=1 | jq -r '.content[0].text'
Here's an example of what the search tool returns:
## Result 1 (Score: 0.6277)
Product: ambient
Version: latest
Section: Exposing a Service across clusters[](#exposing-a-service-across-clusters)
Hierarchy: Enables assigning multi-cluster services an IP address > Exposing a Service across clusters[](#exposing-a-service-across-clusters)
Source: https://ambientmesh.io/docs/setup/multicluster/
When you want a Service to be reachable from other clusters, all you need to do is label the service:
```
$ kubectl label service hello-world solo.io/service-scope=global
```
Exposing a service doesn't change the semantics of the existing service. Rather, it creates a new service derived from the service, with the union of endpoints of the service across all clusters.
Each multi-cluster service gets a hostname of the form `..mesh.internal` (mirroring the `..svc.cluster.local` naming scheme of standard Services).
Multi-cluster ambient mesh adheres to the principle of [namespace sameness](https://multicluster.sigs.k8s.io/concepts/namespace-sameness/) - that is, a Service named `hello-world` in the `application` namespace in Cluster 1 is equivalent to the Service `hello-world` Service in the `application` namespace in Cluster 2.
MCP is an open protocol supported by many clients. Your specific client documentation can advise you how to connect.
Use the server URL https://search.solo.io/mcp. No authentication is required.
Example configuration:
{
"soloio-docs-mcp": {
"url": "https://search.solo.io/mcp"
}
}
This server exposes the following MCP tools for AI agents to use:
Search documentation for the following products: Istio, Kagent, Kgateway, Agentgateway
query
The search query to find relevant documentation (max 2000 characters)
product
The product to search documentation for
limit
Maximum number of results to return (default: 4)
Retrieve a range of documentation chunks by URL and combine them into a continuous document. Use this to get more context around a search result by fetching adjacent chunks.
collection
The Qdrant collection name to query (e.g., 'istio-io_latest_docs')
url
The URL of the document to retrieve chunks from
startIndex
The starting chunk index (0-based, inclusive)
endIndex
The ending chunk index (0-based, inclusive). Will be clamped to the maximum available index if too large.