A Model Context Protocol (MCP) server with automatic D-Bus service discovery and universal tool introspection. Exposes 100+ tools from any D-Bus service on Linux systems with zero configuration required.
- π Automatic Discovery - Finds all D-Bus services and exposes them as MCP tools
- π οΈ Universal Bridge - Any D-Bus service becomes MCP-accessible instantly
- π 100+ Tools - Auto-discovered from systemd, NetworkManager, and custom services
- π― Smart Organization - Services grouped by category (system, network, automation)
- β‘ Zero Configuration - New D-Bus services work without code changes
- π€ AI-Ready - Perfect context for AI assistants to understand tool relationships
# Clone and run the installer
git clone https://github.com/yourusername/dbus-mcp.git
cd dbus-mcp
./install-mcp-configs.shThe installer will:
- Build all components
- Discover D-Bus services
- Generate MCP configurations
- Configure your MCP client (Claude Code/Cursor)
- Show you what's available
# 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!) β
βββββββββββββββββββββββββββββββββββββββ
start_unit- Start systemd servicesstop_unit- Stop systemd servicesrestart_unit- Restart systemd servicesget_unit_status- Check service statuslist_units- List all services- ...and 45+ more systemd tools
spawn_agent- Create new automation agentssend_task- Send tasks to agentslist_agents- View active agentsget_agent_status- Check agent health
- Executor Agents - Shell command execution
- File Agents - File system operations
- Monitor Agents - System monitoring
- Network Agents - Network management
- Systemd Agents - Service management
- INTROSPECTION_GUIDE.md - Complete technical guide
- NEXT_STEPS.md - Development roadmap
- OPUS-REVIEW.md - Project review and achievements
- CONTRIBUTING.md - How to contribute
Edit discovery_config.toml to customize which services to expose:
[services."org.freedesktop.systemd1"]
enabled = true
format = "xml"
[services."org.freedesktop.NetworkManager"]
enabled = true
format = "xml"
[services."org.dbusmcp.*"]
enabled = true
format = "xml"Claude Code (~/.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"]
}
}
}Cursor (similar configuration):
{
"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": {}
}We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- New D-Bus agents for specialized tasks
- Client configuration examples
- Documentation improvements
- Performance optimizations
- Additional discovery patterns
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Rust and zbus
- Inspired by the Model Context Protocol
- Leverages the power of D-Bus for system integration
- β Core Discovery - Automatic D-Bus service discovery
- β Universal Bridge - Any service becomes MCP-accessible
- β 100+ Tools - Auto-discovered and working
- β Client Integration - Works with Claude Code and Cursor
- β Documentation - Comprehensive guides and examples
- π Active Development - New features and improvements ongoing
Transform any Linux system into an AI-controllable automation platform with zero configuration!