Sasha MCP reference

suggestImprovement

Suggest an improvement

Suggest an improvement to Sasha. Feature ideas are wanted: if a tool would have made your task easier, say so. File one call per distinct issue, at the moment you hit it. Do not batch a session into one report. Do not use this for a knowledge-content problem that a write tool can fix. Before you file severity "blocking", corroborate the mechanism against document bytes or tool results, not memory. A failed filing never blocks your main task; try once more near the end if it still matters. Returns an id. Call checkSuggestion with that id in a later session to see what happened.

Arguments

ArgumentTypeRequiredDescription
kindenum (feature, bug, friction, docs)requiredfeature | bug | friction | docs
summarystringrequiredOne line, 10 to 300 characters
detailstringoptionalWhat you tried, what happened, what you expected. At most 2 KiB.
toolNamestringoptionalThe tool this is about, if any, named exactly as this server publishes it (for example app__time_sheet_entry__entries__create). Your client's own prefix is accepted.
projectstringoptionalThe project this is about, if any
severityenum (blocking, major, minor)optionalblocking | major | minor

Scopes

None. Any authenticated connection can call it.

Annotations

  • Read only: no
  • Destructive: no

When to use

Call suggestImprovement at the moment a tool, a limit or a document layout gets in your way. Feature ideas are wanted: if a tool would have made your task easier, say so.

It needs no scope. Any authenticated connection can call it, including a member's.

  • File one call for each distinct issue. Do not put a whole session into one report.
  • kind is feature, bug, friction or docs.
  • summary is one line of 10 to 300 characters.
  • detail is optional, at most 2 KiB: what you tried, what happened, what you expected.
  • toolName is optional. Name the tool as this server publishes it, for example readDoc. A name with your client's own prefix is also accepted. It must start with a letter, hold only letters, digits, _ and -, and have at most 128 characters.
  • project is optional, at most 200 characters. It is kept only when this person can see that project. If not, the suggestion is still recorded, without the project.
  • severity is optional: blocking, major or minor. Before you file blocking, check the cause against document text or tool results, not memory.
  • Do not use this tool for a problem in the knowledge content that a write tool can fix.
  • A failed filing never blocks your main task. If it still matters, try once more near the end of the session.

Example

{
  "kind": "feature",
  "summary": "searchKnowledge should return every matching line in a file, not only the first",
  "detail": "I searched northwind-advisory for 'discount'. pricing-policy.md mentions discounts on several lines, but only the first line came back, so I had to read the whole document to find the approval rule.",
  "toolName": "searchKnowledge",
  "project": "northwind-advisory",
  "severity": "minor"
}
{ "id": "sug_4f1c9a2e7b3d5a6c8e0f1b2d", "status": "received" }

The status field tells you what happened:

  • received: the suggestion is recorded. Keep the id and call checkSuggestion with it in a later session.
  • duplicate: this connection filed the same summary in the last hour. The result holds the id of that earlier suggestion. Nothing new is recorded.
  • rate-limited: this connection or this person filed 20 suggestions in the last hour. The result has retryable: true and retryAfterSeconds: 3600. Try again later.
  • not-recorded: the instance could not save it. The result has retryable: true. Try once more near the end of the session.
{ "status": "rate-limited", "retryable": true, "retryAfterSeconds": 3600 }

Refusals and what to do

  • A kind or severity outside the lists, a summary shorter than 10 or longer than 300 characters, a detail longer than 2 KiB, a project longer than 200 characters, or a toolName that does not start with a letter, has characters other than letters, digits, _ and -, or is longer than 128 characters is refused as invalid arguments. Correct the value and call again.
  • rate-limited and not-recorded are answers, not errors. Continue your main task.

Related

  • checkSuggestion reads the status of a suggestion by its id.
  • getDocs has an improvements section that lists the dispositions.
made with bernard

Cookie settings