Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions src/mcp_feedback_enhanced/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

from fastmcp import FastMCP
from fastmcp.utilities.types import Image as MCPImage
from mcp.types import TextContent
from mcp.types import TextContent, ToolAnnotations
from pydantic import Field

# 導入統一的調試功能
Expand Down Expand Up @@ -426,7 +426,13 @@ def process_images(images_data: list[dict]) -> list[MCPImage]:


# ===== MCP 工具定義 =====
@mcp.tool()
@mcp.tool(
annotations=ToolAnnotations(
title="Interactive Feedback",
readOnlyHint=False, # Creates temporary files for feedback storage
destructiveHint=False, # Does not modify or delete user data
)
Comment on lines +430 to +434

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To further enhance the tool's discoverability and provide more context to AI assistants, consider adding a description to the ToolAnnotations. The MCP specification includes this field for a more detailed explanation of the tool's purpose. A good description could be the first sentence of the function's docstring: "Interactive feedback collection tool for LLM agents."

    annotations=ToolAnnotations(
        title="Interactive Feedback",
        description="Interactive feedback collection tool for LLM agents.",
        readOnlyHint=False,  # Creates temporary files for feedback storage
        destructiveHint=False,  # Does not modify or delete user data
    )

)
async def interactive_feedback(
project_directory: Annotated[str, Field(description="專案目錄路徑")] = ".",
summary: Annotated[
Expand Down Expand Up @@ -559,7 +565,13 @@ async def launch_web_feedback_ui(project_dir: str, summary: str, timeout: int) -
}


@mcp.tool()
@mcp.tool(
annotations=ToolAnnotations(
title="Get System Info",
readOnlyHint=True, # Only reads system environment information
destructiveHint=False,
)
Comment on lines +569 to +573

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Similar to the other tool, adding a description to the ToolAnnotations here would be beneficial. This provides more information to the AI assistant about what the tool does. The summary from the function's docstring, "獲取系統環境資訊", would be a great choice for the description.

    annotations=ToolAnnotations(
        title="Get System Info",
        description="獲取系統環境資訊",
        readOnlyHint=True,  # Only reads system environment information
        destructiveHint=False,
    )

)
def get_system_info() -> str:
"""
獲取系統環境資訊
Expand Down