Skip to main content
Glama
sheacoding

MCP Reminder

by sheacoding

get_pending_todos

Retrieve all overdue and incomplete reminders from the MCP Reminder server to check for pending notifications.

Instructions

获取所有到期且未完成的待办事项

小智会定期调用此接口检查是否有需要提醒的待办

Returns: 包含到期待办列表的字典

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The MCP tool handler for 'get_pending_todos' in server.py, which calls the storage backend to retrieve pending tasks.
    @mcp.tool()
    def get_pending_todos() -> dict:
        """
        获取所有到期且未完成的待办事项
    
        小智会定期调用此接口检查是否有需要提醒的待办
    
        Returns:
            包含到期待办列表的字典
        """
        pending_todos = storage.get_pending_todos()
    
        logger.info(f"查询到期待办,找到 {len(pending_todos)} 个")
    
        if not pending_todos:
            return {
                "success": True,
                "count": 0,
                "todos": [],
                "message": "当前没有到期的待办事项"
            }
    
        todos_data = [
            {
                "id": todo.id,
                "title": todo.title,
                "description": todo.description,
                "remind_time": todo.remind_time
            }
  • The underlying storage method that performs the actual logic to filter for due/pending todos.
    def get_pending_todos(self) -> List[Todo]:
        """获取所有到期且未完成的待办事项"""
        todos = self.load_todos()
        return [todo for todo in todos if todo.is_due()]
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that '小智会定期调用此接口' (Xiaozhi will periodically call this interface), which hints at a monitoring/checking pattern, but doesn't disclose important behavioral traits like whether this is a read-only operation, what permissions are needed, whether it's safe to call frequently, or how results are structured beyond '包含到期待办列表的字典' (dictionary containing overdue todo list). For a tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise with three sentences, but has structural issues. The first sentence states the purpose clearly. The second sentence about Xiaozhi's usage pattern adds context but could be more integrated. The 'Returns:' section is redundant since there's no output schema, and '字典' (dictionary) is vague. Some sentences don't fully earn their place in a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and operates in a context with multiple sibling todo/alarm tools, the description is incomplete. It doesn't explain the return format beyond '字典' (dictionary), doesn't specify what '到期' (overdue) means temporally, doesn't clarify the relationship to other todo tools, and provides minimal behavioral context. For a tool in this ecosystem, more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage. The description doesn't need to explain any parameters, and it correctly doesn't attempt to do so. The baseline for zero parameters with complete schema coverage is 4, as there's nothing to compensate for and no parameter information is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '获取所有到期且未完成的待办事项' (Get all overdue and incomplete todos). It specifies the verb ('获取' - get) and resource ('待办事项' - todos) with filtering criteria ('到期且未完成' - overdue and incomplete). However, it doesn't explicitly distinguish this from sibling tools like 'list_todos' or 'check_all_reminders', which keeps it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance. The second sentence '小智会定期调用此接口检查是否有需要提醒的待办' (Xiaozhi will periodically call this interface to check if there are todos that need reminding) suggests a periodic monitoring use case, but doesn't specify when to use this tool versus alternatives like 'list_todos' or 'check_all_reminders'. No explicit when-not-to-use or alternative tool recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sheacoding/mcp-reminder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server