{"_id":"pretrip-mcp","_rev":"2-34b61d64e0eb12fe08e1f9d350dc648c","name":"pretrip-mcp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"pretrip-mcp","version":"1.0.0","author":{"name":"Kesey"},"license":"GPL-2.0-or-later","_id":"pretrip-mcp@1.0.0","maintainers":[{"name":"keseyagency","email":"support@kesey.agency"}],"homepage":"https://scan.kesey.agency/developers/","bin":{"pretrip-mcp":"index.mjs"},"dist":{"shasum":"0e5489bea153e8dbc230ffce4558a3bd920161f8","tarball":"https://registry.npmjs.org/pretrip-mcp/-/pretrip-mcp-1.0.0.tgz","fileCount":3,"integrity":"sha512-IHv2jo5BXN7QdY8LUeQ/CeLK5dnOcCWCzCsFFxyg+MFO7Th1RCKxa6jGJmMkrVKapYH/w7Sy8BZJ0p12rk2VNA==","signatures":[{"sig":"MEYCIQC9kk1DbA9KB4kkTwcKSrnt+J8bRvvbayPvsVvJqwYOZwIhAIQAQc9DHZsl600gMWKuJ5HNg2HnoP4SegfzUbPRDhQh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12164},"main":"index.mjs","type":"module","engines":{"node":">=18"},"gitHead":"fd6504a786e2163704bf28b54ba4e0b2d3ac4a69","_npmUser":{"name":"keseyagency","email":"support@kesey.agency"},"_npmVersion":"10.9.7","description":"Model Context Protocol server for Pre-Trip: screen regulated-health marketing copy against source-cited compliance rulesets from inside your AI assistant.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pretrip-mcp_1.0.0_1784993344323_0.8088099748747346","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"pretrip-mcp","version":"1.0.1","mcpName":"agency.kesey/pretrip","description":"Model Context Protocol server for Pre-Trip: screen regulated-health marketing copy against source-cited compliance rulesets from inside your AI assistant.","keywords":["mcp","modelcontextprotocol","mcp-server","model-context-protocol","compliance","regulatory-compliance","marketing-compliance","healthcare-marketing","advertising-compliance","ftc","can-spam","hipaa","legitscript","addiction-treatment","med-spa","cannabis","supplements","claude","ai-tools"],"type":"module","bin":{"pretrip-mcp":"index.mjs"},"main":"index.mjs","engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.23.8"},"license":"GPL-2.0-or-later","author":{"name":"Kesey"},"homepage":"https://scan.kesey.agency/developers/","bugs":{"url":"https://kesey.agency/contact"},"_id":"pretrip-mcp@1.0.1","gitHead":"c2bfeec1c04c316da48448b85beafd9c9210a33c","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-N7+ccOX85iHEaei+fbCPqfMPcUThGTWjIv5dWq6NC5EJ0YOU+QFknX7/KUbZ6jUvdPNNzKoKQMTJRLbGd1IbTA==","shasum":"2c371f86d2b72a659f348e3d2f5290b1b2cefee0","tarball":"https://registry.npmjs.org/pretrip-mcp/-/pretrip-mcp-1.0.1.tgz","fileCount":3,"unpackedSize":12666,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGVJVXeVw+45x72P2j0WH5wgPxiQldAFajmtnQgx0yqcAiEA/68w5ZgU08DtA4ps7KVGySXi1xlBGzzu3ntIdooqXyQ="}]},"_npmUser":{"name":"keseyagency","email":"support@kesey.agency"},"directories":{},"maintainers":[{"name":"keseyagency","email":"support@kesey.agency"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pretrip-mcp_1.0.1_1785088949163_0.3355240663164165"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-25T15:29:04.125Z","modified":"2026-07-26T18:02:29.474Z","1.0.0":"2026-07-25T15:29:04.452Z","1.0.1":"2026-07-26T18:02:29.315Z"},"author":{"name":"Kesey"},"license":"GPL-2.0-or-later","homepage":"https://scan.kesey.agency/developers/","description":"Model Context Protocol server for Pre-Trip: screen regulated-health marketing copy against source-cited compliance rulesets from inside your AI assistant.","maintainers":[{"name":"keseyagency","email":"support@kesey.agency"}],"readme":"# Pre-Trip MCP server\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server that gives an\nAI assistant (Claude Desktop, Cursor, and other MCP hosts) the ability to screen\nregulated-health marketing copy against Pre-Trip's source-cited compliance\nrulesets, from inside the assistant you already draft in.\n\nThis is the **assist layer**. MCP is model-controlled, so the model decides when\nto call the scan while you write. For a hard pre-publish gate (a machine that\nmust block on a fail), call the REST API directly instead, documented at\nhttps://scan.kesey.agency/developers/. Both ride the same engine.\n\nYour draft is scanned to run the check and is not stored.\n\n## Tools\n\n- **scan_content** — screen a piece of copy. The model supplies the copy, the\n  asset type, the state, the vertical, and whether the advertiser is a HIPAA\n  covered entity. Returns a pass, or a fix list where each flag quotes the line,\n  names the rule, and cites the statute.\n- **get_coverage** — list the valid verticals, asset types, and states, so the\n  model fills the scan facets correctly.\n\n## Requirements\n\n- Node.js 18 or newer.\n- A Pre-Trip API key. Create one at https://scan.kesey.agency under API keys.\n  Keyed scans spend your account's Bus Pass or tokens.\n\n## Install\n\nNo install step needed. Point your client at `npx pretrip-mcp` (below) and it\nfetches and runs the latest version on demand; Node.js 18 or newer is the only\nrequirement. To pin it or run it globally instead, `npm install -g pretrip-mcp`\nand use the `pretrip-mcp` command in place of `npx pretrip-mcp`.\n\n## Configure your client\n\n### Claude Desktop\n\nEdit `claude_desktop_config.json` (Settings, Developer, Edit Config):\n\n```json\n{\n  \"mcpServers\": {\n    \"pretrip\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"pretrip-mcp\"],\n      \"env\": {\n        \"PRETRIP_API_KEY\": \"pt_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. You should see a Pre-Trip tool available.\n\n### Cursor\n\nCreate or edit `.cursor/mcp.json` in your project (or the global Cursor MCP\nconfig):\n\n```json\n{\n  \"mcpServers\": {\n    \"pretrip\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"pretrip-mcp\"],\n      \"env\": {\n        \"PRETRIP_API_KEY\": \"pt_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nAny MCP host that speaks stdio works the same way: run `npx pretrip-mcp` with\n`PRETRIP_API_KEY` in the environment.\n\n## Use it\n\nOnce configured, just ask, in the middle of drafting:\n\n> Check this ketamine clinic landing page for California compliance before I\n> publish it: [paste your copy]\n\nThe assistant calls scan_content and reads back the verdict and the cited fix\nlist. If it is unsure which vertical or state to use, it can call get_coverage\nfirst.\n\n## Configuration\n\n- `PRETRIP_API_KEY` (required): your pt_live_ key.\n- `PRETRIP_API_BASE` (optional): defaults to https://scan.kesey.agency/api/v1.\n  Set it only to point at a staging endpoint.\n\n## Privacy and posture\n\nThe server sends the copy you ask it to check to the Pre-Trip API and stores\nnothing. Aggregate scan metadata is recorded against your API key for usage and\nbilling, never the copy. A pass is a screen, not legal advice or a\ncertification; you and your counsel remain responsible for what you publish.\n\n## Roadmap: a hosted remote server\n\nThis local stdio server is the fastest way to try Pre-Trip in an AI client, but\nit asks each user to run a process and hold a key in their config. The hosted\nversion is a remote MCP server over Streamable HTTP with OAuth, so a user adds\none URL and signs in, no local install and no key to paste. It reuses the exact\nsame scan endpoint underneath. That is the follow-up to this package.\n","readmeFilename":"README.md","keywords":["mcp","modelcontextprotocol","mcp-server","model-context-protocol","compliance","regulatory-compliance","marketing-compliance","healthcare-marketing","advertising-compliance","ftc","can-spam","hipaa","legitscript","addiction-treatment","med-spa","cannabis","supplements","claude","ai-tools"],"bugs":{"url":"https://kesey.agency/contact"}}