mcp-all-incl
用于管理的MCP服务器 全包.com 通过KAS SOAP API进行网络托管。让Claude和其他兼容MCP的AI助手直接访问域、DNS、电子邮件、数据库、cronjobs、SSL等。
9个工具,53个动作 -全面覆盖KAS API,将所有SOAP/XML复杂性抽象为干净的JSON响应。
特性
- 完成9个工具类别的KAS API覆盖范围
- 通过HTTPS进行纯文本身份验证(通过TLS安全)
- 自动会话令牌管理,到期后重新认证
- 防洪意识-遵守KAS API费率限制
- 基于堆栈的SOAP/XML解析器,可正确处理深度嵌套 `` 结构
- 自动修复常见参数问题(例如DNS zone_host上缺少尾随点)
pick和filter所有工具上的参数,以减少响应大小和令牌使用
需求
- Node.js 22+
- 具有API访问权限的All-Inkl.com KAS帐户
- KAS登录(格式:
w0XXXXXXX)和密码
设置
克劳德桌面/Claude.ai
添加 claude_desktop_config.json:
窗户: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"all-inkl": {
"command": "npx",
"args": ["-y", "mcp-all-inkl"],
"env": {
"KAS_LOGIN": "w0XXXXXXX",
"KAS_PASSWORD": "your-kas-password"
}
}
}
}保存后重新启动Claude Desktop。
克劳德代码
claude mcp add all-inkl \
-e KAS_LOGIN=w0XXXXXXX \
-e KAS_PASSWORD=your-kas-password \
-- npx -y mcp-all-inkl或添加到 .mcp.json 在项目根目录中:
{
"mcpServers": {
"all-inkl": {
"command": "npx",
"args": ["-y", "mcp-all-inkl"],
"env": {
"KAS_LOGIN": "w0XXXXXXX",
"KAS_PASSWORD": "your-kas-password"
}
}
}
}光标
添加 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目):
{
"mcpServers": {
"all-inkl": {
"command": "npx",
"args": ["-y", "mcp-all-inkl"],
"env": {
"KAS_LOGIN": "w0XXXXXXX",
"KAS_PASSWORD": "your-kas-password"
}
}
}
}帆板运动
添加 ~/.codeium/windsurf/mcp_config.json:
与上述JSON格式相同。
VS代码+GitHub副本
添加 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"all-inkl": {
"command": "npx",
"args": ["-y", "mcp-all-inkl"],
"env": {
"KAS_LOGIN": "w0XXXXXXX",
"KAS_PASSWORD": "your-kas-password"
}
}
}
}克莱恩
打开Cline->MCP服务器图标->编辑MCP设置,然后添加与Claude Desktop相同的JSON。
Continue.dev
创建 .continue/mcpServers/all-inkl.json 使用相同的JSON格式。
OpenAI Codex命令行界面
codex mcp add all-inkl \
--env KAS_LOGIN=w0XXXXXXX \
--env KAS_PASSWORD=your-kas-password \
-- npx -y mcp-all-inkl泽德
添加到Zed settings.json (通过代理面板->设置):
{
"context_servers": {
"all-inkl": {
"command": {
"path": "npx",
"args": ["-y", "mcp-all-inkl"],
"env": {
"KAS_LOGIN": "w0XXXXXXX",
"KAS_PASSWORD": "your-kas-password"
}
}
}
}
}兼容性矩阵
| 工具 | 配置位置 |
|---|---|
| 克劳德桌面/Claude.ai | claude_desktop_config.json |
| 克劳德代码 | .mcp.json |
| 光标 | .cursor/mcp.json |
| 风帆冲浪 | ~/.codeium/windsurf/mcp_config.json |
| VS代码+副本 | .vscode/mcp.json |
| 临床 | MCP设置JSON |
| Continue.dev | .continue/mcpServers/*.json |
| Zed | settings.json |
| Codex CLI | .codex/config.toml |
| Roo代码 | MCP设置JSON |
| 谷歌反重力 | ~/.gemini/settings.json |
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
KAS_LOGIN | yes | --KAS帐户登录(格式: w0XXXXXXX) | |
KAS_PASSWORD | 是 | - | KAS帐户密码 |
从以下网址获取您的KAS登录名 KAS管理面板 -登录后显示在右上角。
选择和筛选-响应优化
所有工具支持可选 pick 和 filter 参数,以减少大型响应上的令牌使用。
pick-仅返回特定字段
// Without pick: full DNS records with 8 fields each (~2,000 tokens for 18 records)
{ "action": "list", "params": { "zone_host": "example.com." } }
// With pick: only type and data (~400 tokens)
{ "action": "list", "params": { "zone_host": "example.com." }, "pick": ["record_type", "record_data"] }filter-按字段值筛选数组结果
// Only MX records
{ "action": "list", "params": { "zone_host": "example.com." }, "filter": { "record_type": "MX" } }
// Only a specific database
{ "action": "list", "filter": { "database_name": "d03f4990" } }组合-过滤+拾取
// MX records with only server and priority
{ "action": "list", "params": { "zone_host": "example.com." }, "filter": { "record_type": "MX" }, "pick": ["record_data", "record_aux"] }
// Returns: [{"record_data": "aspmx.l.google.com.", "record_aux": 1}, ...]何时使用:
- 具有许多记录的DNS区域 -过滤条件
record_type只获取A、MX、TXT等。 - 邮件帐户 -仅限选择
mail_login和domain_part而不是完整的配额细节 - 数据库 -过滤条件
database_comment或仅选择database_name和used_database_space - 任何列表操作 返回的数据超出所需数量
工具和操作
kas_dns-dns记录
管理A、AAAA、CNAME、MX、TXT、SRV记录。
重要提示:zone_host必须以尾随点结尾:"example.com."不"example.com"。如果缺少,服务器会自动附加它,但最佳做法是包含它。
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | zone_host | 列出一个区域的所有DNS记录 |
create | zone_host, record_type, record_name, record_data, record_aux | 创建记录。 record_name="" 对于区域根。 record_aux=0 对于大多数类型,MX的MX优先级 |
update | record_id | 更新记录(获取 record_id 从 list) |
delete | record_id | 删除记录 |
reset | zone_host | 将区域重置为默认值 |
kas_domain-域名
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | - | 列出所有域 |
list_tlds | - | 列出可用顶级域名 |
create | domain_name, domain_tld | 注册新域名 |
update | domain_name | 更新域设置(路径、重定向、PHP版本等) |
delete | domain_name | 删除域 |
move | domain_name, source_account, target_account | 将域移动到另一个KAS帐户 |
kas_subdomain-子域名
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | - | 列出所有子域 |
create | subdomain_name, domain_name | 创建子域(例如。 "www" + "example.com") |
update | subdomain_name | 更新子域设置 |
delete | subdomain_name | 删除子域 |
move | subdomain_name, source_account, target_account | 转移到另一个帐户 |
kas_database - MySQL数据库
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | - | 列出所有数据库及其大小和注释 |
create | database_password | 创建数据库(名称由KAS自动生成) |
update | database_login | 更新密码、评论或允许的主机 |
delete | database_login | 删除数据库 |
适合-电子邮件
管理邮箱、转发、邮件列表和筛选器。
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | - | 列出所有邮箱 |
create | mail_password, local_part, domain_part | 创建邮箱 |
update | mail_login | 更新邮箱设置 |
delete | mail_login | 删除邮箱 |
list_forwards | - | 列出转发的电子邮件 |
create_forward | local_part, domain_part | 创建转发 |
update_forward | mail_forward | 更新远期目标 |
delete_forward | mail_forward | 删除转发 |
list_lists | - | 列出邮件列表 |
create_list | mailinglist_name, mailinglist_domain, mailinglist_password | 创建邮件列表 |
update_list | mailinglist_name | 更新邮件列表 |
delete_list | mailinglist_name | 删除邮件列表 |
list_filters | - | 列出邮件筛选器 |
add_filter | mail_login, filter | 添加邮件筛选器 |
delete_filter | mail_login | 删除邮件筛选器 |
kas_cronjob-Cronjobs
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | - | 列出所有cronjobs |
create | protocol, http_url, cronjob_comment, minute, hour, day_of_month, month, day_of_week | 创建cronjob。时间值使用crontab语法(* 为每一个) |
update | cronjob_id | 更新cronjob设置 |
delete | cronjob_id | 删除cronjob |
kas_ssl-ssl证书
| 操作 | 必需参数 | 描述 |
|---|---|---|
update | hostname, ssl_certificate_sni_key, ssl_certificate_sni_crt | 安装/更新SSL证书 |
kas_account-账户管理
| 操作 | 必需参数 | 描述 |
|---|---|---|
list | - | 列出所有帐户 |
get_resources | - | 资源限制和当前使用情况 |
get_settings | - | 帐户设置 |
get_server_info | - | 服务器信息(PHP版本、MySQL、操作系统) |
create | account_kas_password, account_ftp_password | 创建子帐户 |
update | account_login, account_kas_password | 更新帐户 |
update_settings | - | 更新帐户设置 |
update_superuser | account_login | 更新超级用户设置 |
delete | account_login | 删除帐户 |
kas_system-系统
| 操作 | 必需参数 | 描述 |
|---|---|---|
create_session | - | 创建新的身份验证会话 |
get_space | - | 磁盘空间概述 |
get_space_usage | directory | 目录的详细空间使用情况 |
get_traffic | - | 交通统计 |
示例响应
DNS记录
[
{
"record_zone": "example.com",
"record_name": null,
"record_type": "A",
"record_data": "85.13.151.85",
"record_aux": 0,
"record_id": 56652527,
"record_changeable": "Y",
"record_deleteable": "Y"
}
]数据库
[
{
"database_name": "d03f4990",
"database_login": "d03f4990",
"database_password": null,
"database_comment": "My App Database",
"database_allowed_hosts": "localhost",
"used_database_space": 44075.3
}
]察看连接信息
[
{ "service": "mysql", "version": "10.11.14", "version_type": "server" },
{ "service": "php", "interface": "cgi-fcgi", "file_extension": "php84", "version": 8.4 },
{ "service": "os", "distribution": "ubuntu", "version": 24 }
]建筑
认证流程
- SOAP POST到
https://kasapi.kasserver.com/soap/KasAuth.php随着kas_auth_type: "plain" - 接收会话令牌(有效期60分钟,自动刷新)
- 所有后续API调用都使用
kas_auth_type: "session"使用令牌 - 会话到期或无效时,自动重新身份验证
SOAP XML解析器
KAS API返回深度嵌套的SOAP/XML ` 多个级别的标签。基于正则表达式的标准解析失败,因为贪婪匹配无法区分嵌套 ` 打开/关闭配对。
此服务器使用 基于堆栈的解析器 即:
- 轨迹 `` 用计数器标记深度
- 仅在深度返回0时捕获顶级项目
- 递归解析
ns2:Map对象和SOAP-ENC:Array数组 - 手柄
xsi:nil,xsd:int,xsd:float,以及xsd:string类型 - 返回干净的JavaScript对象/数组
API参数格式
KAS API期望参数在SOAP信封中为JSON。一个关键细节:请求参数的参数键必须为 KasRequestParams (CamelCase),不是 kas_request_params (蛇病例)。没有参数的操作适用于任何一种格式,这可能会在开发过程中掩盖此错误。
防洪
KAS 返回 KasFloodDelay 每个响应的值。服务器会跟踪每个操作,并在向同一端点发送下一个请求之前自动等待。
拾取和筛选
所有工具均接受可选 pick (字段名称数组)和 filter (具有键值对的对象)参数。在解析API响应之后,客户端应用这些- filter 从数组中删除不匹配的条目, pick 删除除指定字段外的所有字段。两者结合起来可以大大减少令牌的使用:一个完整的DNS区域,每个区域有18条记录和8个字段(约2000个令牌),可以减少到只有5条MX记录和2个字段(~100个令牌)。
验证
开始新的对话并问:
List all my domainsAI应该打电话 kas_domain 行动起来 list 并以JSON格式返回您的域名列表。
其他测试查询:
"Show me DNS records for example.com"-使用尾随点自动修复功能测试DNS"How much disk space is left?"-测试系统工具"What PHP versions are available?"-测试服务器信息
发展
git clone https://github.com/hl9020/mcp-all-inkl.git
cd mcp-all-inkl
npm install
npm run build本地测试
创建一个测试文件(从git中排除):
// test.mjs
process.env.KAS_LOGIN = "w0XXXXXXX";
process.env.KAS_PASSWORD = "your-password";
const { kasCall } = await import("./dist/kas-client.js");
const result = await kasCall("get_domains");
console.log(result.content[0].text);node test.mjs项目结构
src/
index.ts # MCP server setup, tool definitions with descriptions
kas-client.ts # SOAP client, auth, XML parser, API caller
types.ts # TypeScript interfaces
tools/
dns.ts # DNS records (5 actions)
domain.ts # Domains (6 actions)
subdomain.ts # Subdomains (5 actions)
database.ts # MySQL databases (4 actions)
mail.ts # Email, forwards, lists, filters (15 actions)
cronjob.ts # Cronjobs (4 actions)
ssl.ts # SSL certificates (1 action)
account.ts # Account management (9 actions)
system.ts # System info (4 actions)已知限制
- KAS防洪系统在快速连续呼叫时可能会导致临时延误
- SSL工具仅支持
update(安装证书),不列出或删除 - KAS API本身没有分页-大的结果集是完整返回的
链接
许可证
麻省理工学院
