citetrail

citetrail

Enables AI agents to search and recall locally captured browser pages with full source provenance (URL, title, timestamp) over MCP.

Category
访问服务器

README

Citetrail

CI License

Local, provenance-backed memory of what your browser saw — every recall carries the URL, title, and timestamp it came from.

Citetrail captures the pages you actually read, keeps them on your machine, and makes them searchable — by you, and by your AI agents over MCP. When an agent uses something it found there, it can cite exactly where it came from.

  • Status: pre-release. See Project status before installing.
  • License: Apache-2.0
  • Local by default. No account, no server, no upload. Blocked pages fail closed.

The problem Citetrail solves

You read six tabs, closed them, and now your coding agent needs the thing in tab four. Your options today are: paste it again, let the agent re-search the open web and hope it lands on the same page, or accept an answer with no source.

Browser history knows you visited a URL. It does not know what the page said, and it cannot tell your agent. Citetrail closes that gap:

Browser history Citetrail
A list of URLs The content you actually read, captured
Search by title, roughly Search by what the page said
Invisible to your tools Queryable by agents over MCP
No notion of "why is this here" Every entry carries its provenance
Everything, indiscriminately Only allowed pages; blocklist fails closed

What "provenance-backed" means here

Every stored fragment keeps a bounded reference: source URL, page title, capture timestamp, and the position within the page. Recall returns the fragment and that reference together — they cannot be separated. An agent that answers from Citetrail can always say where it got it, and you can always open the original.

If the source is gone, Citetrail says the source is gone. It does not quietly serve a fragment as if it were still live.

Quickstart

git clone https://github.com/anonb3ll/citetrail
cd citetrail
python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/citetrail init

# 2. Search the local store
.venv/bin/citetrail search "retry backoff"

# Optional: block a sensitive hostname before it can be stored
.venv/bin/citetrail block bank.example.test

# 3. Point an agent at the same local store over MCP
.venv/bin/citetrail mcp --stdio

The default store is ~/.local/share/citetrail. Set CITETRAIL_STORE or pass --store PATH to use a different local directory. See docs/extension.md to load the unpacked Chromium adapter.

Documentation

Guide Description
docs/README.md Documentation index
docs/cli-reference.md CLI commands and store layout
docs/mcp.md MCP tool schema and registration
docs/extension.md Chromium extension setup
docs/privacy.md Blocklist and fail-closed behavior
docs/integration-contract.md Optional Runroom integration

Frequently asked questions

How do I let my AI agent search my browsing history?

Run the local MCP server and register it with your agent. The agent queries Citetrail like any other MCP tool and receives fragments with their sources attached. It never gets raw access to your browser or your profile.

Where is my data stored, and does anything get uploaded?

On your machine, in a local database you can delete at any time. Citetrail has no server and performs no uploads. See docs/privacy.md.

How do I stop it capturing my bank, my email, or my work intranet?

The blocklist. It is checked before capture, and it fails closed — if the rules cannot be evaluated for a page, that page is not captured. Add a host with citetrail block bank.example.test. Allowlist-only capture is deferred.

Can an agent cite a source it did not actually read?

Not from Citetrail. The reference travels with the fragment; there is no API that returns text without its provenance.

What happens when I am offline, or a page is gone?

Recall works offline against what you already captured. If the original URL is unreachable, results are marked as such rather than silently presented as current. Unavailable and privacy-blocked states are reported honestly, not hidden.

Is this a note-taking app or a second brain?

No. Citetrail captures and recalls; it does not organize your thinking, build a knowledge graph, or ask you to maintain anything. It is plumbing for tools that need to know what you read.

Does it work in any browser?

The extension targets Chromium-based browsers first. The native bridge between the extension and the local service has real limits — see docs/limitations.md.

What Citetrail is not

  • Not a hosted service and not a sync service. One machine, one store.
  • Not a PKM or note system.
  • Not a clinical, wellbeing, or attention-tracking tool. It makes no claim about your cognition.
  • Not a scraper. It captures pages you visited yourself, under your rules.
  • Not a mobile app.

See docs/limitations.md and docs/private-exclusions.md.

Related project

Runroom coordinates handoffs between AI agents and humans with review gates and an audit trail. The two projects are independent and neither requires the other; an optional integration shows a Citetrail reference feeding a governed Runroom task.

Contributing

Read CONTRIBUTING.md and CODE_OF_CONDUCT.md. Report vulnerabilities privately — see SECURITY.md.

Project status

Pre-release, pre-1.0. Interfaces will change. Citetrail is published to find out whether other people need this — if you try it, tell us what you were trying to recall and whether you got it.

License

Apache License 2.0. Copyright 2026 The Citetrail Contributors.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选