D-Bus MCP-通用Linux系统自动化
  
一种具有自动D-Bus服务发现和通用工具自检功能的模型上下文协议(MCP)服务器。在Linux系统上从任何D-Bus服务中公开100多个工具,无需任何配置。
🚀 特性
- 🔍 自动发现 -查找所有D-Bus服务并将其作为MCP工具公开
- 🛠️ 多功能桥式电路 -任何D-Bus服务都可以立即访问MCP
- 📊 100+工具 -从systemd、NetworkManager和自定义服务中自动发现
- 🎯 智能组织 -按类别(系统、网络、自动化)分组的服务
- ⚡ 零配置 -新的D-Bus服务无需更改代码即可工作
- 🤖 AI就绪 -AI助手理解工具关系的完美环境
📋 快速开始
一个命令设置
# Clone and run the installer
git clone https://github.com/yourusername/dbus-mcp.git
cd dbus-mcp
./install-mcp-configs.sh安装程序将:
- 构建所有组件
- 探索D-Bus服务
- 生成MCP配置
- 配置您的MCP客户端(克劳德代码/光标)
- 向您展示可用的内容
手动设置
# Build the project
cargo build --release
# Run discovery
./target/release/dbus-mcp-discovery-enhanced
# Install bridge system-wide
sudo cp ./target/release/dbus-mcp-bridge /usr/local/bin/
# Configure your MCP client with generated configs
cp ~/.config/Claude/mcp-servers/*.json ~/.config/Claude/🏗️ 建筑
┌─────────────────────────────────────┐
│ MCP Clients (Claude/Cursor) │
│ See multiple organized servers: │
│ • systemd (50 tools) │
│ • orchestrator (10 tools) │
│ • executor-agent (8 tools) │
│ • file-agent (8 tools) │
│ • monitor-agent (8 tools) │
│ • network-agent (8 tools) │
│ • systemd-agent (8 tools) │
└──────────────┬──────────────────────┘
│
│ MCP Protocol (stdio)
│
┌──────────────▼──────────────────────┐
│ MCP Bridge Instances │
│ (One per D-Bus service) │
│ • Dynamic tool generation │
│ • Automatic schema creation │
│ • Type conversion │
└──────────────┬──────────────────────┘
│
│ D-Bus
│
┌──────────────▼──────────────────────┐
│ D-Bus Services │
│ • org.freedesktop.systemd1 │
│ • org.dbusmcp.Orchestrator │
│ • org.dbusmcp.Agent.* │
│ • Any future service (auto-works!) │
└─────────────────────────────────────┘🛠️ 可用工具
系统管理(systemd)
start_unit-启动systemd服务stop_unit-停止systemd服务restart_unit-重新启动systemd服务get_unit_status-检查服务状态list_units-列出所有服务- *…以及45多种systemd工具*
自动化编排器
spawn_agent-创建新的自动化代理send_task-将任务发送给代理list_agents-查看活动代理get_agent_status-检查代理运行状况
专业代理
- 执行人代理人 -Shell命令执行
- 文件代理 -文件系统操作
- 监控代理 -系统监控
- 网络代理 -网络管理
- 系统代理 -服务管理
📖 文档
- 简介_指南.md -完整的技术指南
- NEXT_STEPS.md -发展路线图
- OPUS-REVIEW.md -项目评审及成果
- 贡献.md -如何做出贡献
🔧 配置
发现配置
编辑 discovery_config.toml 自定义要公开的服务:
[services."org.freedesktop.systemd1"]
enabled = true
format = "xml"
[services."org.freedesktop.NetworkManager"]
enabled = true
format = "xml"
[services."org.dbusmcp.*"]
enabled = true
format = "xml"MCP客户端配置
克劳德代码 (~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"systemd1": {
"command": "dbus-mcp-bridge",
"args": ["--service", "org.freedesktop.systemd1"]
},
"orchestrator": {
"command": "dbus-mcp-bridge",
"args": ["--service", "org.dbusmcp.Orchestrator"]
}
}
}光标 (类似配置):
{
"mcp": {
"servers": {
"systemd1": {
"command": "dbus-mcp-bridge",
"args": ["--service", "org.freedesktop.systemd1"]
}
}
}
}🧪 测试
# Run all tests
cargo test
# Test discovery
./test_discovery.sh
# Test individual bridge
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | \
./target/release/dbus-mcp-bridge --service org.freedesktop.systemd1
# Test system integration
./test_system.sh🚀 使用示例
启动服务
# Via MCP client, call systemd1.start_unit
{
"name": "start_unit",
"arguments": {
"name": "nginx.service",
"mode": "replace"
}
}执行命令
# Via MCP client, call executor agent
{
"name": "execute",
"arguments": {
"command": "ls -la /tmp",
"background": false
}
}监控系统
# Via MCP client, call monitor agent
{
"name": "get_system_info",
"arguments": {}
}🤝 贡献
我们欢迎捐款!请看 贡献.md 作为指导方针。
贡献领域
- 用于特殊任务的新型D-Bus代理
- 客户端配置示例
- 文档改进
- 性能优化
- 其他发现模式
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📊 项目状态
- ✅ 核心发现 -自动D-Bus服务发现
- ✅ 多功能桥式电路 -任何服务都可以访问MCP
- ✅ 100+工具 -自动发现并工作
- ✅ 客户端集成 -使用Claude代码和游标
- ✅ 文档 -综合指南和示例
- 🔄 积极发展 -新功能和改进正在进行中
______________________________________________________________________
将任何Linux系统转换为零配置的AI可控自动化平台!
