本项目是一个可配置的MCP服务器,它能够将自然语言转换为Kusto查询,并对Kusto执行这些查询,为用户提供便捷的查询操作体验。
从项目根目录运行以下命令进行构建:
docker build ./src/Server/Dockerfile src
endpoint:指定Kusto集群的终结点。appid 和 appkey:用于身份验证的凭据。prompt:用户提供的提示信息。context(可选):上下文信息,以JSON格式提供。options(可选):选项信息,同样以JSON格式提供。query:要执行的查询语句。context(可选):上下文信息,以JSON格式提供。options(可选):选项信息,同样以JSON格式提供。database:指定要操作的数据库名称。在配置文件中,您可以引用以下环境变量:
{
"endpoint": "your-kusto-endpoint",
"appid": "${env:AZURE_CLIENT_ID}",
"appkey": "${env:AZURE_CLIENT_SECRET}"
}
{
"model": {
"type": "openai",
"config": {
"temperature": 0.7,
"max_tokens": 1000,
"api_key": "${env:AZURE_OPENAI_KEY}"
}
},
"kusto": {
"clusters": {
"your-cluster-name": {
"endpoint": "https://your-kusto-endpoint",
"appid": "${env:AZURE_CLIENT_ID}",
"appkey": "${env:AZURE_CLIENT_SECRET}"
}
}
}
}
clusters:
your-cluster-name:
endpoint: https://your-kusto-endpoint
auth:
appid: your-app-id
appkey: your-app-key
在.vscode/mcp.json中添加以下内容:
{
"inputs": [
{
"type": "promptString",
"id": "azure-open-ai-key",
"description": "请输入您的Azure OpenAI密钥",
"password": true
},
{
"type": "promptString",
"id": "kusto-token",
"description": "请输入您的Kusto令牌",
"password": true
}
],
"kusto": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/path/to/settings.yaml:/app/settings.yaml", // 输入settings.yaml文件的路径。可以使用VSCode变量
// 包括在settings.yaml文件中引用的环境变量
"-e",
"AZURE_OPENAI_KEY",
"-e",
"KUSTO_ACCESS_TOKEN",
"alexeyler/kusto-mcp-server",
],
"env": {
"AZURE_OPENAI_KEY": "${input:azure-open-ai-key}",
"KUSTO_ACCESS_TOKEN": "${input:kusto-token}",
}
}
}
endpointURL正确且可访问。prompts部分以包含相关查询和说明,内容越详细越好。settings.yaml文件。