article
README
🚀 自然语言到Kusto查询的MCP服务器
本项目是一个可配置的MCP服务器,它能够将自然语言转换为Kusto查询,并对Kusto执行这些查询,为用户提供便捷的查询操作体验。
✨ 主要特性
- 可配置性:支持通过YAML文件进行灵活配置。
- 查询生成:根据用户提示信息生成Kusto查询。
- 查询执行:执行生成的Kusto查询并返回结果。
- 多数据库支持:支持在多个Kusto数据库之间进行切换操作。
📦 安装指南
构建说明
从项目根目录运行以下命令进行构建:
docker build ./src/Server/Dockerfile src
📚 详细文档
工具列表
1. 配置工具
- 用途:通过YAML文件进行配置。
- 输入参数:
endpoint:指定Kusto集群的终结点。appid和appkey:用于身份验证的凭据。
2. 查询生成工具
- 用途:根据提示生成Kusto查询。
- 输入参数:
prompt:用户提供的提示信息。context(可选):上下文信息,以JSON格式提供。options(可选):选项信息,同样以JSON格式提供。
3. 执行查询工具
- 用途:执行Kusto查询并返回结果。
- 输入参数:
query:要执行的查询语句。context(可选):上下文信息,以JSON格式提供。options(可选):选项信息,同样以JSON格式提供。
4. 多数据库支持工具
- 用途:支持在多个Kusto数据库之间切换。
- 输入参数:
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}"
}
}
}
}
Kusto配置示例
clusters:
your-cluster-name:
endpoint: https://your-kusto-endpoint
auth:
appid: your-app-id
appkey: your-app-key
VS Code中的使用
在.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文件。
微信扫一扫