{"_id":"@1msg/mcp","_rev":"6-bd8c4e3ef19109650bd48d3fafeb8d76","name":"@1msg/mcp","dist-tags":{"latest":"1.2.8"},"versions":{"1.2.0":{"name":"@1msg/mcp","version":"1.2.0","license":"MIT","_id":"@1msg/mcp@1.2.0","maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"homepage":"https://github.com/1msg/1msg-mcp#readme","bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"bin":{"mcp":"dist/index.js","1msg-mcp":"dist/index.js","1msg-mcp-http":"dist/http.js"},"dist":{"shasum":"70f3626b329980ae62d1f0d840745fe6dd1f3d99","tarball":"https://registry.npmjs.org/@1msg/mcp/-/mcp-1.2.0.tgz","fileCount":44,"integrity":"sha512-y1F544pD7uoz63XMnusKCZmJKBWpoQv1GGETbFHqEqqf25aV332lljHoSqICOWQofC49zdXE1MaZNqvTOGmEqQ==","signatures":[{"sig":"MEYCIQDOTqDJIpHta5FxxCWp4qUfcb+5qzxcvabReaLdb/iu/wIhAL0FemPyA35WWmIaYcyHiHoso+SEak31rwF7aQDIgYJz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180662},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f1e6d4c6922012b9ee3357ed651ebcbca0aa705f","scripts":{"test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","start":"node dist/index.js","start:http":"node dist/http.js","prepublishOnly":"npm run build","smoke:tools-list":"node scripts/smoke-tools-list.js"},"_npmUser":{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"},"repository":{"url":"git+https://github.com/1msg/1msg-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for the 1msg API (stdio + Streamable HTTP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@1msg/sdk":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/jest":"^29.5.14","@types/node":"^22.20.1","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.0_1786402204608_0.19700006848360818","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@1msg/mcp","version":"1.2.1","license":"MIT","_id":"@1msg/mcp@1.2.1","maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"homepage":"https://github.com/1msg/1msg-mcp#readme","bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"bin":{"mcp":"dist/index.js","1msg-mcp":"dist/index.js","1msg-mcp-http":"dist/http.js"},"dist":{"shasum":"966c9a7154c70129c3af88a4f51bc2c7b96eda6c","tarball":"https://registry.npmjs.org/@1msg/mcp/-/mcp-1.2.1.tgz","fileCount":44,"integrity":"sha512-nErAVqFGiw+0+DZm/rGxOHYdnzyYxIX+DjZa2K5VOJhqNCK8Xd+H1GfNcQ6gxBQfMPguzp2RF7QxKt4b6cygeQ==","signatures":[{"sig":"MEQCIDY6XJdtiqKEde5AbcTRz3UA8NQ5fkDqNXI45s1UAPJCAiA/RGWFjz/ru+oCdvBV6FWHAWfo0AHIUyeORNl4I2BmwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187206},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"728ae2fc02470ed6f1c281fb7010c0f69d8ffcd4","scripts":{"test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","start":"node dist/index.js","start:http":"node dist/http.js","prepublishOnly":"npm run build","smoke:tools-list":"node scripts/smoke-tools-list.js"},"_npmUser":{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"},"repository":{"url":"git+https://github.com/1msg/1msg-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for the 1msg API (stdio + Streamable HTTP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@1msg/sdk":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/jest":"^29.5.14","@types/node":"^22.20.1","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.1_1787217371884_0.3841434715185681","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@1msg/mcp","version":"1.2.5","license":"MIT","_id":"@1msg/mcp@1.2.5","maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"homepage":"https://github.com/1msg/1msg-mcp#readme","bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"bin":{"mcp":"dist/index.js","1msg-mcp":"dist/index.js","1msg-mcp-http":"dist/http.js"},"dist":{"shasum":"a98d519deae929d534e0736f473cc3bbae7895fd","tarball":"https://registry.npmjs.org/@1msg/mcp/-/mcp-1.2.5.tgz","fileCount":48,"integrity":"sha512-pQ4sDm0Jm6bEGrtai4iOOQ++Fho0HNecidKuT6zd9gs2sY0Vz63TDyD45Y3x/2p2ereajqxmUjJLyM8SxoPd6g==","signatures":[{"sig":"MEUCIEd6eKckI5nBFm5QeKvaLb68YvbkaGhEwslaIJ1Qik+GAiEAwFYMcgOEGrw6JIabtbKjx28Lpt4zHmArJeBeMmGK67A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266862},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8dc8d44223eec2adf5bcbf2b17c8b871f3d98829","scripts":{"test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","start":"node dist/index.js","start:http":"node dist/http.js","prepublishOnly":"npm run build","smoke:tools-list":"node scripts/smoke-tools-list.js"},"_npmUser":{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"},"repository":{"url":"git+https://github.com/1msg/1msg-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for the 1msg API (stdio + Streamable HTTP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@1msg/sdk":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/jest":"^29.5.14","@types/node":"^22.20.1","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.5_1787593864859_0.9816985329018644","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@1msg/mcp","version":"1.2.6","license":"MIT","_id":"@1msg/mcp@1.2.6","maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"homepage":"https://github.com/1msg/1msg-mcp#readme","bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"bin":{"mcp":"dist/index.js","1msg-mcp":"dist/index.js","1msg-mcp-http":"dist/http.js"},"dist":{"shasum":"8373bd069965e76846d83c348016435fb24e0db5","tarball":"https://registry.npmjs.org/@1msg/mcp/-/mcp-1.2.6.tgz","fileCount":48,"integrity":"sha512-AXvH6W/6gK4bErmOPLlIFH7PZwhfYn4CI9Tou43VLjvogqz0Sd4ro/bChZJIaIjfrUs2WjVrc6d9MEAu6UtnsA==","signatures":[{"sig":"MEQCIEQI1QL0hK0ipY5rAwmhu6Nqtbum0qyMNuaX6k24mv5IAiAnVHm7NemWuy9tSve2JKfAF7OSegT1E4a5yv6BFPbY+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269287},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4a005cacc63ef74a2ad8fb2e35a14229d94079d5","scripts":{"test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","start":"node dist/index.js","start:http":"node dist/http.js","prepublishOnly":"npm run build","smoke:tools-list":"node scripts/smoke-tools-list.js"},"_npmUser":{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"},"repository":{"url":"git+https://github.com/1msg/1msg-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for the 1msg API (stdio + Streamable HTTP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@1msg/sdk":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/jest":"^29.5.14","@types/node":"^22.20.1","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.6_1787595255832_0.33201623448680695","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"@1msg/mcp","version":"1.2.7","license":"MIT","_id":"@1msg/mcp@1.2.7","maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"homepage":"https://github.com/1msg/1msg-mcp#readme","bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"bin":{"mcp":"dist/index.js","1msg-mcp":"dist/index.js","1msg-mcp-http":"dist/http.js"},"dist":{"shasum":"8a34a088042e0cd94616354015880bd77526fc55","tarball":"https://registry.npmjs.org/@1msg/mcp/-/mcp-1.2.7.tgz","fileCount":48,"integrity":"sha512-KBCqgdS/PHIXk67Btyydq7urFxutYWVVJG8Pfga+CnuLCkeyKNbaJH1SRT+if2KBoIgffIJ0YrmrrP2GNtgoag==","signatures":[{"sig":"MEQCICerkjgGXUQML25s0ePvvp27d6pqTFDX2WnSPd4fHbPgAiAo95cYD6lZkt9077xMvkfxKQpE5rUZFdvHpeU69l08rA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271469},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e018585f6b5f76b31c908fdfebbcfb0772eb187d","scripts":{"test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","start":"node dist/index.js","start:http":"node dist/http.js","prepublishOnly":"npm run build","smoke:tools-list":"node scripts/smoke-tools-list.js"},"_npmUser":{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"},"repository":{"url":"git+https://github.com/1msg/1msg-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for the 1msg API (stdio + Streamable HTTP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@1msg/sdk":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/jest":"^29.5.14","@types/node":"^22.20.1","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.7_1787597843781_0.4056802231026573","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"@1msg/mcp","version":"1.2.8","description":"MCP server for the 1msg API (stdio + Streamable HTTP)","license":"MIT","repository":{"type":"git","url":"git+https://github.com/1msg/1msg-mcp.git"},"homepage":"https://github.com/1msg/1msg-mcp#readme","bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"publishConfig":{"access":"public"},"bin":{"1msg-mcp":"dist/index.js","1msg-mcp-http":"dist/http.js","mcp":"dist/index.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","start":"node dist/index.js","start:http":"node dist/http.js","test":"jest","smoke:tools-list":"node scripts/smoke-tools-list.js","prepublishOnly":"npm run build"},"dependencies":{"@1msg/sdk":"^1.0.3","@modelcontextprotocol/sdk":"^1.29.0","express":"^5.2.1","zod":"^4.4.3"},"devDependencies":{"@types/express":"^5.0.6","@types/jest":"^29.5.14","@types/node":"^22.20.1","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.1.3"},"engines":{"node":">=18.0.0"},"_id":"@1msg/mcp@1.2.8","gitHead":"b46574a4563dc7cae6a7dfc5b378058c01053aa8","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-/ID6qzOnB4pMSieroIPsMuFv0yPkMjE2jHGbfkR5q0bU6+Cp5Ly4Qj/hlRhEovzx8o1ZSyzBLdS6239n75TKmA==","shasum":"80c1a2559a3205828b4f20ffd6bbdb910ce23bb8","tarball":"https://registry.npmjs.org/@1msg/mcp/-/mcp-1.2.8.tgz","fileCount":48,"unpackedSize":271389,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICsMFoPG1NXzvT7iXVIVlnoFwDigEuYV5zL/rpm0Ib0BAiA119+fPIx94YyEaAuJ7gn9tOh8a27O1z4iUDppWh+Vvg=="}]},"_npmUser":{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"},"directories":{},"maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_1.2.8_1787599657500_0.9952219301328031"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-10T22:50:04.384Z","modified":"2026-08-24T19:27:37.844Z","1.2.0":"2026-08-10T22:50:04.755Z","1.2.1":"2026-08-20T09:16:12.061Z","1.2.5":"2026-08-24T17:51:04.987Z","1.2.6":"2026-08-24T18:14:15.989Z","1.2.7":"2026-08-24T18:57:23.919Z","1.2.8":"2026-08-24T19:27:37.646Z"},"bugs":{"url":"https://github.com/1msg/1msg-mcp/issues"},"license":"MIT","homepage":"https://github.com/1msg/1msg-mcp#readme","repository":{"type":"git","url":"git+https://github.com/1msg/1msg-mcp.git"},"description":"MCP server for the 1msg API (stdio + Streamable HTTP)","maintainers":[{"name":"tinman321","email":"tinman321@gmail.com"},{"name":"1msg.company","email":"1msg.company@gmail.com"},{"name":"alibek.seksenali","email":"alibek.seksenali@alumni.nu.edu.kz"}],"readme":"# @1msg/mcp\n\nMCP server for the [1MSG](https://1msg.io) WhatsApp Business API — **62 public tools** for Cursor, Claude Desktop, and other [MCP](https://modelcontextprotocol.io/) clients.\n\nTransports: **stdio** (local) and **Streamable HTTP** (Cloud).\n\n| | |\n|--|--|\n| **npm** | [`@1msg/mcp`](https://www.npmjs.com/package/@1msg/mcp) |\n| **Cloud** | https://mcp.1msg.io/mcp |\n| **SDK** | [`@1msg/sdk`](https://www.npmjs.com/package/@1msg/sdk) |\n\nAPI hosts:\n\n| Environment | `ONE_MSG_BASE_URL` |\n|-------------|--------------------|\n| Live channels | `https://api.1msg.io` |\n| Test channels | `https://sandbox.1msg.io` |\n\n> Source of truth for **codegen** of `tools.generated.ts` / `handlers.generated.ts` still lives in the `1msg-api` monorepo (`packages/mcp`). This repository is the **distribution** package for running and hosting the server.\n\n## Quick start\n\n### npx (stdio)\n\n```bash\nexport ONE_MSG_BASE_URL=https://api.1msg.io\nexport ONE_MSG_INSTANCE_ID=your-instance-id\nexport ONE_MSG_TOKEN=your-channel-token\n\nnpx -y @1msg/mcp\n# or, after clone + build:\n# npm start\n```\n\nFor **test channels**, set `ONE_MSG_BASE_URL=https://sandbox.1msg.io` (bare `sandbox.1msg.io` is also accepted).\n\n\n### Clone and run\n\n```bash\ngit clone https://github.com/1msg/1msg-mcp.git\ncd 1msg-mcp\nnpm install\nnpm run build\n\nexport ONE_MSG_BASE_URL=https://api.1msg.io\nexport ONE_MSG_INSTANCE_ID=your-instance-id\nexport ONE_MSG_TOKEN=your-channel-token\n\nnpm start                 # stdio → dist/index.js\nnpm run start:http        # Streamable HTTP → dist/http.js\n```\n\n## Environment variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `ONE_MSG_BASE_URL` | yes (stdio) | API root: `https://api.1msg.io` (live) or `https://sandbox.1msg.io` (test) |\n| `ONE_MSG_TOKEN` | yes (stdio) | Channel API token |\n| `ONE_MSG_INSTANCE_ID` | yes (stdio) | Channel instance id |\n| `MCP_HTTP_HOST` | no | HTTP bind host (default `0.0.0.0` in Docker) |\n| `MCP_HTTP_PORT` | no | HTTP port (default `3100`) |\n| `MCP_RATE_LIMIT_RPM` | no | Per-token rate limit for HTTP (default `60`) |\n\nFor **Cloud HTTP**, the server default upstream is `ONE_MSG_BASE_URL` (typically live). Clients send credentials per request; test channels can also send `X-1msg-Base-Url: https://sandbox.1msg.io`.\n\n## Cursor (`mcp.json`)\n\n### Local stdio\n\nLive channel:\n\n```json\n{\n  \"mcpServers\": {\n    \"1msg\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@1msg/mcp\"],\n      \"env\": {\n        \"ONE_MSG_BASE_URL\": \"https://api.1msg.io\",\n        \"ONE_MSG_INSTANCE_ID\": \"your-instance-id\",\n        \"ONE_MSG_TOKEN\": \"your-channel-token\"\n      }\n    }\n  }\n}\n```\n\nTest channel: set `\"ONE_MSG_BASE_URL\": \"https://sandbox.1msg.io\"`.\n\n### Cloud URL (Streamable HTTP)\n\nCloud endpoint: [https://mcp.1msg.io/mcp](https://mcp.1msg.io/mcp)\n\n```json\n{\n  \"mcpServers\": {\n    \"1msg\": {\n      \"url\": \"https://mcp.1msg.io/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer your-channel-token\",\n        \"X-Instance-Id\": \"your-instance-id\"\n      }\n    }\n  }\n}\n```\n\nFor a **test channel**, add `\"X-1msg-Base-Url\": \"https://sandbox.1msg.io\"`.\n\nHeader aliases: `X-1msg-Instance-Id` (and deprecated `X-Chat-Api-Instance-Id`). Do not commit real tokens.\n\n## Cloud HTTP locally\n\n```bash\nexport ONE_MSG_BASE_URL=https://api.1msg.io\nexport MCP_HTTP_PORT=3100\nnpm run start:http\n```\n\n- Auth: `Authorization: Bearer <token>` + `X-Instance-Id: <instanceId>`\n- Optional: `X-1msg-Base-Url: https://sandbox.1msg.io` for test channels\n- Health: `GET /healthz`, `GET /readyz`\n\n```bash\ndocker build -t 1msg/1msg-mcp-http:local .\ndocker run --rm -p 3100:3100 \\\n  -e ONE_MSG_BASE_URL=https://api.1msg.io \\\n  1msg/1msg-mcp-http:local\n```\n\n## Scripts\n\n| Script | Purpose |\n|--------|---------|\n| `npm run build` | Compile TypeScript → `dist/` |\n| `npm test` | Jest unit tests |\n| `npm run smoke:tools-list` | Stdio `tools/list` smoke (expects 62 tools; uses dummy token) |\n| `npm start` / `npm run start:http` | Run stdio / HTTP servers |\n\n## Architecture\n\nAll API HTTP goes through `@1msg/sdk`. See [ARCHITECTURE.md](./ARCHITECTURE.md).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}