Skip to main content
Glama
adrianba

edge-history-mcp

by adrianba

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EDGE_USER_DATA_DIRNoOverride the default Edge user data directory (default is %LOCALAPPDATA%\Microsoft\Edge\User Data).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_profilesA

List available Microsoft Edge browsing profiles.

Returns one entry per profile with its friendly ``name``, on-disk
``directory`` id, and whether it is the default profile. Use the ``name``
(or ``directory``) value as the ``profile`` argument to ``get_history``.
get_historyA

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.
get_history_summaryA

Summarize Edge browsing history for a profile on a day, by domain only.

Prefer this tool over ``get_history`` for questions like "what did I browse
today, hour by hour?": it returns far less data and never exposes full URLs,
which can embed auth tokens, session ids or other secrets. It does include a
small sample of page titles per domain for context. Only use ``get_history``
when specific URLs are genuinely required.

Only ``http``/``https`` visits are aggregated; ``file:``, ``edge:``,
``chrome:``, extension and other non-web URLs are skipped (and counted).

Args:
    profile: Profile friendly name (from ``list_profiles``) or directory id.
    date: Day to summarize, 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``.
    group_by: Bucket granularity. Currently only ``"hour"`` is supported.
    limit: Maximum number of underlying visit rows to aggregate per page
        (default 10000, capped at 50000). Non-positive values fall back to
        the default.
    offset: Number of visit rows to skip from the start of the window, for
        paging through large days (default 0).
    include_titles: Include a small sample of page titles per domain
        (default true). Set false to get domains and counts only.
    max_titles_per_site: Maximum sample titles per domain per bucket
        (default 3, capped at 10). Values <= 0 return no titles.

Returns:
    A dict with:

    * ``profile``/``date``/``group_by``/``timezone``: the query context.
    * ``entries_considered``: visit rows examined in this page.
    * ``web_entries``: rows counted in the buckets.
    * ``non_web_entries_skipped``: rows skipped as non-web URLs.
    * ``buckets``: hour buckets ordered ascending, each with the local ISO
      ``hour``, a friendly ``label`` (e.g. ``8 AM``), ``total_web_visits``
      and ``sites`` (``domain`` + ``visits`` + ``sample_titles``, sorted by
      visits descending then domain ascending). Domains are normalized
      (``www.`` stripped); no full URLs, query strings or fragments are
      returned. ``sample_titles`` holds up to ``max_titles_per_site``
      deduplicated, truncated page titles in first-seen order.
    * ``offset``/``limit``/``has_more``/``next_offset``: paging metadata,
      with the same semantics as ``get_history``.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.8/5.0

Scored across 3 tools

Disambiguation5/5

The three tools are clearly distinct: list_profiles handles profile enumeration, get_history returns raw detailed visit entries, and get_history_summary provides an aggregated domain-level view. The descriptions explicitly explain when to use each, eliminating ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern. list_profiles and get_history use clear action-object phrasing, and get_history_summary extends get_history logically. No mixed conventions or vague verbs.

Tool Count5/5

With only three tools, the server is tightly scoped to browsing history retrieval. Each tool earns its place: profile discovery, raw history access, and summarization. The count is neither too thin nor bloated for the purpose.

Completeness5/5

The server covers the full read-only lifecycle for Edge history: discovering profiles, fetching detailed history with pagination and time filtering, and obtaining summaries. No obvious gaps exist within the narrow domain; the tools together handle typical use cases.

Maintenance

ActivityNo data
ResponsivenessNo issues