@qlm/learnlog-mcp 0.2.1 → 0.2.2

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/CHANGELOG.md CHANGED
@@ -1,6 +1,17 @@
1
1
  # Changelog
2
2
 
3
- ## 0.2.0 (not yet published)
3
+ ## 0.2.2 (October 25, 2026)
4
+
5
+ - The four skills stay at the class level: what to check first, the likely misconceptions, one teacher move and the worlds. They don't plan for an individual student, order lessons, or say what to do if a move doesn't work. Each learner's next move, and checking later that a fix held, is QLM's Q-core engine, which isn't part of this MCP.
6
+ - The Learning Commons skill names the argument `find_standard_statement` needs, `statementCode`. Without it an assistant could send `identifier` first and get "missing field `statementCode`".
7
+
8
+ ## 0.2.1 (October 24, 2026)
9
+
10
+ The first release on npm, as `@qlm/learnlog-mcp`. 0.2.0 was never published.
11
+
12
+ - README: what to do when Claude Desktop can't start the server because it can't find Node (an app opened from the Dock on a Mac gets no `PATH`).
13
+
14
+ ## 0.2.0 (not published)
4
15
 
5
16
  Misconceptions and LabPath worlds by default:
6
17
 
@@ -30,7 +41,7 @@ Every answer now fits what an assistant can take in at once (30,000 characters o
30
41
  - `qlm_learning_graph` shows 10 links per direction by default (was 25), each edge's first 8 concepts (with `concepts_total`), full standards only for the asked-about activity and standard codes for linked ones (`linked_mode_standards`). If a limit still wouldn't fit, it is lowered and `limit_lowered` says so. The most it accepts is 50 (was 200).
31
42
  - Any answer that still wouldn't fit is refused with its size and what to ask for instead.
32
43
 
33
- ## 0.1.0 (not yet published)
44
+ ## 0.1.0 (not published)
34
45
 
35
46
  First release. Six read-only tools over stdio:
36
47
 
package/README.md CHANGED
@@ -40,6 +40,20 @@ Add this to `claude_desktop_config.json` (Settings, Developer, Edit Config), the
40
40
  }
