Skip to main content
Glama

chronica_timeline

Retrieve timeline entries for specified time periods to review daily activities or summarize weekly events, enabling structured memory recall across sessions.

Instructions

指定期間のタイムラインを取得します。

【使用タイミング】

  • 「今日の振り返り」「この1週間の出来事をまとめて」と依頼されたとき

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
start_timeNo開始時刻(ISO文字列、JST)
end_timeNo終了時刻(ISO文字列、JST)
thread_idNoスレッドID(指定時はthread_typeより優先)
thread_typeNoスレッドタイプ
kindNoエントリ種別
limitNo最大件数

Implementation Reference

  • The handler for 'chronica_timeline' which extracts arguments and calls the store.timeline method.
    elif name == "chronica_timeline":
        thread_type = arguments.get("thread_type")
        if thread_type and thread_type not in ["normal", "project"]:
            return [types.TextContent(
                type="text",
                text=json.dumps({"error": "invalid_thread", "message": f"thread_type must be 'normal' or 'project', got: {thread_type}"}, ensure_ascii=False)
            )]
        
        entries = store.timeline(
            start_time=arguments.get("start_time"),
            end_time=arguments.get("end_time"),
            thread_type=thread_type,
            kind=arguments.get("kind"),
            limit=arguments.get("limit", 100)
        )
        return [types.TextContent(
            type="text",
            text=json.dumps({"entries": entries}, ensure_ascii=False, indent=2)
  • The Tool definition and schema for 'chronica_timeline'.
                types.Tool(
                    name="chronica_timeline",
                    description="""
    指定期間のタイムラインを取得します。
    
    【使用タイミング】
    - 「今日の振り返り」「この1週間の出来事をまとめて」と依頼されたとき
    """,
                    inputSchema={
                        "type": "object",
                        "properties": {
                            "start_time": {
                                "type": "string",
                                "description": "開始時刻(ISO文字列、JST)"
                            },
                            "end_time": {
                                "type": "string",
                                "description": "終了時刻(ISO文字列、JST)"
                            },
                            "thread_id": {
                                "type": "string",
                                "description": "スレッドID(指定時はthread_typeより優先)"
                            },
                            "thread_type": {
                                "type": "string",
                                "enum": ["normal", "project"],
                                "description": "スレッドタイプ"
                            },
Behavior2/5

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

No annotations are provided, so the description carries the full burden. While '取得' implies a read-only operation, the description fails to disclose pagination behavior (despite the 'limit' parameter), sorting order (chronological vs reverse), or what data structure constitutes a 'timeline' entry. It lacks auth requirements, rate limits, or error conditions.

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

Conciseness5/5

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

The description is extremely concise with zero waste: one sentence for purpose, followed by a clearly delimited usage section with two specific bullet points. Information is front-loaded and structured for quick parsing.

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

Completeness3/5

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

Given the 6 parameters and lack of output schema, the description adequately covers the primary use case (time-based retrieval). However, it lacks explanation of what constitutes timeline data (fields, structure) and how thread filtering interacts with the results, leaving gaps for an agent trying to interpret the response.

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

Parameters3/5

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

The input schema has 100% description coverage with clear definitions for all 6 parameters (e.g., ISO string format for times, priority rule for thread_id). The description adds no additional parameter semantics beyond the schema, warranting the baseline score of 3 for high-coverage schemas.

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 it retrieves a timeline for a specified period using the specific verb '取得' (retrieve/get). It implicitly distinguishes from sibling 'chronica_search' through its focus on time-range retrieval versus keyword search, though it doesn't explicitly contrast with alternatives.

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

Usage Guidelines4/5

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

The 【使用タイミング】 section provides concrete scenarios ('今日の振り返り', 'この1週間の出来事をまとめて') that clearly indicate when to use this tool. However, it lacks explicit guidance on when NOT to use it (e.g., for keyword searches use chronica_search instead) or prerequisites.

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/Nic9dev/Chronica'

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