ScoreStory
Server Details
NPS, eNPS, CSAT and CES surveys with AI follow-up interviews: create, invite, read results.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
Each tool maps to a distinct action or resource in the survey lifecycle: creation/configuration, distribution, respondent listing, aggregate results, topic quotes, and transcripts. create_shared_link and invite_participant both produce links, but their descriptions clearly separate anonymous broad sharing from a single personal invitation; get_results, get_topic_quotes, and read_transcript differ by aggregation level.
All tool names follow a consistent snake_case verb_noun convention: add_theme, create_survey, get_results, list_respondents, read_transcript, and so on. There is no mixed casing, inconsistent verb style, or vague naming.
Ten tools are well-scoped for a survey platform, covering creation, configuration, distribution, respondent listing, and result retrieval without feeling thin or bloated. Each tool appears to earn its place in the workflow.
The core survey workflow is covered: create a survey, add themes, share or invite participants, list respondents, read transcripts, and get aggregate/topic results. Minor lifecycle gaps remain, such as no update_survey or delete_survey and only add_theme without update/remove theme operations, but core workflows are not blocked.
Available Tools
10 toolsadd_themeAdd theme to surveyCInspect
Add a theme the interviewer explores in this survey.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Short name of the theme, e.g. "Workload". | |
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. | |
| description | No | One sentence telling the interviewer what the theme is about. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the mutation/non-destructive profile is covered structurally. The description adds no behavioral context such as duplicate-name handling, permission requirements, or whether the theme is immediately visible to interviewers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste. It is efficient, though it may be underspecified rather than concise given the lack of usage and behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter mutation with full schema coverage and annotations, the description is minimally adequate. However, it omits prerequisites, duplicate behavior, and what 'theme' means in this product context, leaving meaningful gaps for an agent deciding whether and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (name, survey_id, description) are already documented with examples and constraints. The description only implies the survey scoping and does not add meaning beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add a theme') and scopes it to a survey, which distinguishes it from survey-level siblings like create_survey. It is clear but relies on the domain term 'theme' without explaining what a theme is beyond 'what the interviewer explores.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites (e.g., survey must already exist), and no reference to alternatives among siblings such as create_survey or get_survey. The phrase 'in this survey' only loosely implies the survey must pre-exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_surveyCreate surveyAInspect
Create a new survey. Nothing is sent to anyone yet: afterwards, share it with create_shared_link or invite_participant.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | One or two sentences on what the organisation wants to learn. The interviewer reads it to steer its questions. | |
| name | Yes | Name of the survey, e.g. "Helpdesk Q4". 1 to 255 characters. | |
| themes | No | Subjects the interviewer should explore, e.g. ["Communication", "Workload"]. Three to five is typical; add more later with add_theme. | |
| scale_max | No | Highest point of the scale, greater than scale_min. Required when metric_type is scale. | |
| scale_min | No | Lowest point of the scale. Required when metric_type is scale; the range scale_min..scale_max spans at most 20 points. | |
| metric_type | Yes | The score every interview opens with. One of: nps (Net Promoter Score), enps (employee NPS), csat (customer satisfaction), ces (customer effort score), scale (a custom numeric range, which needs scale_min and scale_max). | |
| interview_locale | Yes | Language the AI interviewer speaks. One of: nl, en, de, fr, es, it, pl, pt, or auto to follow each participant's browser language. | |
| anonymous_responses | No | If true, answers are never linked to who gave them, permanently. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is largely covered. The description adds genuine value beyond them by clarifying that creation alone has no external effect and that distribution is a separate explicit step. It does not mention whether the survey is editable or deletable afterwards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the constraint and the alternatives. Nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters fully documented in the schema and no output schema, the description need not explain fields or return values. The one minor gap is that it does not mention that the created survey's identifier is what you pass to the sharing tools, but the workflow intent is complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with metrics, locales, scale constraints and anonymity all documented inline. The description adds no parameter-level meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Create a new survey") and immediately separates it from the downstream sharing siblings by noting nothing is sent yet. An agent can distinguish this creation step from create_shared_link/invite_participant without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the follow-up tools (create_shared_link, invite_participant) and the condition under which they are needed, which gives clear sequencing guidance. It stops short of stating when a survey should be created at all, but the context is unambiguous for this workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultsGet survey resultsBRead-onlyInspect
What the survey found: the headline score and its breakdown, the written conclusion, and the topics people raised ranked by how many mentioned them, each with positive/negative counts and a few quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Which responses to include. One of: all_time, last_month, current_month, current_year, last_year, or an exact range of days as YYYY-MM-DD..YYYY-MM-DD (both ends inclusive). | all_time |
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the return shape (score, breakdown, conclusion, ranked themes with sentiment counts and quotes), which is genuinely useful given there's no output schema, but it says nothing about pagination, result size, or how the period parameter affects aggregation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with what the tool delivers, then enumerates components cleanly. No filler, though the trailing clause about quotes is somewhat long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values and does so thoroughly, listing each component. The main gap is any mention of how time filtering changes the aggregation, but for a read-only results tool this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters fully documented including the period enum-like values and range syntax, so baseline is 3. The description adds no supplementary meaning about survey_id or period behavior, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly conveys the resource (survey results) and enumerates exactly what comes back: headline score, breakdown, written conclusion, ranked topics with counts and quotes. It never uses an explicit verb like 'retrieve' and doesn't distinguish itself from sibling get_survey, but the content is specific enough that an agent knows precisely what this tool yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus get_survey, get_topic_quotes, or read_transcript, all of which overlap with survey/topic data. The description lists outputs but gives no selection criteria or prerequisites, leaving the agent to infer routing from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_surveyGet survey detailsARead-onlyInspect
The full configuration of one survey: metric and scale, interview language, goal, the themes the interviewer explores, the participant properties used to break results down, and which fields are locked because responses already exist.
| Name | Required | Description | Default |
|---|---|---|---|
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context — that some fields can be locked once responses exist — but says nothing about error behavior for a nonexistent ID or the shape of the returned configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the object and then enumerates the returned contents; each listed item is substantive configuration data rather than filler. Slightly list-heavy but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields (metric and scale, language, goal, themes, breakdown properties, locked fields), which is what an agent needs to decide whether to call it. Only minor gaps remain around failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter even documents its source ('as returned by list_surveys or create_survey'). The description adds no further meaning about survey_id, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('full configuration of one survey') and enumerates the contents, which makes it clearly distinct from list_surveys, get_results, and create_survey without naming them. It stops short of explicitly contrasting with a sibling, so a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the follow-up to list_surveys when the configuration of a single survey is needed. There is no explicit when-to-use/when-not-to-use statement or named alternative such as list_surveys for browsing many surveys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_topic_quotesGet quotes for a topicARead-onlyInspect
Quotes for one topic from get_results, with the speaker's score and stance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of quotes to return, 1 to 100. | |
| topic_id | Yes | ID of the topic, from a topic_id field in get_results. | |
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds that each quote carries a speaker score and stance, which is genuine payload context. It says nothing about ordering, whether quotes are sampled or exhaustive, or how the limit interacts with selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clause-dense sentence with no filler; the scoping ('one topic') and the provenance come first, then the returned fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return value, and it does so only partly: it names score and stance but not their ranges, the quote text field, or ordering/pagination behavior for the default limit of 12. For a read-only tool with fully described params this is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (limit, topic_id, survey_id) are already documented in-schema. The description mentions the topic scoping but adds no syntax, format, or edge-case detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (quotes for a single topic) and its provenance (from get_results), plus the distinguishing payload fields (speaker's score and stance). It separates this from get_results and read_transcript well, though it lacks an explicit verb and doesn't state that only one topic's quotes are returned per call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'from get_results' implies the prerequisite workflow (get a topic_id via get_results first), which is useful implied guidance. But there is no explicit when-to-use versus read_transcript (full transcript) or get_results (aggregate results), and no stated exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invite_participantCreate personal invitationAInspect
Create a personal invitation for one participant and return their private link, for you or the person to pass on. scorestory does not e-mail the link from here; the person can do that from the survey's Invite page.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The participant's name. Give an email, a name, or both. | |
| No | The participant's email address. Give an email, a name, or both. | ||
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. | |
| properties | No | Participant property values by property key, e.g. {"team": "Support"}. The keys are the survey's properties from get_survey; results can then be broken down by them. | |
| external_id | No | Your own identifier for the participant, e.g. an employee or customer number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is not read-only and not idempotent. The description adds important behavioral detail: no email is sent from this tool, and the return value is a private link. This goes beyond what annotations provide by clarifying the side effect and distribution expectation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and immediately followed by the key operational caveat (no email sent). No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains what is returned (a private link) and the key behavioral constraint (no email sent). Annotations cover idempotency and mutation semantics. Minor gap: it doesn't discuss rate limits or repeated invocation effects, but that is secondary for a simple creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (name, email, survey_id, properties, external_id) are fully documented in the schema. The description does not add any parameter-specific guidance beyond what the schema already states, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says exactly what the tool does: 'Create a personal invitation for one participant and return their private link.' It specifies the resource (personal invitation), scope (one participant), and output (private link). This clearly distinguishes it from sibling create_shared_link, which would not be personal or per-participant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how the link is meant to be used ('for you or the person to pass on') and explicitly notes that scorestory does not email the link, so the caller must distribute it via the survey's Invite page. It does not explicitly compare to alternatives like create_shared_link, but the context for when to use this tool is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_respondentsList respondentsARead-onlyInspect
The people who started this survey, newest first: their status, when, and their name/email where the survey is not anonymous.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Only return respondents with this status. One of: started (began but not finished), completed, abandoned. Omit to return everyone. | |
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavior the annotations do not: results are ordered newest first, and name/email are only populated when the survey is not anonymous — a data-redaction rule an agent could not otherwise predict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that puts the resource first and then the returned fields and ordering; no filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, non-destructive read with full schema coverage and no output schema, the description covers what is returned, how it is ordered, and the anonymity caveat. Nothing an agent needs to call it correctly or interpret the response is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the status parameter already enumerates started/completed/abandoned and explains the omit-for-everyone default, so the schema carries the parameter burden. The description adds nothing about parameter syntax or filtering semantics beyond what the schema states, which is the baseline case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource and its scope precisely: respondents who started a given survey, with the fields returned and their ordering. It does not distinguish itself from nearby siblings such as get_results or read_transcript, so an agent must infer that this returns metadata about people rather than answers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'the people who started this survey' — you call it to see who responded — but there is no explicit when-to-use, no statement of when to prefer get_results or read_transcript, and no prerequisites noted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_surveysList surveysARead-onlyInspect
List every survey in the workspace, newest first, with its metric, language and how many people have responded. Use this to find the survey a person means before calling anything survey-specific.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful behavior beyond that — default ordering (newest first) and the fields surfaced per survey — but says nothing about result size, pagination, or what happens in a workspace with many surveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The primary behavior and its key characteristics lead, with the usage guidance following immediately after.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input schema to explain and no output schema, the description carries the return-value burden and does so partly, naming four fields and the sort order. It remains silent on pagination or completeness of the list, which is the main residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to disambiguate; the baseline for a parameterless tool applies. The description correctly implies no input is needed by framing it as a workspace-wide enumeration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource ('List every survey in the workspace') plus scope details (newest-first ordering, returned fields: metric, language, respondent count). The closing clause positions it relative to survey-specific siblings, so an agent can distinguish it from get_survey/get_results without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it: 'to find the survey a person means before calling anything survey-specific', which establishes it as a discovery step preceding get_survey/get_results. It stops short of naming the alternative tools or stating when-not to use it, so it is clear context rather than a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_transcriptRead interview transcriptARead-onlyInspect
One participant's full interview: their score, the conversation turn by turn, the AI summary if there is one, and the topics found. This is personal data: show it only when the person asked for it.
| Name | Required | Description | Default |
|---|---|---|---|
| survey_id | Yes | ID of the survey, as returned by list_surveys or create_survey. | |
| respondent_id | Yes | ID of the respondent, as returned by list_respondents. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds valuable context by disclosing the returned components and flagging the personal-data sensitivity, though it does not discuss pagination or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences. The return contents are front-loaded, and the privacy warning follows immediately without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with two fully described parameters and no output schema, the description supplies the essential return contents and a critical privacy constraint. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both survey_id and respondent_id fully documented including where the IDs come from. The description does not add meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: one participant's full interview, listing score, conversation, summary, and topics. It implicitly distinguishes from aggregate siblings like get_results and get_topic_quotes, though it does not name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear privacy-driven condition: show it only when the person asked for it. That is a meaningful when-to-use rule, but it does not explicitly compare this tool to alternatives such as get_results or get_topic_quotes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- Changed
add_theme3 fields changed- added
Input schema / properties / description / descriptionAdded value: +"One sentence telling the interviewer what the theme is about." - added
Input schema / properties / name / descriptionAdded value: +"Short name of the theme, e.g. \"Workload\"." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
- Changed
create_shared_link4 fields changed- added
Input schema / properties / expires_at / descriptionAdded value: +"When the link stops working, as an ISO 8601 date-time, e.g. 2026-12-31T23:59:00+01:00. Omit for a link that does not expire." - added
Input schema / properties / label / descriptionAdded value: +"Name for the admin's own reference, e.g. \"QR code poster\". Participants do not see it. At most 120 characters." - added
Input schema / properties / max_uses / descriptionAdded value: +"How many participants may use the link before it closes. Omit for no limit." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
- Changed
create_survey8 fields changed- added
Input schema / properties / anonymous_responses / descriptionAdded value: +"If true, answers are never linked to who gave them, permanently." - added
Input schema / properties / goal / descriptionAdded value: +"One or two sentences on what the organisation wants to learn. The interviewer reads it to steer its questions." - added
Input schema / properties / interview_locale / descriptionAdded value: +"Language the AI interviewer speaks. One of: nl, en, de, fr, es, it, pl, pt, or auto to follow each participant's browser language." - added
Input schema / properties / metric_type / descriptionAdded value: +"The score every interview opens with. One of: nps (Net Promoter Score), enps (employee NPS), csat (customer satisfaction), ces (customer effort score), scale (a custom numeric range, which needs scale_min and scale_max)." - added
Input schema / properties / name / descriptionAdded value: +"Name of the survey, e.g. \"Helpdesk Q4\". 1 to 255 characters." - added
Input schema / properties / scale_max / descriptionAdded value: +"Highest point of the scale, greater than scale_min. Required when metric_type is scale." - added
Input schema / properties / scale_min / descriptionAdded value: +"Lowest point of the scale. Required when metric_type is scale; the range scale_min..scale_max spans at most 20 points." - added
Input schema / properties / themes / descriptionAdded value: +"Subjects the interviewer should explore, e.g. [\"Communication\", \"Workload\"]. Three to five is typical; add more later with add_theme."
- Changed
get_results2 fields changed- added
Input schema / properties / period / descriptionAdded value: +"Which responses to include. One of: all_time, last_month, current_month, current_year, last_year, or an exact range of days as YYYY-MM-DD..YYYY-MM-DD (both ends inclusive)." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
- Changed
get_survey1 field changed- added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
- Changed
get_topic_quotes3 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of quotes to return, 1 to 100." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey." - added
Input schema / properties / topic_id / descriptionAdded value: +"ID of the topic, from a topic_id field in get_results."
- Changed
invite_participant5 fields changed- added
Input schema / properties / email / descriptionAdded value: +"The participant's email address. Give an email, a name, or both." - added
Input schema / properties / external_id / descriptionAdded value: +"Your own identifier for the participant, e.g. an employee or customer number." - added
Input schema / properties / name / descriptionAdded value: +"The participant's name. Give an email, a name, or both." - added
Input schema / properties / properties / descriptionAdded value: +"Participant property values by property key, e.g. {\"team\": \"Support\"}. The keys are the survey's properties from get_survey; results can then be broken down by them." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
- Changed
list_respondents2 fields changed- added
Input schema / properties / status / descriptionAdded value: +"Only return respondents with this status. One of: started (began but not finished), completed, abandoned. Omit to return everyone." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
- Changed
read_transcript2 fields changed- added
Input schema / properties / respondent_id / descriptionAdded value: +"ID of the respondent, as returned by list_respondents." - added
Input schema / properties / survey_id / descriptionAdded value: +"ID of the survey, as returned by list_surveys or create_survey."
10 tool updates
- First observed
add_theme - First observed
create_shared_link - First observed
create_survey - First observed
get_results - First observed
get_survey - First observed
get_topic_quotes - First observed
invite_participant - First observed
list_respondents - First observed
list_surveys - First observed
read_transcript
Publisher details
- Operator
- ScoreStory BV (Amsterdam, the Netherlands) · Publisher source
- Operator website
- https://www.scorestory.eu/ · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://www.scorestory.eu/developers · Publisher source
- Trust center
- Not available
- Restrictions
- Requires a ScoreStory account (free plan for 10 participants; paid plans from €50 per month). Users authorise access with OAuth; the tools act within the user's own workspace and role. · Publisher source
Related MCP Connectors
Create, edit and publish surveys and AI interviews, then read responses and reports.
Employee surveys, performance reviews, recognition, and team pulse for AI assistants.
AI survey platform: create and publish surveys, collect responses, generate AI analysis reports.
Create, edit and publish surveys, then read results from your AI chat.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceLet agents list and run NPS/CSAT/CES/PMF surveys for your project and pull honest scores, responses, and share links.-
- AlicenseNot gradedqualityDmaintenanceMCP server for creating AI-moderated interviews and surveys, deployable with shareable links2MIT
- AlicenseCqualityCmaintenanceRun real user interviews from AI agents and retrieve structured insights with themes and verbatim quotes.516 npm5MIT
- FlicenseNot gradedqualityDmaintenanceAI-powered persona analysis and Focus Group Interview (FGI) system that creates dynamic personas from survey responses, generates contextual follow-up questions, tracks data freshness scores, and provides business insights on preferences and trends.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.