41
41
  ```
42
42
 
43
+ If Claude Desktop says the server failed to start, it probably can't find Node. On a Mac, an app opened from the Dock doesn't get your Terminal's `PATH`, and giving the full path to `npx` isn't enough on its own, because `npx` then looks for `node`. Run `which npx` in Terminal and use that folder in both places, for example with Homebrew:
44
+
45
+ ```json
46
+ {
47
+ "mcpServers": {
48
+ "learnlog": {
49
+ "command": "/opt/homebrew/bin/npx",
50
+ "args": ["-y", "@qlm/learnlog-mcp"],
51
+ "env": { "PATH": "/opt/homebrew/bin:/usr/bin:/bin" }
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
43
57
  Any MCP client that can start a command over stdio works the same way.
44
58
 
45
59
  ## Tools
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qlm/learnlog-mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Learnlog MCP: ask your AI assistant what learning records actually show about help. Read-only tools for Learnlog records, QLM credential verification, and QLM's public misconception and learning-graph datasets.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Kumar Srivastava <kumar@quantumlearningmachines.com> (https://quantumlearningmachines.com)",
@@ -36,3 +36,4 @@ Always finish here.
36
36
  2. **Name the likely beliefs.** Call `qlm_misconceptions` with words from the topic, and a domain when it's clear. For the top two or three matches give the student belief, one way to check for it (its diagnostic question when it has one), and its teacher intervention.
37
37
  3. **Suggest LabPath worlds.** Each match lists its `worlds`. Suggest them by name, with each world's link exactly as the tool gives it. Never write a link the tool didn't return. For a science topic, `qlm_learning_graph` on a world says what to do before and after it.
38
38
  4. **Say what this is.** These are research-based possibilities to check with the students, not a diagnosis of them.
39
+ 5. **Stay at the class level.** Answer for the class or group the data covers: what to check first, the likely misconceptions, one teacher move from QLM's dataset and the worlds to use. Don't plan for an individual student, put lessons in order, or say what to do if a move doesn't work. Each learner's next move, and checking later that a fix held, is QLM's Q-core engine. It isn't part of this MCP. If someone asks for that, say so in one line.
@@ -3,7 +3,7 @@ name: learnlog-export-to-action
3
3
  description: Take a tutoring or learning export (TutorMoments, OATutor, explicit help events, or a Sandpiper run), convert it to Learnlog on this computer, say what it records about help and what it can't show, then name likely misconceptions and the LabPath worlds that work on them.
4
4
  ---
5
5
 
6
- # From an export to the next teaching move
6
+ # From an export to what to check first
7
7
 
8
8
  Use this when someone gives you an export file, or asks what their logs say about help.
9
9
 
@@ -29,3 +29,4 @@ Always finish here.
29
29
  2. **Name the likely beliefs.** Call `qlm_misconceptions` with words from the topic, and a domain when it's clear. For the top two or three matches give the student belief, one way to check for it (its diagnostic question when it has one), and its teacher intervention.
30
30
  3. **Suggest LabPath worlds.** Each match lists its `worlds`. Suggest them by name, with each world's link exactly as the tool gives it. Never write a link the tool didn't return. For a science topic, `qlm_learning_graph` on a world says what to do before and after it.
31
31
  4. **Say what this is.** These are research-based possibilities to check with the students, not a diagnosis of them.
32
+ 5. **Stay at the class level.** Answer for the class or group the data covers: what to check first, the likely misconceptions, one teacher move from QLM's dataset and the worlds to use. Don't plan for an individual student, put lessons in order, or say what to do if a move doesn't work. Each learner's next move, and checking later that a fix held, is QLM's Q-core engine. It isn't part of this MCP. If someone asks for that, say so in one line.
@@ -3,20 +3,20 @@ name: learnlog-learning-commons
3
3
  description: Turn a standard or a skill students are struggling with into its learning components, the standards that come before it, the likely misconceptions and a concrete teacher move. Use with the Learning Commons Knowledge Graph MCP and the Learnlog MCP side by side.
4
4
  ---
5
5
 
6
- # Learning Commons + Learnlog: from a struggle to the next teaching move
6
+ # Learning Commons + Learnlog: from a struggle to what to check first
7
7
 
8
- Use this when someone names a standard (for example `7.RP.A.2` or `HS-PS2-1`) or describes what students are struggling with, and wants to know what to teach next.
8
+ Use this when someone names a standard (for example `7.RP.A.2` or `HS-PS2-1`) or describes what students are struggling with, and wants to know what to check first across the class.
9
9
 
10
10
  ## What you need
11
11
  - The Learning Commons Knowledge Graph MCP (`https://kg.mcp.learningcommons.org/mcp`, an API key from Learning Commons, sent as the `x-api-key` header). It is in early access, so tool names may change.
12
12
  - The Learnlog MCP (`npx -y @qlm/learnlog-mcp`).
13
13
 
14
14
  ## Steps
15
- 1. **Pin the standard.** Call Learning Commons `find_standard_statement` with the code. If the person described a struggle instead of a code, propose the most likely code and say it is your proposal. Keep the returned `caseIdentifierUUID`.
15
+ 1. **Pin the standard.** Call Learning Commons `find_standard_statement` with `statementCode` set to the code (for example `"7.RP.A.2"`). If the person described a struggle instead of a code, propose the most likely code and say it is your proposal. Keep the returned `caseIdentifierUUID`.
16
16
  2. **Break it down (math).** Call `find_learning_components_from_standard` with that UUID. Learning components are available for math and K-2 ELA. For any other standard, say plainly that Learning Commons has no components for it.
17
17
  3. **Look back (math).** Call `find_standards_progression_from_standard` with `direction: "backward"` to find unfinished learning that may sit underneath. Progressions are math only.
18
18
  4. **Find the activities (science).** For a science standard, call Learnlog `qlm_learning_graph` with `standard` set to the code, to find the LabPath worlds aligned to it and what comes before and after them.
19
- 5. Finish with the last section below, using the standard and its components as the topic. Answer as a plan for the teacher: the standard in its official words, its components, what to check first, the likely misconception, one concrete move, the worlds to use, and what to revisit if it doesn't stick.
19
+ 5. Finish with the last section below, using the standard and its components as the topic. Answer for the class: the standard in its official words, its components, the earlier standards that may sit underneath, what to check first, the likely misconception, one teacher move and the worlds to use.
20
20
 
21
21
  ## Keep these straight
22
22
  - Learning Commons gives standards, components and progressions. QLM's dataset gives misconceptions and teacher moves. Say which source each part came from.
@@ -31,3 +31,4 @@ Always finish here.
31
31
  2. **Name the likely beliefs.** Call `qlm_misconceptions` with words from the topic, and a domain when it's clear. For the top two or three matches give the student belief, one way to check for it (its diagnostic question when it has one), and its teacher intervention.
32
32
  3. **Suggest LabPath worlds.** Each match lists its `worlds`. Suggest them by name, with each world's link exactly as the tool gives it. Never write a link the tool didn't return. For a science topic, `qlm_learning_graph` on a world says what to do before and after it.
33
33
  4. **Say what this is.** These are research-based possibilities to check with the students, not a diagnosis of them.
34
+ 5. **Stay at the class level.** Answer for the class or group the data covers: what to check first, the likely misconceptions, one teacher move from QLM's dataset and the worlds to use. Don't plan for an individual student, put lessons in order, or say what to do if a move doesn't work. Each learner's next move, and checking later that a fix held, is QLM's Q-core engine. It isn't part of this MCP. If someone asks for that, say so in one line.
@@ -29,3 +29,4 @@ Always finish here.
29
29
  2. **Name the likely beliefs.** Call `qlm_misconceptions` with words from the topic, and a domain when it's clear. For the top two or three matches give the student belief, one way to check for it (its diagnostic question when it has one), and its teacher intervention.
30
30
  3. **Suggest LabPath worlds.** Each match lists its `worlds`. Suggest them by name, with each world's link exactly as the tool gives it. Never write a link the tool didn't return. For a science topic, `qlm_learning_graph` on a world says what to do before and after it.
31
31
  4. **Say what this is.** These are research-based possibilities to check with the students, not a diagnosis of them.
32
+ 5. **Stay at the class level.** Answer for the class or group the data covers: what to check first, the likely misconceptions, one teacher move from QLM's dataset and the worlds to use. Don't plan for an individual student, put lessons in order, or say what to do if a move doesn't work. Each learner's next move, and checking later that a fix held, is QLM's Q-core engine. It isn't part of this MCP. If someone asks for that, say so in one line.