Add get_tool_info function for better tool discoverability
Background
Currently, responsible-vibe-mcp provides excellent workflow management capabilities, but lacks a standardized get_tool_info function that would help users (both human and AI) understand the available tools and their capabilities. This is a common pattern used by other MCP servers for tool discovery and documentation.
Problem
When exploring the responsible-vibe-mcp tools, users currently need to:
- Try different functions to understand the available tools
- Guess at function parameters and capabilities
- Understand the workflow system through trial and error
This creates a poor user experience and makes it harder for AI assistants to effectively use the tool.
Suggested Solution
Add a get_tool_info() function that returns comprehensive information about:
1. Tool Overview
- Tool name and version
- Purpose and philosophy
- Current status information
2. Available Functions
Based on my testing, the tool currently provides these functions:
start_development() - Initialize new development with workflow selection
whats_next() - Get phase-specific guidance and instructions
proceed_to_phase() - Transition between workflow phases
resume_workflow() - Continue development after breaks
reset_development() - Clean slate restart
list_workflows() - Show available workflow types
3. Workflow Information
- Available workflows (currently returns: bugfix, epcc, greenfield, minor, posts, slides, waterfall)
- Phase management concepts
- Plan file management
4. Usage Patterns
- Core workflow (whats_next after each interaction)
- Phase transition guidance
- Conversation context requirements
Implementation Reference
Based on similar implementations in other MCP servers (arc42, kroki, bash), the function should:
@mcp.tool()
async def get_tool_info() -> str:
"""Get comprehensive information about the responsible-vibe-mcp development workflow tools."""
tool_info = {
"tool_name": "Responsible Vibe MCP - Development Workflow Management",
"version": "1.0.0", # or appropriate version
"purpose": "Structured development workflows with guided phase transitions",
"available_tools": [
{
"name": "start_development",
"description": "Initialize new development project with structured workflow",
"parameters": ["workflow", "commit_behaviour"]
},
{
"name": "whats_next",
"description": "Get phase-specific instructions and guidance",
"parameters": ["context", "user_input", "conversation_summary", "recent_messages"]
},
# ... other tools
],
"available_workflows": [
# List from list_workflows() with descriptions
],
"core_concepts": {
"phase_management": "Structured progression through development phases",
"plan_file_tracking": "Maintains development state in .vibe/development-plan-*.md",
"conversation_context": "Stateless operation requires context in each whats_next() call"
},
"usage_guidelines": {
"required_pattern": "Always call whats_next() after user interactions",
"phase_transitions": "Only proceed when entrance criteria are met",
"context_requirements": "Provide conversation history for stateless operation"
}
}
return json.dumps(tool_info, indent=2, ensure_ascii=False)
Benefits
- Improved Discoverability: Users can quickly understand all available functions
- Better AI Integration: AI assistants can self-discover capabilities
- Standardization: Follows established MCP patterns
- Reduced Learning Curve: Clear documentation of concepts and usage patterns
- Debugging Support: Current status information helps troubleshoot issues
Additional Observations
During testing, I noticed:
- The tool seems to always use "arc42-documentation" workflow regardless of selected workflow parameter
- The system provides excellent guided instructions through the
whats_next() function
- Plan file management is well-structured but could benefit from better documentation
- The tool handles conversation context requirements well but this isn't immediately obvious to new users
Priority
This should be considered a medium priority enhancement as it significantly improves user experience and tool adoption without affecting core functionality.
Note: I've done extensive testing of the tool and can provide additional insights or help with implementation if needed.
Add
get_tool_infofunction for better tool discoverabilityBackground
Currently, responsible-vibe-mcp provides excellent workflow management capabilities, but lacks a standardized
get_tool_infofunction that would help users (both human and AI) understand the available tools and their capabilities. This is a common pattern used by other MCP servers for tool discovery and documentation.Problem
When exploring the responsible-vibe-mcp tools, users currently need to:
This creates a poor user experience and makes it harder for AI assistants to effectively use the tool.
Suggested Solution
Add a
get_tool_info()function that returns comprehensive information about:1. Tool Overview
2. Available Functions
Based on my testing, the tool currently provides these functions:
start_development()- Initialize new development with workflow selectionwhats_next()- Get phase-specific guidance and instructionsproceed_to_phase()- Transition between workflow phasesresume_workflow()- Continue development after breaksreset_development()- Clean slate restartlist_workflows()- Show available workflow types3. Workflow Information
4. Usage Patterns
Implementation Reference
Based on similar implementations in other MCP servers (arc42, kroki, bash), the function should:
Benefits
Additional Observations
During testing, I noticed:
whats_next()functionPriority
This should be considered a medium priority enhancement as it significantly improves user experience and tool adoption without affecting core functionality.
Note: I've done extensive testing of the tool and can provide additional insights or help with implementation if needed.