麒麟MCP服务器
特性
Kylin工具
run_select_query
- 在Kylin集群上执行SQL查询。 - 输入: sql (string):要执行的SQL查询。
list_tables
- 调用API获取指定配置单元表的元数据。 - 输入: project (string):项目的名称。 - 输入: database (string):数据库的名称。 - 输入: table (string):表的名称。
健康检查端点
当使用HTTP或SSE传输运行时,可以在以下位置使用健康检查端点 /health。此端点:
- 退货
200 OK如果服务器健康并且可以连接到Kylin,则使用Kylin版本 - 退货
503 Service Unavailable如果服务器无法连接到Kylin
例子:
curl http://localhost:8000/health
# Response: Kylin status is UP配置
- 打开位于以下位置的Claude Desktop配置文件:
- 在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json - 在Windows上: %APPDATA%/Claude/claude_desktop_config.json
- 添加以下内容:
{
"mcpServers": {
"kylin-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"kylin-mcp",
"--python",
"3.10",
"kylin-mcp"
],
"env": {
"KYLIN_HOST": "",
"KYLIN_PORT": "",
"KYLIN_USER": "",
"KYLIN_PASSWORD": "",
"KYLIN_SECURE": "true",
"KYLIN_VERIFY": "true",
"KYLIN_CONNECT_TIMEOUT": "30",
"KYLIN_SEND_RECEIVE_TIMEOUT": "30"
}
}
}
}- 找到以下命令项
uv并将其替换为指向的绝对路径uv可执行。这确保了正确的版本uv启动服务器时使用。在mac上,您可以使用以下命令找到此路径which uv.
- 重新启动Claude Desktop以应用更改。
在没有uv的情况下运行(使用Python系统)
如果你更喜欢使用Python系统安装而不是uv,你可以从PyPI安装包并直接运行它:
- 使用pip安装软件包:
python3 -m pip install kylin-mcp要升级到最新版本:
python3 -m pip install --upgrade kylin-mcp- 更新您的Claude Desktop配置以直接使用Python:
{
"mcpServers": {
"kylin-mcp": {
"command": "python3",
"args": [
"-m",
"kylin_mcp.main"
],
"env": {
"KYLIN_HOST": "",
"KYLIN_PORT": "",
"KYLIN_USER": "",
"KYLIN_PASSWORD": "",
"KYLIN_SECURE": "true",
"KYLIN_VERIFY": "true",
"KYLIN_CONNECT_TIMEOUT": "30",
"KYLIN_SEND_RECEIVE_TIMEOUT": "30"
}
}
}
}或者,您可以直接使用已安装的脚本:
{
"mcpServers": {
"kylin-mcp": {
"command": "kylin-mcp",
"env": {
"KYLIN_HOST": "",
"KYLIN_PORT": "",
"KYLIN_USER": "",
"KYLIN_PASSWORD": "",
"KYLIN_SECURE": "true",
"KYLIN_VERIFY": "true",
"KYLIN_CONNECT_TIMEOUT": "30",
"KYLIN_SEND_RECEIVE_TIMEOUT": "30"
}
}
}
}注意:确保使用Python可执行文件的完整路径或 kylin-mcp 如果它们不在您的系统PATH中,则执行脚本。您可以通过以下方式找到路径:
which python3对于Python可执行文件which kylin-mcp对于已安装的脚本
发展
- 在
test-services目录运行sh docker.sh开始Kylin。
- 将以下变量添加到
.env存储库根目录中的文件。
*注:使用 default 在此上下文中,用户仅用于本地开发目的。*
KYLIN_HOST=localhost
KYLIN_PORT=7070
KYLIN_USER=admin
KYLIN_PASSWORD=KYLIN- 跑
uv sync安装依赖项。安装uv按照说明 这里。那就去吧source .venv/bin/activate.
- 为了便于使用MCP检查器进行测试,请运行
fastmcp dev kylin-mcp/mcp_server.py启动MCP服务器。
- 要使用HTTP传输和健康检查端点进行测试,请执行以下操作:
# Using default port 8000
KYLIN_MCP_SERVER_TRANSPORT=http python -m kylin_mcp.main
# Or with a custom port
KYLIN_MCP_SERVER_TRANSPORT=http KYLIN_MCP_BIND_PORT=4200 python -m kylin_mcp.main
# Then in another terminal:
curl http://localhost:8000/health # or http://localhost:4200/health for custom port环境变量
以下环境变量用于配置Kylin连接:
必需变量
KYLIN_HOST:您的Kylin服务器的主机名KYLIN_USER:用于身份验证的用户名KYLIN_PASSWORD:身份验证密码
\[!小心\] 将MCP数据库用户视为连接到数据库的任何外部客户端,只授予其操作所需的最低权限,这一点很重要。应始终严格避免使用默认用户或管理用户。
可选变量
KYLIN_PORT:ClickHouse服务器的端口号
- 违约: 7070 - 通常不需要设置,除非使用非标准端口
KYLIN_SECURE:启用/禁用HTTPS连接
- 违约: "true" - 吃起来 "false" 用于非安全连接
KYLIN_CONNECT_TIMEOUT:连接超时(秒)
- 违约: "30" - 如果遇到连接超时,请增加此值
KYLIN_SEND_RECEIVE_TIMEOUT:发送/接收超时(秒)
- 违约: "300" - 为长时间运行的查询增加此值
KYLIN_MCP_SERVER_TRANSPORT:设置MCP服务器的传输方法。
- 违约: "stdio" - 有效选项: "stdio", "http", "sse"这对于使用MCP Inspector等工具进行本地开发非常有用。
KYLIN_MCP_BIND_HOST:使用HTTP或SSE传输时将MCP服务器绑定到的主机
- 违约: "127.0.0.1" - 吃起来 "0.0.0.0" 绑定到所有网络接口(对Docker或远程访问有用) - 仅在运输时使用 "http" 或 "sse"
KYLIN_MCP_BIND_PORT:使用HTTP或SSE传输时绑定MCP服务器的端口
- 违约: "8000" - 仅在运输时使用 "http" 或 "sse"
