Skip to content

Add get_tool_info function for better tool discoverability #24

@raifdmueller

Description

@raifdmueller

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:

  1. Try different functions to understand the available tools
  2. Guess at function parameters and capabilities
  3. 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

  1. Improved Discoverability: Users can quickly understand all available functions
  2. Better AI Integration: AI assistants can self-discover capabilities
  3. Standardization: Follows established MCP patterns
  4. Reduced Learning Curve: Clear documentation of concepts and usage patterns
  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions