@usercase/mcp 0.2.10-next.1 → 0.2.10-next.3

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/agents/study.md CHANGED
@@ -6,7 +6,9 @@ The user wants the people to **take part in a research** from their Usercase das
6
6
  - If the status is not `deployed`, stop and tell the user: the site only offers deployed researches, so the visitors could not join it. They can deploy it in the dashboard and run this again.
7
7
  - If the Usercase SDK is not running on the site, stop — without it there is no research to join.
8
8
 
9
- Show the user the tasks in one short list before casting, so they know what the people will be asked to do.
9
+ Show the user the tasks in one short list before casting, so they know what the people will be asked to do — as information, not as a question. Then go straight on.
10
+
11
+ **The research decides what the visit is about — do not ask the user about it.** Not what the visitors should try, how far they should go, which tasks to cover or what to focus on: the participants get the research's tasks from the study panel and do what they would do. The only questions for the user are the ones the steps below always ask — demo accounts (if parts of the tasks need sign-in) and whether writes are sent — asked as those questions, in those words, and not merged with anything about the research. A task that needs a sign-in the visitors do not have is still run: what happens to a participant without an account is a result.
10
12
 
11
13
  **Step 3 — cast participants for this research.** Each person is someone who really comes to this site and who would accept this research's invitation — people its purpose is about. Their `goal` is still their own reason for being on the site, in their own words; **do not write the tasks into the goal or anywhere else**. The visitors read the tasks themselves in the study panel, as real participants do — a visitor told the task by you knows more than a participant would, and the research loses its value.
12
14
  - Vary them the way real participants vary: devices, how familiar they are with the site, patience, how carefully they read. Some will finish every task, some will get stuck — that is what the research is for.
package/mcp/server.js CHANGED
@@ -562,9 +562,20 @@ server.registerTool(
562
562
  description: "List the tasks of a Usercase research (from the dashboard) and whether each already has an expected path. Call first in the path procedure.",
563
563
  inputSchema: { research: z.string().describe("The research id, as shown in the dashboard command") },
564
564
  },
565
- wrap(async ({ research }) => text(await recorder.tasks(research))),
565
+ wrap(async ({ research }) => {
566
+ const out = await recorder.tasks(research);
567
+ // 리서치에 참여시키는 판(research=<id>)에서 그 리서치를 읽은 것이면 — 과제를 읽은 바로 이 자리에서 못 박는다.
568
+ // 지시문 중간의 규칙만으로는 "어느 과제까지 시킬까"를 사용자에게 물었다(10/30 라이브 bluetags, 로그인이 필요한 Follow 과제)
569
+ return text(run && run.research && run.research === String(research).trim() ? `${out}\n\n${STUDY_TASKS_NOTE}` : out);
570
+ }),
566
571
  );
567
572
 
573
+ const STUDY_TASKS_NOTE = [
574
+ "These are the tasks every participant in this run does — all of them, in order, from the study panel, whatever they ask (including tasks that need signing in or sending something). That is fixed by the research and is not the user's choice in this run.",
575
+ "Do not ask the user which tasks or actions the visitors should do, how far they should go, or what to focus on. Show these tasks to the user as a plain list for their information, then go straight on to casting.",
576
+ "The only questions for the user are the demo-account and writes questions the instructions give, each asked as its own question in its own words.",
577
+ ].join("\n");
578
+
568
579
  server.registerTool(
569
580
  "path_start",
570
581
  {
@@ -935,7 +946,8 @@ const COMMANDS = {
935
946
  },
936
947
  body: ({ url, count, focus, research }) => {
937
948
  const plan = researchPlan(count);
938
- run = { total: plan.total, since: Date.now() };
949
+ // research — 이 판이 참여하는 리서치. path_tasks 가 그 리서치를 읽을 때 과제를 고르지 말라고 덧붙인다
950
+ run = { total: plan.total, since: Date.now(), research: (research || "").trim() || null };
939
951
  // 사람 만드는 규칙은 우리 AI 로 만들 때와 같은 원본(people.md)에서 가져온다 — 두 벌로 두지 않는다.
940
952
  // 자유 탐방이라 원본이 말하는 "path" 는 "자기 목적으로 왔다" 뿐이다
941
953
  const rules =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usercase/mcp",
3
- "version": "0.2.10-next.1",
3
+ "version": "0.2.10-next.3",
4
4
  "description": "Virtual users that browse your website and tell you what they thought — an MCP server for Claude Code",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://usercase.io",