Skip to main content
Glama
adrianba

edge-history-mcp

by adrianba

get_history

Fetch browsing history for a Microsoft Edge profile on a specific date, with optional time window filtering and pagination for large result sets.

Instructions

Get Edge browsing history for a profile on a specific day.

A whole day can hold thousands of visits, so the result is paginated and the
day can be narrowed to a time window.

Args:
    profile: Profile friendly name (from ``list_profiles``) or directory id.
    date: Day to fetch, formatted ``YYYY-MM-DD``. Day boundaries are
        interpreted in the local machine timezone.
    start_time: Optional lower bound within the day, ``HH:MM`` (24-hour,
        local time). Defaults to the start of the day (``00:00``).
    end_time: Optional upper bound within the day, ``HH:MM`` (exclusive,
        local time). Defaults to the end of the day. Must be later than
        ``start_time``.
    limit: Maximum number of entries to return per page (default 10000,
        capped at 50000). Non-positive values fall back to the default.
    offset: Number of entries to skip from the start of the window, for
        paging through large results (default 0).

Returns:
    A dict with:

    * ``entries``: list of page visits in the window, ordered by visit time
      ascending. Each entry has the local ISO ``visit_time``, ``url``,
      ``title``, ``visit_count``, ``typed_count``, ``transition`` type, and
      the ``url_id``/``visit_id`` identifiers.
    * ``offset``/``limit``: the paging window that was applied.
    * ``has_more``: whether more entries follow this page.
    * ``next_offset``: the ``offset`` to pass to fetch the next page, or
      ``null`` when ``has_more`` is false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYes
limitNo
offsetNo
profileYes
end_timeNo
start_timeNo
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: pagination with limit/offset, ordering by visit time ascending, timezone interpretation, exclusive end_time, limit cap, and fallback behavior for non-positive values. It also details the return structure including has_more and next_offset. This goes well beyond a simple read-only indication.

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 well-structured and appropriately sized. It opens with a concise summary sentence, then explains pagination and time window narrowing, followed by parameter definitions and return values. Every sentence adds necessary information without redundancy. The formatting with sections (Args, Returns) improves readability.

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

Completeness5/5

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

The tool is complex with 6 parameters and pagination, and there is no output schema. The description covers all aspects: parameter semantics, return fields, ordering, paging behavior, and the relationship to list_profiles. It leaves no significant gaps for an agent to select and invoke the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description compensates by explaining every parameter in detail: profile (source from list_profiles), date (format and timezone), start_time/end_time (optional, exclusive bound, default and constraint), limit (default, cap, fallback), and offset (paging). This gives the agent complete understanding beyond the bare schema.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'Edge browsing history', and the scope 'for a profile on a specific day'. This distinguishes it from sibling tools like list_profiles (which lists profiles) and get_history_summary (which likely provides summaries). The first sentence is specific and unambiguous.

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 description provides clear context: it is for fetching detailed history for a day, can be narrowed to a time window, and is paginated. It references list_profiles as a source for profile names, implying a prerequisite. However, it does not explicitly state when to use this tool versus get_history_summary or mention any exclusions, so it lacks explicit alternative guidance.

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/adrianba/edge-browser-mcp'

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