@rifts_to/mcp 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # rifts.to MCP server
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/@rifts_to/mcp)](https://www.npmjs.com/package/@rifts_to/mcp)
3
4
  [![CI](https://github.com/riftsto/mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/riftsto/mcp/actions/workflows/ci.yml)
4
5
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
5
6
 
@@ -21,6 +22,30 @@ own copy](#run-it-yourself) is supported too.
21
22
  - **`get_survey_results`**: returns a survey's questions and every response.
22
23
  - **`close_survey`**: stops a survey from accepting new responses. Reopening, retitling, and editing questions stay in the rifts.to admin dashboard, not here.
23
24
 
25
+ ### Optional and conditional questions
26
+
27
+ Every question defaults to required, exactly as it always has. A question can opt out of that with a `requirement` field:
28
+
29
+ ```json
30
+ { "type": "free_text", "text": "Anything else?",
31
+ "requirement": { "mode": "optional" } }
32
+ ```
33
+
34
+ ```json
35
+ { "type": "free_text", "text": "What kept you away?",
36
+ "requirement": {
37
+ "mode": "conditional",
38
+ "when": {
39
+ "op": "all",
40
+ "conditions": [{ "questionIndex": 0, "values": ["No"] }]
41
+ }
42
+ } }
43
+ ```
44
+
45
+ `questionIndex` is the 0-based position of an earlier question in the same `questions` array — questions have no separate id, so position is the only way to point at one — and it must name a `multiple_choice` question, since only those have a fixed set of `options` for `values` to match against. `op` is `"all"` for AND or `"any"` for OR across `conditions`.
46
+
47
+ Either mode changes only whether an answer is *required*, never whether the question is *shown*: a conditional question is always visible to every respondent, and just carries an "Optional" marker when it isn't currently required for them. This is not branching or skip logic.
48
+
24
49
  ## Hosted, with sign-in
25
50
 
26
51
  rifts.to runs this server at `https://mcp.rifts.to/mcp`. Add it as a remote MCP
@@ -34,7 +59,22 @@ Running it yourself, with a token you paste in, is the rest of this document.
34
59
 
35
60
  ## Run it yourself
36
61
 
37
- Not on npm yet, so clone this repository and build:
62
+ ```bash
63
+ npx @rifts_to/mcp
64
+ ```
65
+
66
+ Releases are published from CI with [npm provenance](https://docs.npmjs.com/generating-provenance-statements),
67
+ so each version on npm carries a signed attestation linking it to the commit
68
+ and workflow run that built it. You can check the one you installed:
69
+
70
+ ```bash
71
+ npm audit signatures
72
+ ```
73
+
74
+ Cutting a GitHub release triggers the publish; the tag has to match the version
75
+ in `package.json` or the run fails.
76
+
77
+ Building from source works too, and is the same code:
38
78
 
39
79
  ```bash
40
80
  git clone https://github.com/riftsto/mcp.git rifts-mcp
@@ -44,14 +84,6 @@ npm run build
44
84
  node dist/stdio.js
45
85
  ```
46
86
 
47
- When `@rifts_to/mcp` is published, `npx @rifts_to/mcp` will replace all of that,
48
- and every `node /path/to/...` below becomes `npx -y @rifts_to/mcp`.
49
-
50
- Releases are published from CI with [npm provenance](https://docs.npmjs.com/generating-provenance-statements),
51
- so each version on npm carries a signed attestation linking it to the commit
52
- and workflow run that built it. Cutting a GitHub release triggers the publish;
53
- the tag has to match the version in `package.json` or the run fails.
54
-
55
87
  The server reads its configuration from two environment variables:
56
88
 
57
89
  - `RIFTS_TOKEN` (required): your personal access token.
@@ -59,15 +91,14 @@ The server reads its configuration from two environment variables:
59
91
 
60
92
  ### Claude Desktop
61
93
 
62
- Add this to your `claude_desktop_config.json`, using the absolute path to your
63
- build:
94
+ Add this to your `claude_desktop_config.json`:
64
95
 
65
96
  ```json
66
97
  {
67
98
  "mcpServers": {
68
99
  "rifts": {
69
- "command": "node",
70
- "args": ["/path/to/rifts-mcp/dist/stdio.js"],
100
+ "command": "npx",
101
+ "args": ["-y", "@rifts_to/mcp"],
71
102
  "env": {
72
103
  "RIFTS_TOKEN": "your-token-here"
73
104
  }
@@ -76,10 +107,13 @@ build:
76
107
  }
77
108
  ```
78
109
 
110
+ Running from a clone instead means `"command": "node"` with
111
+ `"args": ["/path/to/rifts-mcp/dist/stdio.js"]`.
112
+
79
113
  ### Claude Code
80
114
 
81
115
  ```bash
82
- claude mcp add rifts -e RIFTS_TOKEN=your-token-here -- node /path/to/rifts-mcp/dist/stdio.js
116
+ claude mcp add rifts -e RIFTS_TOKEN=your-token-here -- npx -y @rifts_to/mcp
83
117
  ```
84
118
 
85
119
  Add `-s user` to make it available in every project instead of just the
package/dist/client.d.ts CHANGED
@@ -14,14 +14,49 @@
14
14
  */
15
15
  /** Public rifts.to. Overridable so a self-hoster can point at their own deploy. */
16
16
  export declare const DEFAULT_BASE_URL = "https://rifts.to";
17
+ /**
18
+ * Whether an answer is required. Absent (the historical default, and still
19
+ * what every existing survey means) is "always required". `optional` lets
20
+ * the respondent skip the question outright; `conditional` requires it only
21
+ * when an earlier multiple-choice answer matches `when`, and is optional
22
+ * otherwise. Neither mode hides the question — see the note on `when` below.
23
+ */
24
+ export type Requirement = RequirementOptional | RequirementConditional;
25
+ export interface RequirementOptional {
26
+ mode: "optional";
27
+ }
28
+ export interface RequirementConditional {
29
+ mode: "conditional";
30
+ when: ConditionGroup;
31
+ }
32
+ export interface ConditionGroup {
33
+ /** "all" is AND across `conditions`; "any" is OR. */
34
+ op: "all" | "any";
35
+ /** 1–5 conditions. */
36
+ conditions: Condition[];
37
+ }
38
+ export interface Condition {
39
+ /**
40
+ * 0-based position, in this same request's `questions` array, of the
41
+ * multiple-choice question this condition reads. Must be strictly less
42
+ * than the position of the question the condition belongs to — the server
43
+ * rejects anything else, which is also what makes a dependency cycle
44
+ * impossible to express.
45
+ */
46
+ questionIndex: number;
47
+ /** Matched by exact string equality against the trigger's `options`; OR'd. */
48
+ values: string[];
49
+ }
17
50
  export interface MultipleChoiceQuestionInput {
18
51
  type: "multiple_choice";
19
52
  text: string;
20
53
  options: string[];
54
+ requirement?: Requirement;
21
55
  }
22
56
  export interface FreeTextQuestionInput {
23
57
  type: "free_text";
24
58
  text: string;
59
+ requirement?: Requirement;
25
60
  }
26
61
  export interface RatingQuestionInput {
27
62
  type: "rating";
@@ -31,6 +66,7 @@ export interface RatingQuestionInput {
31
66
  min: number;
32
67
  max: number;
33
68
  };
69
+ requirement?: Requirement;
34
70
  }
35
71
  /** A question as sent to the API. No `index`: the server reindexes on write. */
36
72
  export type QuestionInput = MultipleChoiceQuestionInput | FreeTextQuestionInput | RatingQuestionInput;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED,gFAAgF;AAChF,MAAM,MAAM,aAAa,GACrB,2BAA2B,GAC3B,qBAAqB,GACrB,mBAAmB,CAAC;AAExB,qFAAqF;AACrF,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAM3D;AAED,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,OAAO,EAAE,kBAAkB;IASjC,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAevE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9D,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YAMrC,OAAO;CA0CtB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -110,6 +110,10 @@ export class RiftsClient {
110
110
  async function toApiError(response) {
111
111
  const { error, code } = await readErrorBody(response);
112
112
  switch (response.status) {
113
+ case 400: {
114
+ const readable = requirementErrorMessage(error);
115
+ return new RiftsApiError(readable ?? `rifts.to rejected the request (400)${suffix(error)}`, 400, code);
116
+ }
113
117
  case 401:
114
118
  return new RiftsApiError("rifts.to rejected the token (401). Check RIFTS_TOKEN: it may be mistyped, revoked, or from a different rifts.to deployment.", 401, code);
115
119
  case 403:
@@ -154,6 +158,35 @@ async function readErrorBody(response) {
154
158
  return {};
155
159
  }
156
160
  }
161
+ /**
162
+ * `validateQuestions` on the server answers a bad `requirement` with one of a
163
+ * fixed set of English strings. Turned into wording a model can act on
164
+ * instead of surfacing the validator's own vocabulary ("condition group",
165
+ * "trigger") verbatim. Returns `undefined` for a 400 this isn't — some other
166
+ * validation failure, or none of these rules applying — so the caller falls
167
+ * back to the generic message.
168
+ */
169
+ function requirementErrorMessage(error) {
170
+ if (!error)
171
+ return undefined;
172
+ const badMode = /^invalid requirement mode: (.+)$/.exec(error);
173
+ if (badMode) {
174
+ return `requirement.mode must be "optional" or "conditional", not "${badMode[1]}".`;
175
+ }
176
+ const badOption = /^a condition names an option that does not exist: (.+)$/.exec(error);
177
+ if (badOption) {
178
+ return `a condition's values must exactly match one of the trigger question's options; "${badOption[1]}" is not one of them.`;
179
+ }
180
+ const fixed = {
181
+ "a condition group must combine with all or any": 'when.op must be "all" (every condition must match) or "any" (at least one must match).',
182
+ "a conditional question needs at least one condition": "a conditional requirement's when.conditions must have at least one condition.",
183
+ "a question may have at most 5 conditions": "when.conditions can have at most 5 conditions.",
184
+ "a condition must point at an earlier question": "a condition's questionIndex must be the position of a question earlier in the questions array — it can't point at itself or at a later question.",
185
+ "a condition's trigger must be a multiple choice question": "a condition's questionIndex must point at a multiple_choice question; free_text and rating questions can't trigger one.",
186
+ "a condition must name at least one option": "a condition's values must list at least one of the trigger question's options.",
187
+ };
188
+ return fixed[error];
189
+ }
157
190
  const suffix = (error) => (error ? `: ${error}` : "");
158
191
  function errorMessage(value) {
159
192
  return value instanceof Error ? value.message : String(value);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -13,7 +13,7 @@ import type { RiftsClient } from "./client.js";
13
13
  */
14
14
  export declare const SERVER_NAME = "rifts";
15
15
  /** Kept in step with package.json by hand; nothing imports JSON at runtime. */
16
- export declare const SERVER_VERSION = "0.1.0";
16
+ export declare const SERVER_VERSION = "0.2.0";
17
17
  export declare function createServer(client: RiftsClient): McpServer;
18
18
  export { RiftsClient, RiftsApiError, DEFAULT_BASE_URL } from "./client.js";
19
19
  export type { CreateSurveyInput, CreatedSurvey, Question, QuestionInput, RiftsClientOptions, SurveyResults, SurveySummary, } from "./client.js";
package/dist/server.js CHANGED
@@ -13,7 +13,7 @@ import { registerTools } from "./tools.js";
13
13
  */
14
14
  export const SERVER_NAME = "rifts";
15
15
  /** Kept in step with package.json by hand; nothing imports JSON at runtime. */
16
- export const SERVER_VERSION = "0.1.0";
16
+ export const SERVER_VERSION = "0.2.0";
17
17
  export function createServer(client) {
18
18
  const server = new McpServer({
19
19
  name: SERVER_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAGV,WAAW,EAGZ,MAAM,aAAa,CAAC;AAqCrB,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA6H1E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAGV,WAAW,EAGZ,MAAM,aAAa,CAAC;AAmFrB,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA6H1E"}
package/dist/tools.js CHANGED
@@ -33,6 +33,35 @@ import { z } from "zod";
33
33
  const RATING_SCALE = { min: 1, max: 10 };
34
34
  /** Matches isValidCustomSlug in src/lib/slugs.ts. */
35
35
  const CUSTOM_SLUG = /^[a-z0-9]+(-[a-z0-9]+)*$/;
36
+ const conditionSchema = z.object({
37
+ questionIndex: z
38
+ .number()
39
+ .int()
40
+ .min(0)
41
+ .describe("The 0-based position, in this same `questions` array, of the multiple-choice question this condition reads — questions have no separate id or index field, position is the only way to refer to one. Must be strictly less than the position of the question this condition belongs to: a condition can only point at an earlier question, never itself or one that comes later. That rule is also why a dependency cycle can never be expressed."),
42
+ values: z
43
+ .array(z.string().min(1))
44
+ .min(1)
45
+ .describe("One or more strings, each matching one of the trigger question's `options` exactly. The condition is met if the respondent's answer is any of these (an OR within this one condition)."),
46
+ });
47
+ const requirementSchema = z
48
+ .discriminatedUnion("mode", [
49
+ z.object({ mode: z.literal("optional") }),
50
+ z.object({
51
+ mode: z.literal("conditional"),
52
+ when: z.object({
53
+ op: z
54
+ .enum(["all", "any"])
55
+ .describe('"all" requires every condition to match (AND); "any" requires at least one (OR).'),
56
+ conditions: z
57
+ .array(conditionSchema)
58
+ .min(1)
59
+ .max(5)
60
+ .describe("1 to 5 conditions, combined by `op`."),
61
+ }),
62
+ }),
63
+ ])
64
+ .describe("Whether an answer to this question is required. Omit this field entirely and the question is required, same as every question has always been — omitting it changes nothing for an existing caller. `optional` lets the respondent skip it outright. `conditional` requires an answer only when `when` matches the respondent's answer(s) to an earlier multiple-choice question; the rest of the time it is optional. Neither mode ever hides the question — this is not branching or skip logic, the question is always shown to every respondent, and only whether an answer is required changes. A question that is not currently required renders with an \"Optional\" marker that appears and disappears live as the trigger question is answered.");
36
65
  const questionSchema = z
37
66
  .discriminatedUnion("type", [
38
67
  z.object({
@@ -41,11 +70,13 @@ const questionSchema = z
41
70
  options: z
42
71
  .array(z.string().min(1))
43
72
  .min(1)
44
- .describe("The choices. Respondents pick exactly one."),
73
+ .describe("The choices. Respondents pick exactly one. Also the only values a later question's conditional `requirement` can name in `values` — and the only questions a later `requirement` can point at, since only multiple_choice questions can trigger one."),
74
+ requirement: requirementSchema.optional(),
45
75
  }),
46
76
  z.object({
47
77
  type: z.literal("free_text"),
48
78
  text: z.string().min(1).describe("The question, as the respondent reads it."),
79
+ requirement: requirementSchema.optional(),
49
80
  }),
50
81
  z.object({
51
82
  type: z.literal("rating"),
@@ -53,14 +84,15 @@ const questionSchema = z
53
84
  .string()
54
85
  .min(1)
55
86
  .describe("The question, as the respondent reads it. Answered on a 1-10 scale."),
87
+ requirement: requirementSchema.optional(),
56
88
  }),
57
89
  ])
58
- .describe("A single question. Questions are answered in the order given.");
90
+ .describe("A single question. Questions are answered in the order given, and that order is also what a `requirement.when.questionIndex` elsewhere in this array refers to.");
59
91
  /** Registers every tool on `server`. Split out so server.ts stays a wiring file. */
60
92
  export function registerTools(server, client) {
61
93
  server.registerTool("create_survey", {
62
94
  title: "Create a survey",
63
- description: "Create a live audience survey on rifts.to and get back the two links that run it: a public URL to share with the audience (anyone with the link can answer, no account or sign-in needed) and an admin URL that shows the results updating in real time. Questions can be multiple choice, free text, or a 1-10 rating, and are answered in the order given. Use this whenever someone wants to poll a room, run a quick vote, or collect open-ended feedback. The survey is open for responses immediately.",
95
+ description: "Create a live audience survey on rifts.to and get back the two links that run it: a public URL to share with the audience (anyone with the link can answer, no account or sign-in needed) and an admin URL that shows the results updating in real time. Questions can be multiple choice, free text, or a 1-10 rating, and are answered in the order given. Any question can be made optional, or required only when an earlier multiple-choice answer matches a condition — see each question's `requirement` field; every question stays visible either way. Use this whenever someone wants to poll a room, run a quick vote, or collect open-ended feedback. The survey is open for responses immediately.",
64
96
  inputSchema: {
65
97
  title: z
66
98
  .string()
@@ -115,7 +147,7 @@ export function registerTools(server, client) {
115
147
  }));
116
148
  server.registerTool("get_survey_results", {
117
149
  title: "Read survey results",
118
- description: "Read the answers to one of your surveys. Returns the questions with a summary of how they were answered: the tally per option for multiple choice, the average for ratings, and every free-text answer in full, plus the total response count and the survey's current status. Responses carry no respondent identity: rifts.to never records who answered, so results cannot be attributed to a person.",
150
+ description: "Read the answers to one of your surveys. Returns the questions with a summary of how they were answered: the tally per option for multiple choice, the average for ratings, and every free-text answer in full, plus the total response count and the survey's current status. A question marked optional or conditionally required can have fewer answers than the survey has responses; that's respondents skipping a question that wasn't required for them, not missing or lost data, and the summary says so. Responses carry no respondent identity: rifts.to never records who answered, so results cannot be attributed to a person.",
119
151
  inputSchema: {
120
152
  id: z
121
153
  .string()
@@ -199,10 +231,31 @@ function formatResults(results) {
199
231
  const answers = results.responses
200
232
  .map((r) => r.answers[String(question.index)])
201
233
  .filter((a) => a !== undefined && a !== null && a !== "");
202
- return [`Q${question.index + 1}. ${question.text}`, ...summarise(question, answers)].join("\n");
234
+ const label = requirementLabel(question.requirement);
235
+ const lines = [
236
+ `Q${question.index + 1}. ${question.text}${label ? ` (${label})` : ""}`,
237
+ ...summarise(question, answers),
238
+ ];
239
+ // Only a question that could ever be skipped gets this line: a question
240
+ // with no `requirement` is always required, so a shortfall there would be
241
+ // a real anomaly rather than the expected shape of optional answers.
242
+ const skipped = results.response_count - answers.length;
243
+ if (question.requirement && skipped > 0) {
244
+ lines.push(` (${plural(skipped, "response")} skipped this question — it wasn't required for them)`);
245
+ }
246
+ return lines.join("\n");
203
247
  });
204
248
  return [header.join("\n"), ...blocks].join("\n\n");
205
249
  }
250
+ /**
251
+ * A short, factual label — never "hidden" or "skipped" wording, since the
252
+ * question is shown to every respondent regardless of `requirement`.
253
+ */
254
+ function requirementLabel(requirement) {
255
+ if (!requirement)
256
+ return undefined;
257
+ return requirement.mode === "optional" ? "optional" : "required only for some respondents";
258
+ }
206
259
  function summarise(question, answers) {
207
260
  if (answers.length === 0)
208
261
  return [" (no answers)"];
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;GAKG;AACH,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAW,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAM,cAAc,GAAG,CAAC;KACrB,kBAAkB,CAAC,MAAM,EAAE;IAC1B,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAC7E,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,4CAA4C,CAAC;KAC1D,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KAC9E,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,qEAAqE,CAAC;KACnF,CAAC;CACH,CAAC;KACD,QAAQ,CAAC,+DAA+D,CAAC,CAAC;AAE7E,oFAAoF;AACpF,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,MAAmB;IAClE,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,8eAA8e;QAChf,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,2DAA2D,CAAC;YACxE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC5E,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,KAAK,CAAC,WAAW,EAAE,mDAAmD,CAAC;iBACvE,QAAQ,EAAE;iBACV,QAAQ,CACP,qKAAqK,CACtK;SACJ;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;KAClF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CACnC,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACvC,KAAK;YACL,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC,CAAC;QAEH,OAAO,MAAM,CACX;YACE,YAAY,MAAM,CAAC,KAAK,IAAI;YAC5B,EAAE;YACF,sCAAsC,MAAM,CAAC,GAAG,EAAE;YAClD,2BAA2B,MAAM,CAAC,SAAS,EAAE;YAC7C,EAAE;YACF,cAAc,MAAM,CAAC,EAAE,qDAAqD;SAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,MAA4C,CAC7C,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,oZAAoZ;QACtZ,WAAW,EAAE;YACX,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,sJAAsJ,CACvJ;YACH,cAAc,EAAE,CAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;SAC1E;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,CAC1C,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACvC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;YACvE,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAoB,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,0YAA0Y;QAC5Y,WAAW,EAAE;YACX,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,kIAAkI,CACnI;SACJ;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACf,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAA6C,CAAC,CAAC;IACvF,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,+QAA+Q;QACjR,WAAW,EAAE;YACX,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,6CAA6C,CAAC;SAC3D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACvG,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACf,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,MAAM,CACX,WAAW,MAAM,CAAC,EAAE,4FAA4F,EAChH,MAA4C,CAC7C,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAwC;IAC/D,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7F,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,iBAA0C;IACtE,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,sEAAsE;IACtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,GAAG,CAAC,OAAsC;IACvD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAwB;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,0DAA0D,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG;YACZ,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE;YAC9E,KAAK,CAAC,CAAC,GAAG,EAAE;SACb,CAAC;QACF,IAAI,CAAC,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,MAAM,MAAM,GAAG;QACb,IAAI,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,KAAK,MAAM,CAC9D,OAAO,CAAC,cAAc,EACtB,UAAU,CACX,EAAE;QACH,OAAO,CAAC,GAAG;KACZ,CAAC;IAEF,IAAI,OAAO,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChD,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE7F,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAChB,QAAkB,EAClB,OAAuC;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpD,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,OAAO,KAAK,SAAS;oBAAE,YAAY,EAAE,CAAC;;oBACrC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAC3B,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAClB,KAAK,MAAM,KAAK,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAC9D,CAAC;YACF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,MAAM,YAAY,+CAA+C,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAClE,OAAO;gBACL,aAAa,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,UAAU,MAAM,CAC/F,MAAM,CAAC,MAAM,EACb,QAAQ,CACT,EAAE;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAC/C,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAE/D,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rifts_to/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "rifts.to MCP server. Create live audience surveys and read their results from an AI client.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "RIFTS TO, LLC",