@nsupp/mcp
v0.1.0
Published
nsupp Model Context Protocol server — read conversations, reply, manage contacts and post to team chat from an MCP client. Dependency-free.
Downloads
39
Maintainers
Readme
@nsupp/mcp
Model Context Protocol server for nsupp — lets an MCP client read conversations, draft and send replies, look up contacts and post to team chat. Dependency-free, Node 18+, stdio transport.
Configure
Add it to your MCP client. The secret goes in env, never on the command line:
{
"mcpServers": {
"nsupp": {
"command": "npx",
"args": ["-y", "@nsupp/mcp"],
"env": {
"NSUPP_TOKEN_ID": "nsupp_pk_…",
"NSUPP_TOKEN_SECRET": "…",
"NSUPP_WEBSITE_ID": "wk_…"
}
}
}
}NSUPP_BASE_URL points it at a self-hosted install; NSUPP_TIER selects plugin (default) or
website tokens.
Tools
| Tool | Reads / writes |
| --- | --- |
| get_website, list_operators | read |
| list_conversations, get_conversation, list_messages | read |
| send_message | writes to the customer |
| add_internal_note, set_conversation_state | write, internal |
| list_people, get_person | read (personal data) |
| list_team_chat, post_team_chat | general team channel |
| list_helpdesk_articles | read |
| list_bot_blocks, validate_bot_graph, list_bot_scenarios | read (bot authoring) |
| create_bot_scenario, update_bot_scenario | write — draft only, no visitor sees it |
| deploy_bot_scenario | publishes the bot to real visitors |
Every tool declares the scope it needs in its description, so a 403 tells the model exactly which
permission to ask for. Write tools carry MCP annotations — send_message is marked
readOnlyHint: false, destructiveHint: true so your client can require a human confirmation before
a message reaches a customer. deploy_bot_scenario carries the same annotation for the same reason:
publishing a scenario makes it, from that moment, the script every visitor on the selected channels
talks to. Authoring is deliberately a four-step pipeline — list_bot_blocks (learn the contract) →
validate_bot_graph (check without saving) → create_bot_scenario (draft) → deploy_bot_scenario
(publish). Skipping the first step is the most common cause of a bot that silently never runs, because
a guessed block name is not a valid block.
Boundaries worth knowing
- Team chat is the general channel only. Private groups and direct messages are not exposed — their membership belongs to a person, and an API key has no person behind it.
- The server decides, not this process. Plan tier, scopes, granted consent and tenant isolation
are enforced in nsupp's own gate. A model calling a tool has exactly the authority the token has,
never more; a
402 plan_requiredreaches the model verbatim instead of being smoothed over. - stdout carries protocol only. Diagnostics go to stderr.
Apache-2.0
