使用说明
象限-mcp-poc
引言:
该POC使用了 一切 MCP服务器,因为它具有流式HTTP功能
先决条件
- K8s集群
- 已安装Kuadrant,有关更多信息,请参阅Kuadrant 文档
设置环境变量
export QUAY_USERNAME=xxxx # Quay username
export KUADRANT_AWS_ACCESS_KEY_ID=xxxx # AWS Key ID with access to manage the DNS Zone ID below
export KUADRANT_AWS_SECRET_ACCESS_KEY=xxxx # AWS Secret Access Key with access to manage the DNS Zone ID below
安装
- 更新
mcp-server/mcp-server-everything.yaml使用您的根域创建文件。
1. Install the MCP Server in your K8s cluster.
```sh
kubectl apply -f mcp-server/mcp-server-everything.yaml
- 确保MCP everything服务器吊舱正在运行。
kubectl get pods -n mcp-server
- 创建网关命名空间:
kubectl create ns mcp-gateway
- 在与网关相同的命名空间中创建秘密凭据-这些凭据将用于配置DNS:
kubectl -n mcp-gateway create secret generic aws-credentials \
--type=kuadrant.io/aws \
--from-literal=AWS_ACCESS_KEY_ID=$KUADRANT_AWS_ACCESS_KEY_ID \
--from-literal=AWS_SECRET_ACCESS_KEY=$KUADRANT_AWS_SECRET_ACCESS_KEY
- 在证书管理器命名空间中创建秘密凭据:
kubectl -n cert-manager create secret generic aws-credentials \
--type=kuadrant.io/aws \
--from-literal=AWS_ACCESS_KEY_ID=$KUADRANT_AWS_ACCESS_KEY_ID \
--from-literal=AWS_SECRET_ACCESS_KEY=$KUADRANT_AWS_SECRET_ACCESS_KEY
- 创建Kuadrant网关注意更新
kuadrant/gateway.yaml使用您的根域创建文件。
kubectl apply -f kuadrant/gateway.yaml
- 创建Lets加密群集颁发者和TlS策略:
kubectl apply -f kuadrant/tls.yaml
**Note**: The cert can't be self signed. MCP clients dont accept self signed certs yet.
- 创建DNS策略:
kubectl apply -f kuadrant/dns.yaml
- 一分钟后,测试MCP服务器是否响应
curl -v -X POST "https://api.KUADRANT_ZONE_ROOT_DOMAIN_GOES_HERE/mcp" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {
"resources": {},
"tools": {},
"prompts": {}
},
"clientInfo": {
"name": "test-curl-client",
"version": "1.0"
}
},
"id": 1
}'
- 创建费率限制策略:
kubectl apply -f kuadrant/rlp.yaml
- 创建Auth策略和API密钥机密:
kubectl apply -f kuadrant/auth.yaml
MCP客户端
在这个例子中,我们使用Vscode Co-pilot作为我们的MCP客户端,因为它能够使用Streamable HTTP进行连接
- 将以下内容添加到您的VSCode settings.json中。有关更多信息,请参阅官方VSCode MCP 文档
"mcp": {
"servers": {
"my-mcp-server": {
"type": "http",
"url": "https://KUADRANT_ZONE_ROOT_DOMAIN_GOES_HERE/mcp",
"headers": {
"Authorization": "APIKEY IAMALICE"
}
}
}
},
-
客户端现在应该能够使用服务器,您应该能够使用MCP服务器工具。使用以下命令在vscode中打开副驾驶
⌃⌘I在下拉菜单中点击代理。 -
在聊天类型中:
add 500 and 500
-
Vscode会询问您是否允许副驾驶从MCP服务器调用该工具,请确保您允许它。
-
聊天将输出答案,并显示其运行情况
add来自MCP服务器 -
如果你在配置中省略了Auth标头,或者使用该工具多次快速询问聊天问题,部署的身份验证和速率限制策略将拒绝和限制请求。
