{"_id":"@agentuse/mcp-slack-webhook","_rev":"6-1f29f7b823ffd5d2adb3bd49925ce1d4","name":"@agentuse/mcp-slack-webhook","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@agentuse/mcp-slack-webhook","version":"1.0.0","keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"author":{"name":"AgentUse"},"license":"MIT","_id":"@agentuse/mcp-slack-webhook@1.0.0","maintainers":[{"name":"llch","email":"npm@leonho.com"}],"homepage":"https://github.com/your-org/agentuse-internal/tree/main/packages/mcp-slack-webhook","bugs":{"url":"https://github.com/your-org/agentuse-internal/issues"},"bin":{"mcp-slack-webhook":"dist/index.js"},"dist":{"shasum":"7e3f2c7bcbc6dad31c09b76e68d18ef21b88ad17","tarball":"https://registry.npmjs.org/@agentuse/mcp-slack-webhook/-/mcp-slack-webhook-1.0.0.tgz","fileCount":10,"integrity":"sha512-KxSo6U0PejjTx1MwqudQQdTSAKqQtZKzZWiR9aOxbu1CJQcC34oJwCnAWGA7HQeMYyxtn1SRJEM67CdiRfYpxA==","signatures":[{"sig":"MEYCIQDnCN8FM1d3kNf+WXKxO2Tok9PjUaMXxzAxD9ZYyM8HmAIhAKcm794FP0tS9ciUyuZ04sQYwi3GpXI7xpCV4VnrAmDW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16008},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1aaa752094b28420d544f7b6ea5ed931a7dc62a5","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","publish:npm":"npm publish","prepublishOnly":"pnpm run clean && pnpm run build","publish:dry-run":"npm publish --dry-run"},"_npmUser":{"name":"llch","email":"npm@leonho.com"},"repository":{"url":"git+https://github.com/your-org/agentuse-internal.git","type":"git","directory":"packages/mcp-slack-webhook"},"_npmVersion":"10.9.2","description":"MCP server for sending messages to Slack webhooks","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"preferGlobal":false,"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack-webhook_1.0.0_1756509116355_0.7470259009976778","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agentuse/mcp-slack-webhook","version":"1.0.1","keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"author":{"name":"AgentUse"},"license":"MIT","_id":"@agentuse/mcp-slack-webhook@1.0.1","maintainers":[{"name":"llch","email":"npm@leonho.com"}],"homepage":"https://github.com/your-org/agentuse-internal/tree/main/packages/mcp-slack-webhook","bugs":{"url":"https://github.com/your-org/agentuse-internal/issues"},"bin":{"mcp-slack-webhook":"dist/index.js"},"dist":{"shasum":"178d154eb30a69f31726f0c45f5fa0f5e7fbc34b","tarball":"https://registry.npmjs.org/@agentuse/mcp-slack-webhook/-/mcp-slack-webhook-1.0.1.tgz","fileCount":10,"integrity":"sha512-uDkxMi0kkaPPX96W/SZgTTv3n9vQPn26m+/B0IhIiQMB3wWF/dbLrxyYqJhV1btKxHGSXKxvqouWiL7J4Ncs/Q==","signatures":[{"sig":"MEYCIQCDs2QPC2po1tFif/v9D0u0SjbH489rjF6sIr205C5IEwIhAKS8wc9fV9wG848DUC1G/fuv7xFg6agSy5ksrzrxsNLT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16424},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1aaa752094b28420d544f7b6ea5ed931a7dc62a5","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","publish:npm":"npm publish","prepublishOnly":"pnpm run clean && pnpm run build","publish:dry-run":"npm publish --dry-run"},"_npmUser":{"name":"llch","email":"npm@leonho.com"},"repository":{"url":"git+https://github.com/your-org/agentuse-internal.git","type":"git","directory":"packages/mcp-slack-webhook"},"_npmVersion":"10.9.2","description":"MCP server for sending messages to Slack webhooks","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"preferGlobal":false,"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack-webhook_1.0.1_1756509457120_0.005867351994080394","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@agentuse/mcp-slack-webhook","version":"1.0.2","keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"author":{"name":"Leon Ho"},"license":"MIT","_id":"@agentuse/mcp-slack-webhook@1.0.2","maintainers":[{"name":"llch","email":"npm@leonho.com"}],"homepage":"https://github.com/agentuse/mcp-slack-webhook.git","bugs":{"url":"https://github.com/agentuse/mcp-slack-webhook/issues"},"bin":{"mcp-slack-webhook":"dist/index.js"},"dist":{"shasum":"2ff0276db21c434f0ac5ee13fc8a39b692b578c8","tarball":"https://registry.npmjs.org/@agentuse/mcp-slack-webhook/-/mcp-slack-webhook-1.0.2.tgz","fileCount":10,"integrity":"sha512-6gKRtTlb2GtnitTO+DHLlv/Dtmypa0EUh/VC9mVrl9mdH7oreEge15m1kihZPmDRZFTi3vk/FtR0IDJd7fB6Yg==","signatures":[{"sig":"MEQCICxETSfmiwrq/3yUs6N6WnzLS5z90tUBf2l6ds44IaBrAiAA51nzAcj1rmegj7u1/w0NYjpT5PDKAI/k/bRhuT6yqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16369},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1aaa752094b28420d544f7b6ea5ed931a7dc62a5","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod +x dist/index.js","clean":"rm -rf dist","start":"node dist/index.js","publish:npm":"npm publish","prepublishOnly":"pnpm run clean && pnpm run build","publish:dry-run":"npm publish --dry-run"},"_npmUser":{"name":"llch","email":"npm@leonho.com"},"repository":{"url":"git+https://github.com/agentuse/mcp-slack-webhook.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for sending messages to Slack webhooks","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"preferGlobal":false,"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack-webhook_1.0.2_1756509764446_0.1858673840304934","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@agentuse/mcp-slack-webhook","version":"1.0.3","keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"author":{"name":"Leon Ho"},"license":"MIT","_id":"@agentuse/mcp-slack-webhook@1.0.3","maintainers":[{"name":"llch","email":"npm@leonho.com"}],"homepage":"https://github.com/agentuse/mcp-slack-webhook.git","bugs":{"url":"https://github.com/agentuse/mcp-slack-webhook/issues"},"bin":{"mcp-slack-webhook":"dist/bundle.js"},"dist":{"shasum":"b89be796a6c5f91764db701b474e853ab7abdcf6","tarball":"https://registry.npmjs.org/@agentuse/mcp-slack-webhook/-/mcp-slack-webhook-1.0.3.tgz","fileCount":11,"integrity":"sha512-MBujNN1LC4iAltzQPA9s1mhk4I4PKRTMvUcS0XV+/c7wxJiQVWIN+Rsg3PIhTZkymuSP78YknOJvkLgI7XoTzg==","signatures":[{"sig":"MEUCIQCrJHr1kjkcGolL8xhp9Dc6zZaerJcbCQqUJaVAkXCXcQIgeUY9JTuxvrjECkMkTv+1Qzj7oAFS+skt8rv7/WXFUDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21240},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1aaa752094b28420d544f7b6ea5ed931a7dc62a5","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --external:@modelcontextprotocol/sdk --external:zod --outfile=dist/bundle.js && (head -n1 dist/bundle.js | grep -q '^#!/usr/bin/env node' || (printf '#!/usr/bin/env node\\n' | cat - dist/bundle.js > temp && mv temp dist/bundle.js)) && chmod +x dist/bundle.js","clean":"rm -rf dist","start":"node dist/index.js","publish:npm":"npm publish","prepublishOnly":"pnpm run clean && pnpm run build","publish:dry-run":"npm publish --dry-run"},"_npmUser":{"name":"llch","email":"npm@leonho.com"},"repository":{"url":"git+https://github.com/agentuse/mcp-slack-webhook.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for sending messages to Slack webhooks","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"preferGlobal":false,"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.0.0","esbuild":"^0.25.9","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack-webhook_1.0.3_1756510311899_0.2633205756435053","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@agentuse/mcp-slack-webhook","version":"1.0.4","keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"author":{"name":"Leon Ho"},"license":"MIT","_id":"@agentuse/mcp-slack-webhook@1.0.4","maintainers":[{"name":"llch","email":"npm@leonho.com"}],"homepage":"https://github.com/agentuse/mcp-slack-webhook.git","bugs":{"url":"https://github.com/agentuse/mcp-slack-webhook/issues"},"bin":{"mcp-slack-webhook":"dist/index.js"},"dist":{"shasum":"a464537e135a49db062e60e2d8b5872f30d69d99","tarball":"https://registry.npmjs.org/@agentuse/mcp-slack-webhook/-/mcp-slack-webhook-1.0.4.tgz","fileCount":10,"integrity":"sha512-62hkHuKeEZIFn//pU9fXFT0kZQCX9XgKfwz0T9BVjwqPOzqiA39f+6K49yAzZRQtHC0vmaHN5uUk6Emfbiu+wg==","signatures":[{"sig":"MEUCIH9lZsmjKxtkPZlb7XRyC9bKsoEjbQsuNjP65/jDFSmPAiEAg8wqanUB4ZZMiwzStKQuj1EDjmrP7qk89bXet+28Z5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16390},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1aaa752094b28420d544f7b6ea5ed931a7dc62a5","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc && shx chmod +x dist/*.js","clean":"rm -rf dist","start":"node dist/index.js","publish:npm":"npm publish","prepublishOnly":"pnpm run clean && pnpm run build","publish:dry-run":"npm publish --dry-run"},"_npmUser":{"name":"llch","email":"npm@leonho.com"},"repository":{"url":"git+https://github.com/agentuse/mcp-slack-webhook.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for sending messages to Slack webhooks","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"preferGlobal":false,"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"shx":"^0.4.0","tsx":"^4.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack-webhook_1.0.4_1756510503473_0.6114012434818834","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@agentuse/mcp-slack-webhook","version":"1.0.5","description":"MCP server for sending messages to Slack webhooks","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"mcp-slack-webhook":"dist/index.js"},"preferGlobal":false,"scripts":{"build":"tsc && shx chmod +x dist/*.js","start":"node dist/index.js","dev":"tsx src/index.ts","clean":"rm -rf dist","prepublishOnly":"pnpm run clean && pnpm run build","publish:npm":"npm publish","publish:dry-run":"npm publish --dry-run","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"author":{"name":"Leon Ho"},"license":"MIT","homepage":"https://github.com/agentuse/mcp-slack-webhook.git","repository":{"type":"git","url":"git+https://github.com/agentuse/mcp-slack-webhook.git"},"bugs":{"url":"https://github.com/agentuse/mcp-slack-webhook/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.22.4"},"devDependencies":{"@types/node":"^20.0.0","shx":"^0.4.0","tsx":"^4.0.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","_id":"@agentuse/mcp-slack-webhook@1.0.5","gitHead":"1aaa752094b28420d544f7b6ea5ed931a7dc62a5","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-NHJFShtVhmY+o7brTLtlbxiy+lEaXd6PiOcsIW/bX4OLhxC+OOXOgZYJnt0mpJbKjw7uKrbBfvDiA0PbLJm7Aw==","shasum":"68228f063b48bb172aa422468fc3534837efc57b","tarball":"https://registry.npmjs.org/@agentuse/mcp-slack-webhook/-/mcp-slack-webhook-1.0.5.tgz","fileCount":10,"unpackedSize":15791,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF5mtO0WBddyK4Rg+Q5FhTvRvSeYFh0ZYksMOJp9YzxXAiEAsFfrQefznmJa/TknAtn+wSXViK3fdslzqHvBhiNiDTw="}]},"_npmUser":{"name":"llch","email":"npm@leonho.com"},"directories":{},"maintainers":[{"name":"llch","email":"npm@leonho.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-slack-webhook_1.0.5_1756510748762_0.418241183500464"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-29T23:11:56.244Z","modified":"2025-08-29T23:39:09.147Z","1.0.0":"2025-08-29T23:11:56.547Z","1.0.1":"2025-08-29T23:17:37.315Z","1.0.2":"2025-08-29T23:22:44.629Z","1.0.3":"2025-08-29T23:31:52.074Z","1.0.4":"2025-08-29T23:35:03.645Z","1.0.5":"2025-08-29T23:39:08.930Z"},"bugs":{"url":"https://github.com/agentuse/mcp-slack-webhook/issues"},"author":{"name":"Leon Ho"},"license":"MIT","homepage":"https://github.com/agentuse/mcp-slack-webhook.git","keywords":["mcp","slack","webhook","model-context-protocol","ai","chatbot","automation","typescript"],"repository":{"type":"git","url":"git+https://github.com/agentuse/mcp-slack-webhook.git"},"description":"MCP server for sending messages to Slack webhooks","maintainers":[{"name":"llch","email":"npm@leonho.com"}],"readme":"# MCP Slack Webhook Server\n\nA Model Context Protocol (MCP) server that enables AI assistants to send messages to Slack via webhooks.\n\n## Features\n\n- **Single flexible tool**: `send-message` supports both simple text and rich Block Kit formatting\n- **Environment-based configuration**: Webhook URL configured via environment variable\n- **Retry mechanism**: Built-in retry logic for failed requests\n- **Error handling**: Comprehensive error handling and validation\n- **TypeScript**: Full type safety and modern ES modules\n\n## Installation\n\n### Using npx (Recommended)\n\nNo installation required - use directly with npx:\n\n```bash\nnpx -y @agentuse/mcp-slack-webhook\n```\n\n### From Source\n\n```bash\ncd packages/mcp-slack-webhook\npnpm install\npnpm run build\n```\n\n## Configuration\n\n1. Create a Slack app and enable incoming webhooks:\n   - Go to [Slack API](https://api.slack.com/apps)\n   - Create a new app or select existing one\n   - Navigate to \"Incoming Webhooks\" and activate it\n   - Create a webhook for your desired channel\n\n2. Set up environment variables:\n   ```bash\n   cp .env.example .env\n   # Edit .env and set your webhook URL\n   ```\n\n3. Set the `SLACK_WEBHOOK_URL` environment variable:\n   ```bash\n   export SLACK_WEBHOOK_URL=\"https://hooks.slack.com/services/YOUR/WEBHOOK/URL\"\n   ```\n\n## Usage\n\n### Using as MCP Server\n\nThis server is designed to be used with MCP clients like Claude Code or other AI applications that support the Model Context Protocol.\n\n#### With Claude Code\n\n1. Build the server:\n   ```bash\n   pnpm run build\n   ```\n\n2. Add to your Claude Code MCP configuration (usually `~/.config/claude-code/mcp.json`):\n   \n   **Using npx (recommended):**\n   ```json\n   {\n     \"mcpServers\": {\n       \"slack-webhook\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"@agentuse/mcp-slack-webhook\"],\n         \"env\": {\n           \"SLACK_WEBHOOK_URL\": \"https://hooks.slack.com/services/YOUR/WEBHOOK/URL\"\n         }\n       }\n     }\n   }\n   ```\n   \n   **If installed from source:**\n   ```json\n   {\n     \"mcpServers\": {\n       \"slack-webhook\": {\n         \"command\": \"node\",\n         \"args\": [\"/path/to/packages/mcp-slack-webhook/dist/index.js\"],\n         \"env\": {\n           \"SLACK_WEBHOOK_URL\": \"https://hooks.slack.com/services/YOUR/WEBHOOK/URL\"\n         }\n       }\n     }\n   }\n   ```\n\n3. Restart Claude Code to load the MCP server\n\n#### With Other MCP Clients\n\nThe server uses stdio transport and can be integrated with any MCP client:\n\n```bash\n# Set environment variable\nexport SLACK_WEBHOOK_URL=\"https://hooks.slack.com/services/YOUR/WEBHOOK/URL\"\n\n# Run the server with npx\nnpx -y @agentuse/mcp-slack-webhook\n```\n\n#### Running Standalone (Development/Testing)\n\n```bash\n# Development mode\npnpm run dev\n\n# Production mode\npnpm run build\npnpm start\n```\n\n### Tool: `send-message`\n\nSend messages to Slack with optional Block Kit formatting.\n\n#### Parameters\n\n- `text` (required): The main message text. Used as fallback when blocks are provided.\n- `blocks` (optional): Array of Block Kit blocks for rich formatting.\n\n#### Examples\n\n**Simple text message:**\n```json\n{\n  \"text\": \"Hello from MCP!\"\n}\n```\n\n**Message with Block Kit formatting:**\n```json\n{\n  \"text\": \"System Alert\",\n  \"blocks\": [\n    {\n      \"type\": \"header\",\n      \"text\": {\n        \"type\": \"plain_text\",\n        \"text\": \"🚨 System Alert\"\n      }\n    },\n    {\n      \"type\": \"section\",\n      \"text\": {\n        \"type\": \"mrkdwn\",\n        \"text\": \"*CPU usage is high*\\nServer: production-01\\nUsage: 85%\"\n      }\n    },\n    {\n      \"type\": \"divider\"\n    },\n    {\n      \"type\": \"context\",\n      \"elements\": [\n        {\n          \"type\": \"mrkdwn\",\n          \"text\": \"Alert generated at <!date^1234567890^{date_short_pretty} at {time}|fallback>\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n**Message with fields:**\n```json\n{\n  \"text\": \"Deployment Status\",\n  \"blocks\": [\n    {\n      \"type\": \"section\",\n      \"text\": {\n        \"type\": \"mrkdwn\",\n        \"text\": \"*Deployment Complete*\"\n      },\n      \"fields\": [\n        {\n          \"type\": \"mrkdwn\",\n          \"text\": \"*Environment:*\\nProduction\"\n        },\n        {\n          \"type\": \"mrkdwn\",\n          \"text\": \"*Version:*\\nv1.2.3\"\n        },\n        {\n          \"type\": \"mrkdwn\",\n          \"text\": \"*Status:*\\n✅ Success\"\n        },\n        {\n          \"type\": \"mrkdwn\",\n          \"text\": \"*Duration:*\\n2m 15s\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n## Common Block Types\n\n- **header**: Large header text\n- **section**: Text with optional fields\n- **divider**: Visual separator\n- **context**: Small, muted text (timestamps, metadata)\n\n## Error Handling\n\nThe server includes comprehensive error handling:\n\n- **Invalid webhook URL**: Validates URL format on startup\n- **Network failures**: Automatic retry with exponential backoff\n- **Slack API errors**: Detailed error messages returned\n- **Invalid block format**: Zod schema validation\n\n## Integration with Claude\n\nThis MCP server is designed to work seamlessly with AI assistants like Claude. The single `send-message` tool makes it easy for LLMs to:\n\n1. Send simple notifications: `{text: \"Task completed\"}`\n2. Create rich formatted alerts with blocks\n3. Generate status reports with structured data\n\n## Available Tools\n\nOnce connected as an MCP server, this provides the following tool:\n\n### `send-message`\n- **Purpose**: Send messages to Slack via webhook\n- **Parameters**: \n  - `text` (required): Main message text\n  - `blocks` (optional): Block Kit blocks for rich formatting\n- **Returns**: Success confirmation or error details\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Run in development mode\npnpm run dev\n\n# Build for production\npnpm run build\n\n# Type checking\nnpx tsc --noEmit\n```\n\n## Troubleshooting\n\n**Server won't start:**\n- Check that `SLACK_WEBHOOK_URL` is set and valid\n- Ensure the webhook URL format: `https://hooks.slack.com/services/...`\n\n**Messages not appearing in Slack:**\n- Verify webhook URL is correct\n- Check that the Slack app has permission to post to the target channel\n- Review server logs for error messages\n\n## Publishing to npm\n\n### For Maintainers\n\nTo publish a new version to npm:\n\n1. **Update version**:\n   ```bash\n   cd packages/mcp-slack-webhook\n   npm version patch  # or minor, major\n   ```\n\n2. **Test the package**:\n   ```bash\n   pnpm run publish:dry-run\n   ```\n\n3. **Login to npm** (first time only):\n   ```bash\n   npm login\n   ```\n\n4. **Publish**:\n   ```bash\n   pnpm run publish:npm\n   ```\n\n### Package Contents\n\nThe published package includes:\n- `dist/` - Compiled JavaScript and TypeScript definitions\n- `README.md` - Documentation\n- `LICENSE` - MIT license\n- `.env.example` - Environment variable template\n\nSource files and development dependencies are excluded via `.npmignore`.\n\n## License\n\nMIT","readmeFilename":"README.md"}