Truenascoremcp

Truenascoremcp

🚀 TrueNAS Core MCP 服务器

这是一个模型上下文协议(MCP)服务器,它允许 Claude Desktop(或任何 MCP 客户端)通过 TrueNAS API 与 TrueNAS Core 系统进行交互。

✨ 主要特性

  • 用户管理:列出用户,获取用户详细信息
  • 系统信息:获取 TrueNAS 系统信息
  • 存储管理:列出存储池、数据集,创建数据集
  • 共享管理:列出并创建 SMB 共享
  • 快照管理:创建 ZFS 快照

📦 安装指南

前提条件

  • Python 3.8 或更高版本
  • 具有 API 访问权限的 TrueNAS Core 系统
  • Claude Desktop(或任何兼容 MCP 的客户端)
  • TrueNAS API 密钥

安装步骤

  1. 克隆此仓库:
git clone https://github.com/vespo92/TrueNasCoreMCP.git
cd truenas-core-mcp
  1. 创建虚拟环境:
python -m venv venv

# 在 Windows 上:
venv\Scripts\activate

# 在 Linux/Mac 上:
source venv/bin/activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env
# 使用你的 TrueNAS 详细信息编辑 .env 文件

获取 TrueNAS API 密钥

  1. 登录到你的 TrueNAS Core 网络界面。
  2. 导航到 设置 → API 密钥。
  3. 点击 添加。
  4. 为你的密钥命名(例如,“MCP 服务器”)。
  5. 点击 提交。
  6. 复制生成的 API 密钥(你将无法再次查看它!)

配置

编辑 .env 文件,填入你的 TrueNAS 连接详细信息:

TRUENAS_URL=https://192.168.1.100  # 你的 TrueNAS IP 地址或主机名
TRUENAS_API_KEY=1-your-api-key-here
TRUENAS_VERIFY_SSL=false  # 如果使用有效的 SSL 证书,请设置为 true

💻 使用示例

运行服务器

独立模式(用于测试)

python truenas_mcp_server.py

与 Claude Desktop 配合使用

  1. 打开 Claude Desktop 设置。
  2. 导航到 MCP 服务器配置。
  3. 将以下配置添加到你的 claude_desktop_config.json 文件中:
{
"mcpServers": {
"truenas": {
"command": "python",
"args": [
"C:\\path\\to\\truenas_mcp_server.py"
],
"env": {
"TRUENAS_URL": "https://your-truenas-ip",
"TRUENAS_API_KEY": "your-api-key",
"TRUENAS_VERIFY_SSL": "false"
}
}
}
}
  1. 重启 Claude Desktop

可用功能

用户管理

  • list_users() - 列出系统中的所有用户
  • get_user(username) - 获取特定用户的详细信息

系统信息

  • get_system_info() - 获取 TrueNAS 系统信息

存储管理

  • list_pools() - 列出所有存储池
  • list_datasets() - 列出所有数据集
  • get_pool_status(pool_name) - 获取特定存储池的详细状态
  • create_dataset(pool, name, compression="lz4", quota=None) - 创建一个新的数据集

共享管理

  • list_smb_shares() - 列出所有 SMB 共享
  • create_smb_share(path, name, comment="", read_only=False) - 创建一个新的 SMB 共享

快照管理

  • create_snapshot(dataset, name, recursive=False) - 创建一个 ZFS 快照

在 Claude 中的使用示例

配置完成后,你可以向 Claude 提出以下请求:

  • “列出我 TrueNAS 系统中的所有用户”
  • “显示我的存储池”
  • “在 'tank' 存储池中创建一个名为 'backups' 的新数据集”
  • “列出所有 SMB 共享”
  • “为 tank/data 创建一个快照”

🔧 技术细节

安全注意事项

  • API 密钥:确保你的 API 密钥安全,切勿将其提交到版本控制系统。
  • SSL 验证:在生产环境中启用 SSL 验证。
  • 网络安全:确保你的 TrueNAS 系统仅可从受信任的网络访问。
  • 权限:API 密钥将具有与创建它的用户相同的权限。

故障排除

连接问题

  • 验证你的 TrueNAS URL 是否正确(包括 https://)。
  • 检查 TrueNAS 中是否启用了 API 服务。
  • 确保你的 API 密钥有效。
  • 如果你使用的是自签名证书,请将 TRUENAS_VERIFY_SSL 设置为 false。

API 错误

  • 查看 TrueNAS 日志以获取详细的错误消息。
  • 确保你的用户具有适当的权限。
  • 验证 API 端点是否与你的 TrueNAS Core 版本兼容。

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

致谢

  • 使用官方 API 为 TrueNAS Core 构建。
  • 使用了 Anthropic 的模型上下文协议(MCP)。
  • 借助 FastMCP 轻松创建 MCP 服务器。
  • 0 关注
  • 0 收藏,142 浏览
  • system 提出于 2025-10-05 05:21

相似服务问题

相关AI产品