@privacytracker/mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRIVACYTRACKER_BASE_URL | No | Origin of the running PrivacyTracker instance. No trailing slash. | http://localhost:3000 |
| PRIVACYTRACKER_TIMEOUT_MS | No | Per-request timeout. | 30000 |
| PRIVACYTRACKER_ADMIN_TOKEN | No | Required when the upstream server has AUDITOR_ADMIN_TOKEN set, OR when the MCP server is reaching it across a non-local hostname. Sent as x-auditor-admin-token on every request. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_appsA | List every app currently tracked in the PrivacyTracker library, with developer, bundle id, change counts, and last-updated timestamps. Optionally returns a grouped view bucketed by dominant privacy category. |
| get_appA | Get the full privacy dossier for a single tracked app: identity, privacy types and categories, last snapshot, and policy summary if one has been generated. |
| search_appsA | Search the iTunes Store for App Store entries by name or bundle id. Returns candidate matches with App Store URLs that can be used to add the app to PrivacyTracker. Pass either |
| get_changelogA | Get the universal privacy changelog across every tracked app. Each row is a single change event (added / removed / modified / policy / wayback) with app context. Supports filtering by app, time window, type, and category, with pagination. |
| get_app_changelogA | Get the full privacy changelog for one app: every snapshot diff (label changes, policy revisions, wayback baselines) in chronological order with the trigger that produced it. |
| get_history_statsA | Get aggregated history stats for one app: per-quarter category trend (added/removed) and a sparkline of change-event counts. Buckets align to calendar quarters from Q1 2021 forward. |
| get_policy_statusA | Get the privacy-policy AI run status for one app: current run state (idle/running/done/error), start time, last log lines, and whether a structured summary is ready. Use |
| get_policy_version_diffA | Get a line+word diff between a privacy-policy version and the version immediately before it for the same app. Returns 404 if the given version is the first scrape for its app. |
| compare_appsA | Compare the privacy posture of two apps side by side. Each side can be a tracked app (id:) or an untracked App Store URL (url:<...>) which is scraped fresh without persisting. |
| get_notificationsA | Get the most recent privacy-change notifications (up to 30) plus the current unread count. Read-only — does not mark anything as read. |
| get_sync_statusA | Get the background sync scheduler status: whether it is currently running, when it last ran, when it is next due, and the configured interval. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| apps-list | Flat JSON list of every app currently tracked by PrivacyTracker, with identity and last-updated metadata. |
TDQS
Scored across 11 tools
Each tool targets a distinct resource and action. The only possible overlap between get_app and get_policy_status is clarified by descriptions focusing on summary content vs run state.
All tools follow a consistent verb_noun snake_case pattern (list_, get_, search_, compare_). No mixed conventions or vague verbs.
11 tools cover the full read/analysis surface of a privacy tracker without redundancy. The count fits the domain well.
Core workflows (listing, inspecting, changelogs, statistics, policy diffing, comparison) are well covered. Minor gaps include no tool to add/remove tracked apps or mark notifications read, but search_apps supports comparison via URLs.