{"name":"io.github.markusvankempen/slack-wxo-mcp-gateway","slug":"markusvankempen-slack-wxo-mcp-gateway","title":"Slack ↔ WxO MCP Gateway","description":"Lifts WxO Slack limits: every-message wake-up, multi-channel MCP. https://markusvankempen.github.io/","url":"https://mcp.market/server/markusvankempen-slack-wxo-mcp-gateway","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"devtools","tags":["devtools","productivity"],"presence":{"score":22,"stars":0,"forks":0,"downloads_week":68,"last_push_at":"2026-07-18T10:02:13.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/markusvankempen/slack-wxo-mcp-gateway","website":"https://markusvankempen.github.io/","version":"1.0.3","remotes":[],"packages":[{"registryType":"npm","identifier":"@markusvankempen/slack-wxo-mcp-gateway","version":"1.0.3","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"--stdio","type":"positional"}],"environmentVariables":[{"description":"Slack Bot User OAuth Token (xoxb-…)","isRequired":true,"format":"string","isSecret":true,"name":"SLACK_BOT_TOKEN"},{"description":"watsonx Orchestrate instance base URL","isRequired":true,"format":"string","name":"WXO_INSTANCE_URL"},{"description":"watsonx Orchestrate / MCSP API key","isRequired":true,"format":"string","isSecret":true,"name":"WXO_API_KEY"},{"description":"Default WxO agent id for bindings","format":"string","name":"WXO_AGENT_ID"},{"description":"stdio (IDE) or streamable-http (hosted). Default for npx IDE use: stdio","format":"string","name":"GATEWAY_TRANSPORT"},{"description":"Slack signing secret (Events mode)","format":"string","isSecret":true,"name":"SLACK_SIGNING_SECRET"}]}],"tools":[{"name":"get_gateway_status","description":"Health + binding counts + poller state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_message_context","description":"Fetch parent + recent thread replies as a prompt context pack. Useful for follow-ups so the agent sees full thread history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_recent_logs","description":"Return recent gateway log lines from the in-memory ring buffer.","write_action":false,"price_micros":0,"input_schema":null},{"name":"invoke_wxo_agent","description":"Invoke a watsonx Orchestrate agent via the Runs API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_bindings","description":"List configured Slack channel → WxO agent bindings (secrets masked).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_recent_messages","description":"List recent Slack messages in a channel (debug / agent use).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_slack_channels","description":"List Slack channels the bot can see (id + name) for binding setup. Needs scopes: channels:read, groups:read (for private).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_thread_replies","description":"List replies in a Slack thread (includes parent as first message).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_wxo_agents","description":"List watsonx Orchestrate agents (id, name, description) for binding picker. Uses the binding's WxO creds if channel_id is set, else wxo_defaults.","write_action":false,"price_micros":0,"input_schema":null},{"name":"poll_once","description":"Run one poll cycle for a channel (or all poll bindings). Useful for schedulers / manual wake-up.","write_action":true,"price_micros":0,"input_schema":null},{"name":"post_thread_reply","description":"Post a threaded Slack reply under thread_ts.","write_action":true,"price_micros":0,"input_schema":null},{"name":"run_diagnostics_tool","description":"Run Slack auth + WxO token (+ optional invoke) diagnostic checks.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set_typing_indicator","description":"Show/hide a 'thinking' reaction on a Slack message (bots have no channel typing API). Requires reactions:write. Default emoji: hourglass_flowing_sand.","write_action":false,"price_micros":0,"input_schema":null},{"name":"upsert_binding","description":"Add or update a Slack channel → WxO agent binding in config.yaml. Match by slack_channel_id (preferred) or name. Poller reloads next cycle.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-25T17:25:33.053Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:25:32.958Z","components":{"code":{"score":25,"max":25,"notes":["24 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 69 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@markusvankempen/slack-wxo-mcp-gateway","version":"1.0.3","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-07-19T01:28:00.201Z","repositoryUrl":"git+https://github.com/markusvankempen/slack-wxo-mcp-gateway.git","weeklyDownloads":68}],"repo":{"found":true,"owner":"markusvankempen","repo":"slack-wxo-mcp-gateway","archived":false,"pushedAt":"2026-07-18T10:02:13Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/8257509?v=4","ownerCreatedAt":"2014-07-24T13:40:14Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/8257509?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":68,"license":"Apache-2.0","lastPushAt":"2026-07-18T10:02:13.000Z","score":22}}}},"grade_history":[],"reviews":[]}