更好的MCP服务器
模型上下文协议(MCP)服务器 贝塞尔 系统监控工具。
概述
此MCP服务器提供了与Beszel的PocketBase后端交互的工具,允许您:
- 列出系统、容器、警报和警报历史记录
- 查询系统统计信息
- 查询集装箱统计信息
安装
使用紫外线(推荐)
紫外线 是一个快速的Python包管理器,可以自动处理虚拟环境:
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install the project
uv pip install -e .
# Or run directly without installing
uv run python -m beszel_mcp使用pip
pip install -e .或者直接从依赖项安装:
pip install fastmcp httpx配置
服务器需要以下环境变量:
BESZEL_URL:您的Beszel/PacketBase实例的URL(例如。,http://localhost:8090)BESZEL_EMAIL(可选):用于身份验证的管理员电子邮件BESZEL_PASSWORD(可选):用于身份验证的管理员密码
用法
使用克劳德桌面
添加到您的 claude_desktop_config.json:
使用紫外线(推荐):
{
"mcpServers": {
"beszel": {
"command": "uvx",
"args": ["--from", "/path/to/beszel-mcp", "beszel-mcp"],
"env": {
"BESZEL_URL": "http://localhost:8090",
"BESZEL_EMAIL": "your-email@example.com",
"BESZEL_PASSWORD": "your-password"
}
}
}
}或者直接使用Python:
{
"mcpServers": {
"beszel": {
"command": "python",
"args": ["-m", "beszel_mcp"],
"env": {
"BESZEL_URL": "http://localhost:8090",
"BESZEL_EMAIL": "your-email@example.com",
"BESZEL_PASSWORD": "your-password"
}
}
}
}独立
export BESZEL_URL="http://localhost:8090"
export BESZEL_EMAIL="your-email@example.com"
export BESZEL_PASSWORD="your-password"
# Using uv (recommended)
uv run beszel-mcp
# Or with python -m
uv run python -m beszel_mcp
# Without uv
python -m beszel_mcp
# Or use fastmcp's CLI
fastmcp run src/beszel_mcp/server.py可用工具
list_systems
列出所有受监控的系统。
参数:
page(可选):页码(默认:1)per_page(可选):每页结果(默认值:50)filter(可选):PocketBase过滤器字符串sort(可选):排序顺序(例如,“-created”)
列表_容器
列出所有受监控的容器。
参数:
page(可选):页码(默认:1)per_page(可选):每页结果(默认值:50)filter(可选):PocketBase过滤器字符串sort(可选):排序顺序
列表_警报
列出所有警报。
参数:
page(可选):页码(默认:1)per_page(可选):每页结果(默认值:50)filter(可选):PocketBase过滤器字符串sort(可选):排序顺序
list_alert_history
列出警报历史记录。
参数:
page(可选):页码(默认:1)per_page(可选):每页结果(默认值:50)filter(可选):PocketBase过滤器字符串sort(可选):排序顺序
query_system_stats
查询特定系统的统计信息。
参数:
system_id(必填):系统IDstart_time(可选):统计开始时间(ISO 8601格式)end_time(可选):统计结束时间(ISO 8601格式)page(可选):页码(默认:1)per_page(可选):每页结果(默认值:100)
查询容器统计数据
查询特定容器的统计信息。
参数:
container_id(必填):容器IDstart_time(可选):统计开始时间(ISO 8601格式)end_time(可选):统计结束时间(ISO 8601格式)page(可选):页码(默认:1)per_page(可选):每页结果(默认值:100)
PocketBase过滤器示例
# Filter by name
filter="name ~ 'server'"
# Filter by status
filter="status = 'active'"
# Filter by date range
filter="created >= '2024-01-01' && created 80 || memory > 90) && status = 'active'"为什么选择FastMCP?
此服务器使用FastMCP而不是原始MCP SDK构建,原因有几个:
- 代码减少35% -注重逻辑,而不是样板
- 自动模式生成 -类型提示变成JSON模式
- 清洁装饰师 -简单
@mcp.tool()而不是手动路由 - 更好的DX -热重新加载、开发模式等
看 为什么选择FastMCP? 以进行详细比较。
许可证
麻省理工学院
