Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Chronicle

PYPI · CHRONICLE-CONTEXT

Local screen and activity knowledge graph, served as context to computer-use agents.

Available components

80 Trust /100

Last scanned (9 hours ago)

Scores higher than 81% of PyPI servers

Category Memory and Knowledge

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 0 of 15 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to aniketxdey/chronicle). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 1943 tokens (~69/item across 28 items; 25 tools + 3 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
  • Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage87
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 61% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 25 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +16
    • Tool safety: pass → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Schema quality: 1264 → 1943 ▼ functional
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Stability: unverified → 0.07 ▲ functional
    • Package version: 0.2.0 → 0.3.0 functional
  • 2 Nov 26 64

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/chronicle-context@0.3.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo aniketxdey/chronicle
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/aniketxdey/chronicle/.github/workflows/release.yml@refs/tags/v0.3.0
Rekor log index 3691490855
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:907beae5af1fbf7245ec0599a9f32311cd354efa409babb4fa79ad00ad629587

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend Known build tool setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 15 packages
Packages resolved 15
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 25 exposed · ~1,702 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
activity_summary ~45

Time per app, top windows, meetings, and a short narrative for a time range (default today).

NameTypeReqDescription
end_timestring––
start_timestring––

No output schema declared.

No examples provided.

fetch ~42

Fetch the full record for an id returned by search (frame:N, audio:N, event:N, memory:N, node:<id>).

NameTypeReqDescription
idstringyes–

No output schema declared.

No examples provided.

get_context ~200

Context pack for a computer-use agent: what is on screen now, recent activity, habitual app/window transitions, the knowledge-graph entities relevant to the task, and cited evidence. Call this before acting.

NameTypeReqDescription
max_nodesinteger–Graph nodes to include (4-80, default 24).
minutesinteger–Only consider the last N minutes.
presetstring–The kind of work, when one fits: general (General), data-analysis (Data analysis), job-applications (Applying to jobs), coding (Software development), research (Research), writing (Writing), meeting-…
session_idinteger–Recording session id. Omit to use all history.
taskstring–What you are about to do, in plain words. Focuses the graph and evidence.

No output schema declared.

No examples provided.

get_context_file ~41

One context file: standing instructions for this kind of work, the workflows it refers to, and its knowledge graph as text.

NameTypeReqDescription
idintegeryes–

No output schema declared.

No examples provided.

get_entity ~64

One knowledge-graph entity with its neighbors, relations, and evidence frames. Accepts an id like 'ticket:bill-142' or a label.

NameTypeReqDescription
idstringyes–
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

get_frame ~59

One captured frame: app, window, URL, text, nearby events. With include_image=true, also the screenshot.

NameTypeReqDescription
frame_idintegeryes–
include_imageboolean–Attach the screenshot (JPEG or PNG) when one exists.

No output schema declared.

No examples provided.

get_graph ~77

The knowledge graph of a recording, context file, or workflow, as nodes and edges in JSON or readable text.

NameTypeReqDescription
formatstring–Default md, which uses fewer tokens.
idinteger–The recording, context file, or workflow id. Omit with kind recording for all history.
kindstringyes–

No output schema declared.

No examples provided.

get_harness ~38

One harness: its AGENTS.md, which says how to use it, and the list of its files.

NameTypeReqDescription
idintegeryes–

No output schema declared.

No examples provided.

get_workflow ~47

One workflow: when to run it, its inputs, the steps in order, what to confirm with the person first, and its knowledge graph as text.

NameTypeReqDescription
idintegeryes–

No output schema declared.

No examples provided.

graph_apply ~81

Apply curation ops from graph_review to the local graph. Each op is checked, rejected ops come back with the reason, and tune_graph with reset=true removes them all.

NameTypeReqDescription
opsarrayyesOps as {name, arguments}, using the schemas graph_review returns.
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

graph_review ~88

One batch of the knowledge graph with the rules and op schemas for curating it yourself. Use with graph_apply when the user wants their graph organized, including when Chronicle has no model of its own.

NameTypeReqDescription
batchinteger–Batch to read, from 0. The reply says how many there are.
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

graph_summary ~44

Counts by entity kind, the top entities of each kind, and the most common transitions.

NameTypeReqDescription
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

list_harnesses ~33

The agent harnesses the user has built from their recordings, each for a line of work. Call this first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_meetings ~24

Meetings with speakers and transcript segments.

NameTypeReqDescription
limitinteger––

No output schema declared.

No examples provided.

list_sessions ~31

Recording sessions with status, duration, frame and event counts, and top apps.

NameTypeReqDescription
limitinteger––

No output schema declared.

No examples provided.

list_tasks ~121

What the user was doing, as a timeline of tasks (e.g. 'researching Forbes AI 50 · Crusoe', 4m) segmented from screen activity by topic. Each task has start/end, a verb, top terms, a topic cluster shared with other stints on the same topic, the pages and entities involved, and evidence frame ids.

NameTypeReqDescription
session_idinteger–Recording session id. Omit to use all history.
sincestring–Only tasks ending after this ISO timestamp or relative time like '2h ago'.

No output schema declared.

No examples provided.

query_graph ~79

Find knowledge-graph entities by text and/or kind, ranked by time spent and frequency.

NameTypeReqDescription
kindstring––
limitinteger–1-100, default 20.
querystring–Words to match against entity labels.
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

read_harness_file ~65

One file in a harness: AGENTS.md, a context file, or a workflow, with its small knowledge graph as text.

NameTypeReqDescription
idintegeryes–
pathstringyesA path from get_harness, like contexts/researching-companies.md.

No output schema declared.

No examples provided.

rebuild_graph ~44

Rebuild the knowledge graph for all history or one session from the stored frames and events.

NameTypeReqDescription
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

search ~29

Search Chronicle history and the knowledge graph. Returns ids to pass to fetch.

NameTypeReqDescription
querystringyes–

No output schema declared.

No examples provided.

search_harness_graph ~48

Search a harness's knowledge graph engine: entities across its recordings, and the low-level system events that mention the words.

NameTypeReqDescription
idintegeryes–
querystringyes–

No output schema declared.

No examples provided.

search_history ~87

Full-text search over captured screen text, system events, transcripts, and memories.

NameTypeReqDescription
app_namestring––
content_typestring––
end_timestring––
limitinteger–1-50, default 10.
querystringyes–
start_timestring–ISO timestamp or relative like '2h ago'.

No output schema declared.

No examples provided.

start_recording ~128

Record the screen and system events (app switches, window focus, URLs, clipboard, idle) for a preset duration such as '5m', '30m', or '2h'. The graph for the session is built when it ends.

NameTypeReqDescription
durationstring–How long to record, e.g. '10m', '1h30m'. Omit for until stopped.
interval_secsinteger–Seconds between samples (1-600, default 5).
labelstring–What is being recorded, e.g. 'filing an expense report'.

No output schema declared.

No examples provided.

stop_recording ~43

Stop the running recording (or the given one) and build its knowledge graph.

NameTypeReqDescription
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

tune_graph ~144

Have the configured LLM (see Settings > Model or CHRONICLE_LLM) review the heuristic graph and patch it: add real-world entities, typed relations, and activity summaries, merge duplicates, clean labels, drop noise. Patches survive rebuilds; reset=true removes them. Off unless an LLM provider is configured.

NameTypeReqDescription
forceboolean–Ignore the response cache and the up-to-date check.
resetboolean–Remove all LLM patches for the scope instead of tuning.
roundsinteger–Review passes (1-5, default 2).
session_idinteger–Recording session id. Omit to use all history.

No output schema declared.

No examples provided.

Install

How do I install the Chronicle MCP server?

Chronicle runs locally as a PyPI package, launched with uvx chronicle-context mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · chronicle-context

# add to Claude Code
claude mcp add aniketxdey-chronicle -- uvx chronicle-context mcp
Common questions

What is the Chronicle MCP server?

Chronicle is an MCP server listed in the public MCP registry as io.github.aniketxdey/chronicle. Local screen and activity knowledge graph, served as context to computer-use agents. This page covers its PyPI package (chronicle-context).

Is the Chronicle MCP server safe to use?

Chronicle scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Chronicle MCP server expose?

Chronicle exposes 25 tools: list_harnesses, get_harness, read_harness_file, search_harness_graph, get_context_file, and 20 more. Their descriptions and schemas cost roughly 1,702 tokens of context every time the server is loaded.

Is the Chronicle MCP server still maintained?

Chronicle is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Chronicle MCP server under?

Chronicle declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the Chronicle MCP server?

VerifyMCP ran 16 checks on Chronicle, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.