About privacypage-mcp
privacypage-mcp is an MCP server for app builders and their AI agents to generate drafts of privacy policies, terms, EULAs, cookie policies, and disclaimers. It returns free previews and can retrieve full documents using a license key.
Key features
- 01Generate five types of legal documents
- 02Return a 25-line preview
- 03Retrieve full documents by ID
- 04Accept app and policy details as inputs
- 05Send only tool arguments to the API
Use cases
- 01Draft an app privacy policy during development
- 02Prepare terms or an EULA for a release
- 03Create cookie disclosures or a site disclaimer
MCP support
The server exposes document-generation and full-document retrieval tools to MCP clients. Generation needs no API key; retrieving a full document requires a license key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y privacypage-mcpPRIVACYPAGE_LICENSE_KEYSecretOptional PrivacyPage license key ($9.99 one-time at privacypage.io) used by get_full_document to unlock full documents. Free previews work without it.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
6Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| appName | string | Yes | Name of the app or website, e.g. 'MyApp' |
| platform | enum | Yes | Platform the app runs oniOS | Android | Both (iOS & Android) | Web App | All Platforms |
| websiteUrl | string | No | Website URL, if any, e.g. 'https://myapp.com' |
| companyName | string | Yes | Company or developer name, e.g. 'Acme Inc.' |
| contactEmail | string | Yes | Contact email for privacy inquiries, e.g. '[email protected]' |
| dataCollected | array | Yes | Types of data the app collects. Common values: 'Name & Email', 'Phone Number', 'Location Data', 'Photos / Camera', 'Device Info', 'Usage Analytics', 'Payment Info', 'Health Data', 'No Personal Data'. Free-form values are also accepted. |
| childrenUnder13 | boolean | Yes | Whether the app is directed at children under 13 (COPPA) |
| thirdPartyServices | array | Yes | Third-party services/SDKs the app uses. Common values: 'Google Analytics / Firebase', 'Facebook SDK', 'AdMob / Ads', 'Stripe / Payments', 'Sentry / Crashlytics', 'Mixpanel / Amplitude', 'Push Notifications', 'None'. Free-form values are also accepted. |
Details
From the project READMEPrivacyPage MCP Server
Give your AI agent the power to generate privacy policies, terms of service, EULAs, cookie policies, and disclaimers — while it builds your app.
Powered by PrivacyPage. Free instant previews; unlock the full document for a one-time $9.99 (no subscription, no account).
Why
Every app shipped from Cursor, Lovable, Bolt, or v0 eventually needs legal documents — the App Store and Play Store require a privacy policy, GDPR requires cookie disclosures, and users expect terms of service. This MCP server lets the agent that's building your app generate those documents in the same conversation, filled in from what the agent already knows about your app: its name, platform, the data it collects, and the SDKs it uses.
Quick start
Requires Node.js 18+. No API key needed to generate previews.
Cursor
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):
{
"mcpServers": {
"privacypage": {
"command": "npx",
"args": ["-y", "privacypage-mcp"]
}
}
}
Claude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"privacypage": {
"command": "npx",
"args": ["-y", "privacypage-mcp"]
}
}
}
Any MCP client (generic stdio config)
{
"command": "npx",
"args": ["-y", "privacypage-mcp"],
"env": {
"PRIVACYPAGE_LICENSE_KEY": "<optional — set after purchase to auto-unlock full documents>"
}
}
Tools
| Tool | What it generates | Key inputs |
|---|---|---|
generate_privacy_policy | GDPR/CCPA/COPPA-aware privacy policy | app name, platform, company, contact email, data collected, third-party SDKs, children under 13 |
generate_terms_of_service | Terms of Service agreement | service name, company, platform, key policies (refunds, UGC, subscriptions…), jurisdiction |
generate_eula | End-User License Agreement | app name, company, platform, license type, usage restrictions |
generate_cookie_policy | GDPR-aware cookie policy | website name/URL, cookie types, third-party services, contact email |
generate_disclaimer | Liability disclaimer (general / medical / financial / fitness / legal / affiliate) | site name, disclaimer type, external links, contact email |
get_full_document | Full text of any generated document | documentId + license key (argument or PRIVACYPAGE_LICENSE_KEY env var) |
Every generate_* tool returns a free 25-line preview, a documentId, and instructions for unlocking the full document.
Example agent conversation
You: Ship my fitness tracker app to the App Store. It uses Firebase Analytics and HealthKit.
Agent: The App Store requires a privacy policy. Let me generate one. (calls
generate_privacy_policywithappName: "FitTrack",platform: "iOS",dataCollected: ["Health Data", "Usage Analytics"],thirdPartyServices: ["Google Analytics / Firebase"],childrenUnder13: false)Agent: Here's a preview of your privacy policy — it covers HealthKit data, Firebase, GDPR and CCPA rights, and COPPA. To get the full document, purchase a one-time license at privacypage.io ($9.99, no subscription) and give me the key.
You: Here's my key:
PP-XXXX-XXXXAgent: (calls
get_full_document) Done — I've saved the full policy topublic/privacy-policy.mdand linked it in your app's settings screen.
Pricing
- Preview: free. Every tool returns the first 25 lines of a real, fully generated document at no cost, no account needed.
- Full document: $9.99 one-time (or $24.99 for the all-documents bundle). No subscription, no recurring fees. Purchase at privacypage.io.
- After purchase, set
PRIVACYPAGE_LICENSE_KEYin your MCP config and the agent can unlock full documents automatically.
Rate limit: 10 document generations per hour per IP. The server reports rate-limit errors to the agent with a friendly retry message.
Environment variables
| Variable | Purpose |
|---|---|
PRIVACYPAGE_LICENSE_KEY | Optional. License key used by get_full_document when no licenseKey argument is passed. |
PRIVACYPAGE_API_URL | Optional. Override the API base URL (defaults to https://privacypage.io). |
Data handling
This server runs locally over stdio and makes HTTPS requests only to the PrivacyPage API (https://privacypage.io, or whatever PRIVACYPAGE_API_URL is set to). Everything below is verifiable in src/index.ts and src/api.ts.
What leaves your machine. Only the explicit arguments the agent passes to a tool call — the fields the generated document prints, such as app/site name, platform, company name, contact email, website URL, data-collection and cookie selections, key policies, and jurisdiction (varying by tool). For the generate_* tools these are sent as a plain JSON POST body; get_full_document sends the documentId and license key as query parameters on a GET request. No conversation context, no filesystem contents, and nothing else from the agent session is read or transmitted.
Schema-bounded. Each tool declares a fixed input schema, and every request payload is built field-by-field from those named arguments only. An agent has no channel to send extra context through these tools.
License key. PRIVACYPAGE_LICENSE_KEY (or the licenseKey argument) is sent only to the PrivacyPage API, solely to prove entitlement when fetching a full document.
What's stored server-side. The PrivacyPage service stores the generation inputs and the generated document — that's what lets a license key unlock a document by documentId after generation. This data is not used for analytics and is not shared. (Server-side behavior is a property of the privacypage.io service; this repository's source shows only what is sent.)
Rate limiting. Generation endpoints are limited to 10 document generations per hour per IP; the server reports 429 responses to the agent with a retry message.
Development
git clone https://github.com/rushi053/privacypage-mcp.git
cd privacypage-mcp
npm install
npm run build
npm run smoke-test # handshake + tools/list over stdio
node scripts/smoke-test.mjs --call # also makes one real API call
Disclaimer
Documents generated by PrivacyPage are professionally structured templates and AI-generated drafts. They are not legal advice; for high-stakes situations, have a lawyer review your documents.
License
MIT — the server. Generated documents are yours.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.