Skip to content

MCP Integration

DevAll includes a built-in MCP (Model Context Protocol) server that allows AI assistants like Claude to control your entire development environment through natural language.

The Model Context Protocol is a standard for connecting AI assistants to external tools and data sources. DevAll’s MCP server exposes tools that let AI assistants:

  • Start and stop services
  • View service status and logs
  • Restart processes
  • Modify configuration
  • Monitor system resources

DevAll’s MCP server works with:

  • Claude Desktop: Anthropic’s desktop application for Claude
  • Claude Code: Anthropic’s CLI tool for development workflows
  • Any MCP-compatible client: Custom integrations and other AI tools

The easiest way to set up the MCP server:

Terminal window
npx devall mcp setup

This command will:

  • Install MCP server dependencies
  • Build the MCP server
  • Detect Claude Desktop and/or Claude Code
  • Automatically configure detected clients
  • Add DevAll to your client settings

Then start the DevAll dashboard:

Terminal window
npx devall

Your MCP-enabled clients can now control DevAll!

If automatic setup doesn’t work, you can configure MCP manually.

First, build the MCP server:

Terminal window
cd mcp
npm install
npm run build

This creates the MCP server executable at mcp/bin/index.js.

Config file location:

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Add this configuration:

{
"mcpServers": {
"devall": {
"command": "node",
"args": ["/absolute/path/to/devall-core/mcp/bin/index.js"]
}
}
}

Important: Replace /absolute/path/to/devall-core with the actual absolute path to your DevAll installation.

Restart: Close and reopen Claude Desktop completely.

Config file location:

macOS/Linux:

~/.config/claude-code/mcp_settings.json

Windows:

%APPDATA%\claude-code\mcp_settings.json

Add this configuration:

{
"mcpServers": {
"devall": {
"command": "node",
"args": ["/absolute/path/to/devall-core/mcp/bin/index.js"],
"env": {}
}
}
}

Important: Replace /absolute/path/to/devall-core with the actual absolute path to your DevAll installation.

Restart: Restart your Claude Code session.

Check that the MCP server is configured:

Claude Desktop: Look for the hammer icon (🔨) in the chat interface

Claude Code: MCP tools will be available automatically in your session

Test command: Ask “What DevAll services are configured?” to verify the connection.

Once configured, you can control DevAll naturally:

“Start the frontend service”

“Launch all autostart services”

“Start the API and database”

“Stop the backend server”

“Shut down all services”

“What services are running?”

“Show me the status of all services”

“Is the frontend service up?”

“Show me the last 50 lines of the API logs”

“What errors are in the backend logs?”

“Restart the frontend”

“Restart all services”

“What services are configured?”

“Add a new service for the authentication server”

DevAll exposes these tools to AI assistants. This is the complete reference for all available MCP functions.

Lists all configured services with their current status.

Parameters: None

Returns:

{
"services": [
{
"id": "frontend",
"name": "Frontend",
"status": "running",
"port": 3000,
"pid": 12345,
"uptime": "2h 15m"
},
{
"id": "backend",
"name": "Backend API",
"status": "stopped",
"port": 8080,
"pid": null
}
]
}

Use cases:

  • Get an overview of all services
  • Check which services are running
  • See service ports and PIDs

Gets detailed status information for a specific service.

Parameters:

  • name (string, required): Service name or ID

Returns:

{
"id": "frontend",
"name": "Frontend",
"status": "running",
"port": 3000,
"pid": 12345,
"uptime": "2h 15m 32s",
"restarts": 0,
"lastRestart": null,
"memory": "125MB",
"cpu": "2.5%"
}

Status values:

  • running: Service is active and healthy
  • stopped: Service is not running
  • starting: Service is in startup phase
  • crashed: Service has crashed
  • error: Service encountered an error

Use cases:

  • Check if a specific service is running
  • Get detailed resource usage
  • Monitor service uptime

Starts a stopped service.

Parameters:

  • name (string, required): Service name or ID

Returns:

{
"success": true,
"message": "Service 'frontend' started successfully",
"service": {
"id": "frontend",
"status": "starting",
"pid": 12456
}
}

Error responses:

  • Service already running
  • Service not found in configuration
  • Port already in use

Use cases:

  • Start a service that was stopped
  • Launch services for development session
  • Restart crashed services

Stops a running service gracefully.

Parameters:

  • name (string, required): Service name or ID

Returns:

{
"success": true,
"message": "Service 'frontend' stopped successfully",
"service": {
"id": "frontend",
"status": "stopped",
"pid": null
}
}

Use cases:

  • Stop a service before making changes
  • Shut down services after development
  • Free up ports

Restarts a service (stops then starts).

Parameters:

  • name (string, required): Service name or ID

Returns:

{
"success": true,
"message": "Service 'frontend' restarted successfully",
"service": {
"id": "frontend",
"status": "starting",
"pid": 12457
}
}

