Skip to content

Conversation

@peteski22
Copy link
Contributor

This PR addresses issue #108 by ensuring MCP servers always have at least one tool configured, preventing useless server configurations that cannot function.

Previously, servers could be added or modified to have zero/no tools, resulting in non-functional configurations that would run but provide no capabilities.

This could happen through:

  • Adding servers when no tools matched the request (or had none in the registry)
  • Manually editing .mcpd.toml to remove all tools
  • Using mcpd config tools remove to remove all tools from a server

Validation:

  1. Configuration time (mcpd add) - Prevents adding servers without tools
  2. Runtime (mcpd daemon) - Validates on startup and reload, exits if any servers lack tools
  3. Tool removal (mcpd config tools remove) - Prevents removing the last tool, guides users to use mcpd remove instead

Updated docs on hot reload to mention the edge case.

Closes: #108

@peteski22 peteski22 self-assigned this Sep 15, 2025
@peteski22 peteski22 added documentation Improvements or additions to documentation cli daemon labels Sep 15, 2025
@peteski22 peteski22 force-pushed the peteski22/108/cmd/add-no-tools-available branch from 00ed192 to 9fac132 Compare September 15, 2025 12:47
@peteski22 peteski22 merged commit ee8bd2a into main Sep 15, 2025
2 checks passed
@peteski22 peteski22 deleted the peteski22/108/cmd/add-no-tools-available branch September 15, 2025 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli daemon documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Config: improve handling when 'no tools' being found for a server

3 participants