{"_id":"@andrewconnell/senja-mcp","_rev":"3-7d37fe895970d79904e39dfd8b2e3f46","name":"@andrewconnell/senja-mcp","dist-tags":{"latest":"1.0.0","next":"1.0.0-beta.3"},"versions":{"1.0.0-beta.1":{"name":"@andrewconnell/senja-mcp","version":"1.0.0-beta.1","keywords":["mcp","senja","testimonials"],"license":"MIT","_id":"@andrewconnell/senja-mcp@1.0.0-beta.1","maintainers":[{"name":"andrewconnell","email":"me@andrewconnell.com"}],"bin":{"senja-mcp":"lib/index.js"},"dist":{"shasum":"6b018af6cfc5ce2efc126e8088334ec095edf517","tarball":"https://registry.npmjs.org/@andrewconnell/senja-mcp/-/senja-mcp-1.0.0-beta.1.tgz","fileCount":8,"integrity":"sha512-xxG/poYpMDru9a9JqijaHFrGibpg1GDSrfLG68qOiUo2nko4M0f5phvNGAw7/4A5UtEob0eAXkWC4JT7XS9N/g==","signatures":[{"sig":"MEUCIQC23QzbrlSG4kIOSW98PZIj8PVowmmrH2TrJq1Y2ts/oAIgIqItyKfplRljsHNBmsYFXZk3unCUfvsG9vz8fJz4KOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22857},"type":"module","gitHead":"ddcb3e33f36dec589260329cdcfc3abca634b4d0","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node lib/index.js","test:watch":"vitest","test:mcpinspector":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector node lib/index.js -e SENJA_API_KEY=$SENJA_API_KEY"},"_npmUser":{"name":"andrewconnell","email":"me@andrewconnell.com"},"_npmVersion":"10.9.2","description":"MCP server for the Senja testimonial API","directories":{},"_nodeVersion":"22.15.1","dependencies":{"zod":"3.25.67","@modelcontextprotocol/sdk":"1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.0.18","typescript":"5.8.3","@types/node":"22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/senja-mcp_1.0.0-beta.1_1773340815368_0.09587867597567024","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@andrewconnell/senja-mcp","version":"1.0.0-beta.3","keywords":["mcp","senja","testimonials"],"author":{"name":"Andrew Connell","email":"me@andrewconnell.com"},"license":"MIT","_id":"@andrewconnell/senja-mcp@1.0.0-beta.3","maintainers":[{"name":"andrewconnell","email":"me@andrewconnell.com"}],"homepage":"https://github.com/Voitanos/heft-plugins","bugs":{"url":"https://github.com/andrewconnell/senja-mcp/issues"},"bin":{"senja-mcp":"lib/index.js"},"dist":{"shasum":"8bd0bf2fa182c2caf4958898cd435a092be5dd45","tarball":"https://registry.npmjs.org/@andrewconnell/senja-mcp/-/senja-mcp-1.0.0-beta.3.tgz","fileCount":8,"integrity":"sha512-W0zDiExcByxVCXapzXCBaSB3+t1wDHVKffAaLfy4orVMoKsKFQIaXBKs2ccWa2yDiFvH74vh8RoJtu3VwQ/rWw==","signatures":[{"sig":"MEQCIEgrWOoQW9NHBAEzh1oIfbYT6XAk6pvGkI0QSg39bCiTAiB/6mNy8BOhPEYi/msFh9pHmoAMYhZ/Yb5vamsTXS+o+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewconnell%2fsenja-mcp@1.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24293},"type":"module","issues":"https://github.com/Voitanos/heft-plugins/issues","gitHead":"1e41eb12a9df87aa9b28f9c1c6927a57447271ca","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && chmod 755 lib/index.js","start":"node lib/index.js","test:watch":"vitest","inspect:next":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector npx @andrewconnell/senja-mcp@next -e SENJA_API_KEY=$SENJA_API_KEY","inspect:latest":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector npx @andrewconnell/senja-mcp@latest -e SENJA_API_KEY=$SENJA_API_KEY","inspect:mcpinspector":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector node lib/index.js -e SENJA_API_KEY=$SENJA_API_KEY"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:584dcb09-5b6b-49ef-b38a-9e17e2a520bb"}},"repository":{"url":"git+https://github.com/andrewconnell/senja-mcp.git","type":"git"},"_npmVersion":"11.11.1","description":"MCP server for the Senja testimonial API","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"3.25.67","@modelcontextprotocol/sdk":"1.27.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"4.1.0","typescript":"5.9.3","@types/node":"22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/senja-mcp_1.0.0-beta.3_1773344168564_0.7805721051421743","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@andrewconnell/senja-mcp","description":"MCP server for the Senja testimonial API","version":"1.0.0","repository":{"type":"git","url":"git+https://github.com/andrewconnell/senja-mcp.git"},"license":"MIT","keywords":["mcp","senja","testimonials"],"homepage":"https://github.com/Voitanos/heft-plugins","issues":"https://github.com/Voitanos/heft-plugins/issues","author":{"name":"Andrew Connell","email":"me@andrewconnell.com"},"maintainers":[{"name":"andrewconnell","email":"me@andrewconnell.com"}],"type":"module","bin":{"senja-mcp":"lib/index.js"},"scripts":{"build":"tsc && chmod 755 lib/index.js","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","inspect:mcpinspector":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector node lib/index.js -e SENJA_API_KEY=$SENJA_API_KEY","inspect:latest":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector npx @andrewconnell/senja-mcp@latest -e SENJA_API_KEY=$SENJA_API_KEY","inspect:next":"SENJA_API_KEY=op://Private/Senja/api-key op run -- npx @modelcontextprotocol/inspector npx @andrewconnell/senja-mcp@next -e SENJA_API_KEY=$SENJA_API_KEY","start":"node lib/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"1.27.1","zod":"3.25.67"},"devDependencies":{"@types/node":"22.15.0","typescript":"5.9.3","vitest":"4.1.0"},"gitHead":"2fda326ebed638056071b3a2de67c123ec0cc4aa","_id":"@andrewconnell/senja-mcp@1.0.0","bugs":{"url":"https://github.com/andrewconnell/senja-mcp/issues"},"_nodeVersion":"22.22.0","_npmVersion":"11.11.1","dist":{"integrity":"sha512-WwUT4JL9qS8pjMd0wcqaNS5nIf/Zf/qXMukXrz1Xs2KHrXB2ZA7Vdq2XXjNvAaIR6VHQd0i1sHMWONuNn4YBsg==","shasum":"92fc70981585abf3673df6a7da4a842d025e9640","tarball":"https://registry.npmjs.org/@andrewconnell/senja-mcp/-/senja-mcp-1.0.0.tgz","fileCount":8,"unpackedSize":24286,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewconnell%2fsenja-mcp@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDCoyVcCZP4L6yy6uCNKkq9yavY8Wbo5r6MLG8rMffX9QIgLxtMZhLCMjzCmaBNOBb21dN+n0z9cWhbEL0rHLj1+Fk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:584dcb09-5b6b-49ef-b38a-9e17e2a520bb"}},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/senja-mcp_1.0.0_1773344313553_0.053948103540889525"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-12T18:40:15.278Z","modified":"2026-03-12T19:38:33.986Z","1.0.0-beta.1":"2026-03-12T18:40:15.497Z","1.0.0-beta.3":"2026-03-12T19:36:08.735Z","1.0.0":"2026-03-12T19:38:33.699Z"},"license":"MIT","keywords":["mcp","senja","testimonials"],"description":"MCP server for the Senja testimonial API","maintainers":[{"name":"andrewconnell","email":"me@andrewconnell.com"}],"readme":"# MCP Server for Senja (unofficial)\n\n> Collect, Manage and Share Testimonials - *The easiest way to collect testimonials and add them to your website. Get started for free.*\n\n[![@andrewconnell/senja-mcp@next](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/andrewconnell/senja-mcp)\n[![@andrewconnell/senja-mcp@latest](https://img.shields.io/npm/v/@andrewconnell/senja-mcp/latest?style=flat-square&color=%230E1F43)](https://www.npmjs.com/package/@andrewconnell/senja-mcp)\n[![@andrewconnell/senja-mcp@next](https://img.shields.io/npm/v/@andrewconnell/senja-mcp/next?style=flat-square&color=%23D96200)](https://www.npmjs.com/package/@andrewconnell/senja-mcp)\n\nAn MCP (Model Context Protocol) server for the [Senja](https://senja.io) testimonial API. This server allows AI assistants like Claude to interact with your Senja testimonials through standardized MCP tools.\n\n## Features\n\n- **List testimonials** with filtering by approval status, rating, type, integration source, tags, and language\n- **Get a specific testimonial** by ID\n- **Create new testimonials** with full support for customer details, ratings, tags, and media\n\n## Prerequisites\n\n- Node.js 18+\n- A Senja account on the Starter or Pro plan\n- A Senja API key (available from the **Automate** section in your Senja dashboard)\n\n## Setup\n\n1. Clone this repository:\n\n   ```console\n   git clone https://github.com/andrewconnell/senja-mcp.git\n   cd senja-mcp\n   ```\n\n2. Install dependencies:\n\n   ```console\n   npm install\n   ```\n\n3. Build the project:\n\n   ```console\n   npm run build\n   ```\n\n## Configuration\n\n### Claude Desktop\n\nAdd the following to your Claude Desktop configuration file (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"senja\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/senja-mcp/lib/index.js\"],\n      \"env\": {\n        \"SENJA_API_KEY\": \"your-senja-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Claude Code\n\nAdd the following to your Claude Code MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"senja\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/senja-mcp/lib/index.js\"],\n      \"env\": {\n        \"SENJA_API_KEY\": \"your-senja-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Environment Variables\n\n| Variable        | Required | Description          |\n| --------------- | -------- | -------------------- |\n| `SENJA_API_KEY` | Yes      | Your Senja API key   |\n\n## Available Tools\n\n### `list_testimonials`\n\nRetrieve testimonials with optional filtering and sorting.\n\n**Parameters:**\n- `sort` — Sort by `date` or `rating` (default: `date`)\n- `order` — Sort direction: `asc` or `desc` (default: `desc`)\n- `approved` — Filter by approval status\n- `rating` — Filter by star rating (1-5)\n- `type` — Filter by type: `text` or `video`\n- `integration` — Filter by source (e.g., `twitter`, `google`, `linkedin`)\n- `tags` — Filter by tag names\n- `lang` — Filter by language (ISO 639 code)\n- `limit` — Number of results (1-1000, default: 100)\n- `page` — Page number for pagination\n\n### `get_testimonial`\n\nRetrieve a specific testimonial by ID.\n\n**Parameters:**\n- `id` — The testimonial ID (required)\n\n### `create_testimonial`\n\nCreate a new testimonial.\n\n**Parameters:**\n- `type` — Testimonial type: `text` or `video` (required)\n- `customer_name` — Name of the customer (required)\n- `title` — Testimonial title/headline\n- `text` — Testimonial text content\n- `rating` — Star rating (1-5)\n- `url` — Source URL\n- `date` — Date in ISO 8601 format\n- `approved` — Whether the testimonial is approved\n- `customer_email` — Customer email\n- `customer_avatar` — Customer avatar URL\n- `customer_company` — Customer company name\n- `customer_tagline` — Customer tagline or job title\n- `customer_website` — Customer website URL\n- `integration` — Integration source identifier\n- `tags` — Tags to apply\n- `video_url` — Video URL (for video testimonials)\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Voitanos/heft-plugins","repository":{"type":"git","url":"git+https://github.com/andrewconnell/senja-mcp.git"},"author":{"name":"Andrew Connell","email":"me@andrewconnell.com"},"bugs":{"url":"https://github.com/andrewconnell/senja-mcp/issues"}}