Use cases:

  • Apply configuration changes
  • Clear service state
  • Recover from errors

Retrieves recent log output from a service.

Parameters:

  • name (string, required): Service name or ID
  • lines (number, optional): Number of log lines to retrieve (default: 100, max: 1000)

Returns:

{
"service": "frontend",
"lines": 100,
"logs": [
"[2024-01-15 10:30:15] Server listening on port 3000",
"[2024-01-15 10:30:16] GET / 200 15ms",
"[2024-01-15 10:30:18] GET /api/users 200 45ms",
"[2024-01-15 10:30:20] POST /api/login 201 120ms"
],
"totalLines": 1543
}

Use cases:

  • Debug service issues
  • Monitor service activity
  • Check for errors or warnings
  • View startup messages

Clears accumulated logs for a service.

Parameters:

  • name (string, required): Service name or ID

Returns:

{
"success": true,
"message": "Logs cleared for service 'frontend'",
"clearedLines": 1543
}

Use cases:

  • Clear logs before testing
  • Free up memory
  • Start fresh log collection

Retrieves the current DevAll configuration.

Parameters: None

Returns:

{
"dashboard": {
"port": 7777,
"open": true
},
"services": [
{
"id": "frontend",
"name": "Frontend",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./frontend",
"port": 3000,
"autostart": true,
"color": "#3b82f6"
}
],
"configFile": "/path/to/devall.yaml"
}

Use cases:

  • View all configured services
  • Check service settings
  • Understand port assignments
  • Debug configuration issues

ToolPurposeRequired ParamsOptional Params
list_servicesList all servicesNoneNone
get_service_statusGet service detailsnameNone
start_serviceStart a servicenameNone
stop_serviceStop a servicenameNone
restart_serviceRestart a servicenameNone
get_service_logsGet service logsnamelines
clear_service_logsClear service logsnameNone
get_configGet configurationNoneNone

You can run the MCP server independently of Claude Desktop:

Terminal window
npx devall mcp start
Terminal window
npx devall mcp start --sse --port 3001

Access at: http://localhost:3001/sse

The MCP Inspector is a tool for testing MCP servers:

Terminal window
npm run mcp:inspector

This opens a web interface where you can:

  • Test all available tools
  • View request/response payloads
  • Debug MCP server behavior

Watch for changes and auto-reload:

Terminal window
cd mcp
npm run dev

The MCP server currently has no authentication. Ensure:

  1. DevAll dashboard is only accessible on localhost
  2. MCP server only accepts local connections
  3. Don’t expose ports externally

The MCP server has full control over configured services. It can:

  • Start/stop any process
  • View all logs
  • Modify configuration

Only use with trusted AI assistants in secure environments.

  1. Check Claude Desktop config is correct:

    Terminal window
    cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
  2. Verify the path to index.js is absolute

  3. Check MCP server builds successfully:

    Terminal window
    cd mcp && npm run build
  4. Restart Claude Desktop completely

The MCP server requires the DevAll dashboard to be running:

Terminal window
# Terminal 1: Start dashboard
devall
# Terminal 2: Use Claude Desktop
# (MCP tools now work)
  1. Check DevAll dashboard is accessible:

    Terminal window
    curl http://localhost:7777/api/health
  2. View MCP server logs (if running standalone):

    Terminal window
    npx devall mcp start
    # Check stderr output
  3. Test with MCP Inspector:

    Terminal window
    npm run mcp:inspector

“I need to work on the frontend. Start the frontend service and the API gateway.”

AI will:

  1. Call start_service for “Frontend”
  2. Call start_service for “API Gateway”
  3. Confirm both are running

“The backend is behaving strangely. Show me the last 100 log lines.”

AI will:

  1. Call get_service_logs with lines: 100
  2. Analyze the logs
  3. Suggest fixes based on errors

“I just updated the environment variables. Restart all services.”

AI will:

  1. Call list_services to get all services
  2. Call restart_service for each one
  3. Verify they’re all running

“Are all my services running? What’s their status?”

AI will:

  1. Call list_services
  2. Present a summary of service states
  3. Alert you to any stopped/crashed services

You can extend DevAll’s MCP server with custom tools:

  1. Edit mcp/src/index.js
  2. Add your tool to the tools list
  3. Implement the tool handler
  4. Rebuild: npm run build

Claude Desktop can use multiple MCP servers simultaneously. Combine DevAll with:

  • File system tools: Read/write code
  • Git tools: Commit changes
  • Database tools: Query data
  • Slack tools: Send notifications

Example config:

{
"mcpServers": {
"devall": {
"command": "node",
"args": ["/path/to/devall/mcp/bin/index.js"]
},
"filesystem": {
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem"]
}
}
}

For usage examples and workflows specific to your MCP client: