paput-mcp 3.3.3 → 4.0.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.
Files changed (103) hide show
  1. package/README.md +88 -67
  2. package/dist/cli/index.js +5 -29
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/login.js +1 -1
  5. package/dist/cli/login.js.map +1 -1
  6. package/dist/cli/logout.js +3 -3
  7. package/dist/cli/logout.js.map +1 -1
  8. package/dist/cli/rules/paput-knowledge-capture.md +1 -1
  9. package/dist/cli/skills/paput-analyze-discard-policy/SKILL.md +3 -3
  10. package/dist/cli/skills/paput-capture/SKILL.md +1 -1
  11. package/dist/cli/skills/paput-init/SKILL.md +58 -9
  12. package/dist/handlers/add-knowledge-candidates/handler.js +49 -21
  13. package/dist/handlers/add-knowledge-candidates/handler.js.map +1 -1
  14. package/dist/handlers/add-knowledge-candidates/tool.js +1 -1
  15. package/dist/handlers/add-knowledge-candidates/tool.js.map +1 -1
  16. package/dist/handlers/discard-pending-candidate/handler.js +6 -21
  17. package/dist/handlers/discard-pending-candidate/handler.js.map +1 -1
  18. package/dist/handlers/get-capture-policy/handler.js +3 -3
  19. package/dist/handlers/get-capture-policy/handler.js.map +1 -1
  20. package/dist/handlers/get-capture-policy/tool.js +1 -1
  21. package/dist/handlers/get-capture-policy/tool.js.map +1 -1
  22. package/dist/handlers/get-discard-policy-context/handler.js +3 -11
  23. package/dist/handlers/get-discard-policy-context/handler.js.map +1 -1
  24. package/dist/handlers/get-discard-policy-context/tool.js +1 -1
  25. package/dist/handlers/get-discard-policy-context/tool.js.map +1 -1
  26. package/dist/handlers/get-project-context/handler.js +7 -9
  27. package/dist/handlers/get-project-context/handler.js.map +1 -1
  28. package/dist/handlers/get-project-context/tool.js +2 -2
  29. package/dist/handlers/get-project-context/tool.js.map +1 -1
  30. package/dist/handlers/index.js +4 -3
  31. package/dist/handlers/index.js.map +1 -1
  32. package/dist/handlers/list-pending-candidates/handler.js +6 -9
  33. package/dist/handlers/list-pending-candidates/handler.js.map +1 -1
  34. package/dist/handlers/list-processed-sessions/handler.js +18 -0
  35. package/dist/handlers/list-processed-sessions/handler.js.map +1 -0
  36. package/dist/handlers/list-processed-sessions/index.js +3 -0
  37. package/dist/handlers/list-processed-sessions/index.js.map +1 -0
  38. package/dist/handlers/list-processed-sessions/tool.js +19 -0
  39. package/dist/handlers/list-processed-sessions/tool.js.map +1 -0
  40. package/dist/handlers/mark-processed-session/handler.js +37 -0
  41. package/dist/handlers/mark-processed-session/handler.js.map +1 -0
  42. package/dist/handlers/mark-processed-session/index.js +3 -0
  43. package/dist/handlers/mark-processed-session/index.js.map +1 -0
  44. package/dist/handlers/mark-processed-session/tool.js +28 -0
  45. package/dist/handlers/mark-processed-session/tool.js.map +1 -0
  46. package/dist/handlers/memo-projects.js +19 -5
  47. package/dist/handlers/memo-projects.js.map +1 -1
  48. package/dist/handlers/save-pending-candidate/handler.js +84 -31
  49. package/dist/handlers/save-pending-candidate/handler.js.map +1 -1
  50. package/dist/handlers/save-pending-candidate/tool.js +4 -0
  51. package/dist/handlers/save-pending-candidate/tool.js.map +1 -1
  52. package/dist/handlers/scan-sessions/handler.js +4 -2
  53. package/dist/handlers/scan-sessions/handler.js.map +1 -1
  54. package/dist/handlers/update-capture-policy/handler.js +3 -3
  55. package/dist/handlers/update-capture-policy/handler.js.map +1 -1
  56. package/dist/handlers/update-capture-policy/tool.js +2 -2
  57. package/dist/handlers/update-capture-policy/tool.js.map +1 -1
  58. package/dist/handlers/update-memo/handler.js +1 -1
  59. package/dist/handlers/update-memo/handler.js.map +1 -1
  60. package/dist/handlers/update-pending-candidate/handler.js +90 -0
  61. package/dist/handlers/update-pending-candidate/handler.js.map +1 -0
  62. package/dist/handlers/update-pending-candidate/index.js +3 -0
  63. package/dist/handlers/update-pending-candidate/index.js.map +1 -0
  64. package/dist/handlers/update-pending-candidate/tool.js +51 -0
  65. package/dist/handlers/update-pending-candidate/tool.js.map +1 -0
  66. package/dist/handlers/update-project-document/handler.js +61 -0
  67. package/dist/handlers/update-project-document/handler.js.map +1 -0
  68. package/dist/handlers/update-project-document/index.js +3 -0
  69. package/dist/handlers/update-project-document/index.js.map +1 -0
  70. package/dist/handlers/update-project-document/tool.js +31 -0
  71. package/dist/handlers/update-project-document/tool.js.map +1 -0
  72. package/dist/handlers/upsert-skill-sheet-project/handler.js +3 -0
  73. package/dist/handlers/upsert-skill-sheet-project/handler.js.map +1 -1
  74. package/dist/handlers/upsert-skill-sheet-project/tool.js +4 -0
  75. package/dist/handlers/upsert-skill-sheet-project/tool.js.map +1 -1
  76. package/dist/http.js +67 -21
  77. package/dist/http.js.map +1 -1
  78. package/dist/index.js +2 -9
  79. package/dist/index.js.map +1 -1
  80. package/dist/schemas/tool-input.js +65 -21
  81. package/dist/schemas/tool-input.js.map +1 -1
  82. package/dist/server.js +3 -17
  83. package/dist/server.js.map +1 -1
  84. package/dist/services/api/client.js +2 -3
  85. package/dist/services/api/client.js.map +1 -1
  86. package/dist/services/api/index.js +1 -0
  87. package/dist/services/api/index.js.map +1 -1
  88. package/dist/services/api/knowledge-candidate.js +44 -0
  89. package/dist/services/api/knowledge-candidate.js.map +1 -0
  90. package/dist/services/api/project-context.js +9 -1
  91. package/dist/services/api/project-context.js.map +1 -1
  92. package/dist/services/api/skill-sheet.js +5 -0
  93. package/dist/services/api/skill-sheet.js.map +1 -1
  94. package/dist/services/session/index.js +2 -3
  95. package/dist/services/session/index.js.map +1 -1
  96. package/dist/tool.js +37 -23
  97. package/dist/tool.js.map +1 -1
  98. package/docs/directory-submission.md +5 -5
  99. package/docs/privacy-policy.md +22 -12
  100. package/docs/reviewer-guide.md +13 -4
  101. package/docs/tools.md +61 -21
  102. package/docs/usage-examples.md +13 -12
  103. package/package.json +7 -3
@@ -1,6 +1,11 @@
1
1
  export async function getProjectContext(client, project) {
2
2
  const queryParams = new URLSearchParams();
3
- queryParams.append('project', project);
3
+ if (typeof project === 'string') {
4
+ queryParams.append('project', project);
5
+ }
6
+ else {
7
+ queryParams.append('project_id', String(project.project_id));
8
+ }
4
9
  return client.get(`/api/v1/mcp/project-context?${queryParams.toString()}`);
5
10
  }
6
11
  export async function getProjectDocument(client, id) {
@@ -9,6 +14,9 @@ export async function getProjectDocument(client, id) {
9
14
  export async function addProjectDocument(client, params) {
10
15
  return client.post('/api/v1/mcp/project-document', params);
11
16
  }
17
+ export async function updateProjectDocument(client, params) {
18
+ return client.put('/api/v1/mcp/project-document', params);
19
+ }
12
20
  export async function updateProjectInstructions(client, params) {
13
21
  return client.put('/api/v1/mcp/project-instructions', params);
14
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/services/api/project-context.ts"],"names":[],"mappings":"AAoEA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB,EACjB,OAAe;IAEf,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC,GAAG,CACf,+BAA+B,WAAW,CAAC,QAAQ,EAAE,EAAE,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,EAAU;IAEV,OAAO,MAAM,CAAC,GAAG,CACf,gCAAgC,EAAE,EAAE,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,MAAgC;IAEhC,OAAO,MAAM,CAAC,IAAI,CAChB,8BAA8B,EAC9B,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAiB,EACjB,MAAwD;IAExD,OAAO,MAAM,CAAC,GAAG,CACf,kCAAkC,EAClC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAiB,EACjB,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CACf,sCAAsC,EACtC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAiB,EACjB,MAA8C;IAE9C,OAAO,MAAM,CAAC,GAAG,CACf,uCAAuC,EACvC,MAAM,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/services/api/project-context.ts"],"names":[],"mappings":"AA2EA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB,EACjB,OAAwC;IAExC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CACf,+BAA+B,WAAW,CAAC,QAAQ,EAAE,EAAE,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,EAAU;IAEV,OAAO,MAAM,CAAC,GAAG,CACf,gCAAgC,EAAE,EAAE,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,MAAgC;IAEhC,OAAO,MAAM,CAAC,IAAI,CAChB,8BAA8B,EAC9B,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAiB,EACjB,MAAmC;IAEnC,OAAO,MAAM,CAAC,GAAG,CACf,8BAA8B,EAC9B,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAiB,EACjB,MAAwD;IAExD,OAAO,MAAM,CAAC,GAAG,CACf,kCAAkC,EAClC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAiB,EACjB,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CACf,sCAAsC,EACtC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAiB,EACjB,MAA8C;IAE9C,OAAO,MAAM,CAAC,GAAG,CACf,uCAAuC,EACvC,MAAM,CACP,CAAC;AACJ,CAAC"}
@@ -9,6 +9,11 @@ export async function searchSkillSheetProjects(client, search) {
9
9
  const endpoint = `/api/v1/mcp/skill-sheet/projects?search=${encodeURIComponent(search)}`;
10
10
  return client.get(endpoint);
11
11
  }
12
+ export async function getSkillSheetProjectByAlias(client, alias) {
13
+ const endpoint = `/api/v1/mcp/skill-sheet/projects?mcp_alias=${encodeURIComponent(alias)}`;
14
+ const projects = await client.get(endpoint);
15
+ return projects[0];
16
+ }
12
17
  export async function createSkillSheet(client, params) {
13
18
  try {
14
19
  const data = await client.post('/api/v1/mcp/skill-sheet', {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-sheet.js","sourceRoot":"","sources":["../../../src/services/api/skill-sheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-sheet.js","sourceRoot":"","sources":["../../../src/services/api/skill-sheet.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { basename, join } from 'node:path';
4
- import { readCache } from '../local-cache/index.js';
5
- export function scanSessions(sources = ['claude', 'codex'], includeProcessed = false) {
6
- const processed = new Set(readCache().sessions.map((session) => `${session.source}:${session.session_id}`));
4
+ export function scanSessions(sources = ['claude', 'codex'], includeProcessed = false, processedSessions = []) {
5
+ const processed = new Set(processedSessions.map((session) => `${session.source}:${session.session_id}`));
7
6
  const sessions = sources.flatMap((source) => {
8
7
  const paths = source === 'claude' ? findClaudeSessionFiles() : findCodexSessionFiles();
9
8
  return paths.map((path) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/session/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAc3C,MAAM,UAAU,YAAY,CAC1B,UAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC9C,gBAAgB,GAAG,KAAK,EACxB,oBAAwC,EAAE;IAE1C,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,iBAAiB,CAAC,GAAG,CACnB,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CACvD,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,KAAK,GACT,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO;gBACL,UAAU,EAAE,SAAS;gBACrB,MAAM;gBACN,IAAI;gBACJ,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;gBACjC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC9C,aAAa,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM;gBACvD,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;aACnD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,IAAY;IAEZ,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,GAAG,GACP,MAAM,KAAK,OAAO;gBAChB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;oBACtB,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACjC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,SAAiB,EACjB,QAAQ,GAAG,KAAK;IAEhB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CACxC,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ;SACxB,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,OAAO,CAAC,IAAI,EAAE,CACxE;SACA,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,IAAY;IAEZ,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgB,EAChB,IAA0B;IAE1B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,OAAO;SACX,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAkB,CAAC;QAClC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC3D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YACjE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAClE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAC5D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,MAAkB,EAAE,IAAc;IACjD,IAAI,OAAO,GAAY,MAAM,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
package/dist/tool.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
2
2
  import { createApiClient } from './services/api/index.js';
3
3
  import { getGeneratedInputSchema, getToolInputZodSchema, } from './schemas/tool-input.js';
4
- import { createMemosTool, searchMemoTool, findSimilarMemosTool, backfillMemoEmbeddingsTool, getMemoTool, updateMemoTool, getCategoriesTool, createNoteTool, searchNotesTool, getNoteTool, updateNoteTool, getSkillSheetTool, updateSkillSheetBasicInfoTool, updateSkillSheetSelfPrTool, updateSkillSheetPublicProfileTool, setSkillSheetSkillsTool, upsertSkillSheetProjectTool, deleteSkillSheetProjectTool, getSkillSheetProjectSummaryContextTool, updateSkillSheetProjectAiSummaryTool, listGoalsTool, createGoalTool, updateGoalTool, deleteGoalTool, getDashboardAnalysisTool, updateDashboardAnalysisTool, getDashboardAnalysisContextTool, getPublicProfileContextTool, getProjectContextTool, getProjectDocumentTool, addProjectDocumentTool, updateProjectInstructionsTool, discardProjectProposalTool, promoteProjectDocumentsTool, cacheStatusTool, scanSessionsTool, getSessionTranscriptTool, addKnowledgeCandidatesTool, listPendingCandidatesTool, savePendingCandidateTool, discardPendingCandidateTool, getCapturePolicyTool, getDiscardPolicyContextTool, updateCapturePolicyTool, } from './handlers/index.js';
4
+ import { createMemosTool, searchMemoTool, findSimilarMemosTool, backfillMemoEmbeddingsTool, getMemoTool, updateMemoTool, getCategoriesTool, createNoteTool, searchNotesTool, getNoteTool, updateNoteTool, getSkillSheetTool, updateSkillSheetBasicInfoTool, updateSkillSheetSelfPrTool, updateSkillSheetPublicProfileTool, setSkillSheetSkillsTool, upsertSkillSheetProjectTool, deleteSkillSheetProjectTool, getSkillSheetProjectSummaryContextTool, updateSkillSheetProjectAiSummaryTool, listGoalsTool, createGoalTool, updateGoalTool, deleteGoalTool, getDashboardAnalysisTool, updateDashboardAnalysisTool, getDashboardAnalysisContextTool, getPublicProfileContextTool, getProjectContextTool, getProjectDocumentTool, addProjectDocumentTool, updateProjectDocumentTool, updateProjectInstructionsTool, discardProjectProposalTool, promoteProjectDocumentsTool, addKnowledgeCandidatesTool, listProcessedSessionsTool, markProcessedSessionTool, listPendingCandidatesTool, updatePendingCandidateTool, savePendingCandidateTool, discardPendingCandidateTool, getCapturePolicyTool, getDiscardPolicyContextTool, updateCapturePolicyTool, } from './handlers/index.js';
5
5
  export function setupTool(server, apiUrl, accessToken, context = {}, registeredToolsOptions = {}) {
6
6
  const apiClient = createApiClient(apiUrl, accessToken);
7
- const tools = getRegisteredTools(registeredToolsOptions);
7
+ const projectContextConfigured = Boolean(context.projectId);
8
+ const tools = getRegisteredTools({
9
+ ...registeredToolsOptions,
10
+ projectContextConfigured,
11
+ });
8
12
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
9
13
  tools: tools.map((tool) => tool.definition),
10
14
  }));
@@ -81,7 +85,7 @@ export function setupTool(server, apiUrl, accessToken, context = {}, registeredT
81
85
  });
82
86
  }
83
87
  export function getRegisteredTools(options = {}) {
84
- const includeLocalTools = options.includeLocalTools ?? true;
88
+ const projectContextConfigured = options.projectContextConfigured ?? false;
85
89
  const tools = [
86
90
  createMemosTool,
87
91
  searchMemoTool,
@@ -114,14 +118,15 @@ export function getRegisteredTools(options = {}) {
114
118
  getProjectContextTool,
115
119
  getProjectDocumentTool,
116
120
  addProjectDocumentTool,
121
+ updateProjectDocumentTool,
117
122
  updateProjectInstructionsTool,
118
123
  discardProjectProposalTool,
119
124
  promoteProjectDocumentsTool,
120
- cacheStatusTool,
121
- scanSessionsTool,
122
- getSessionTranscriptTool,
123
125
  addKnowledgeCandidatesTool,
126
+ listProcessedSessionsTool,
127
+ markProcessedSessionTool,
124
128
  listPendingCandidatesTool,
129
+ updatePendingCandidateTool,
125
130
  savePendingCandidateTool,
126
131
  discardPendingCandidateTool,
127
132
  getCapturePolicyTool,
@@ -129,8 +134,29 @@ export function getRegisteredTools(options = {}) {
129
134
  updateCapturePolicyTool,
130
135
  ];
131
136
  return tools
132
- .filter((tool) => includeLocalTools || !isLocalOnlyTool(tool.definition.name))
133
- .map(withToolAnnotations);
137
+ .map(withToolAnnotations)
138
+ .map((tool) => projectContextConfigured ? withConfiguredProjectContext(tool) : tool);
139
+ }
140
+ const PROJECT_CONTEXT_CONFIGURED_DESCRIPTION = 'Get the private project context (always-applied instructions and an index of accumulated project documents) for the configured project. The project is resolved automatically from the MCP URL project_alias, so call this with no arguments at session start. Document bodies are not included; fetch them on demand with paput_get_project_document.';
141
+ function withConfiguredProjectContext(tool) {
142
+ if (tool.definition.name !== 'paput_get_project_context')
143
+ return tool;
144
+ const schema = tool.definition.inputSchema;
145
+ const properties = isJsonSchemaObject(schema) && isPropertyMap(schema.properties)
146
+ ? { ...schema.properties }
147
+ : {};
148
+ delete properties.project;
149
+ return {
150
+ ...tool,
151
+ definition: {
152
+ ...tool.definition,
153
+ description: PROJECT_CONTEXT_CONFIGURED_DESCRIPTION,
154
+ inputSchema: {
155
+ type: 'object',
156
+ properties,
157
+ },
158
+ },
159
+ };
134
160
  }
135
161
  function withToolAnnotations(tool) {
136
162
  const name = tool.definition.name;
@@ -220,13 +246,13 @@ function isReadOnlyTool(name) {
220
246
  name.includes('_search_') ||
221
247
  name.includes('_list_') ||
222
248
  name === 'paput_get_categories' ||
223
- name === 'paput_cache_status' ||
224
- name === 'paput_scan_sessions' ||
225
249
  name === 'paput_get_capture_policy' ||
226
- name === 'paput_get_discard_policy_context');
250
+ name === 'paput_get_discard_policy_context' ||
251
+ name === 'paput_list_processed_sessions');
227
252
  }
228
253
  function isDestructiveTool(name) {
229
254
  return (name.includes('_delete_') ||
255
+ name === 'paput_mark_processed_session' ||
230
256
  name === 'paput_discard_pending_candidate' ||
231
257
  name === 'paput_discard_project_proposal' ||
232
258
  name === 'paput_promote_project_documents' ||
@@ -240,16 +266,4 @@ function isIdempotentTool(name) {
240
266
  name.startsWith('paput_update_') ||
241
267
  name === 'paput_set_skill_sheet_skills');
242
268
  }
243
- function isLocalOnlyTool(name) {
244
- return (name === 'paput_cache_status' ||
245
- name === 'paput_scan_sessions' ||
246
- name === 'paput_get_session_transcript' ||
247
- name === 'paput_add_knowledge_candidates' ||
248
- name === 'paput_list_pending_candidates' ||
249
- name === 'paput_save_pending_candidate' ||
250
- name === 'paput_discard_pending_candidate' ||
251
- name === 'paput_get_capture_policy' ||
252
- name === 'paput_get_discard_policy_context' ||
253
- name === 'paput_update_capture_policy');
254
- }
255
269
  //# sourceMappingURL=tool.js.map
package/dist/tool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,6BAA6B,EAC7B,0BAA0B,EAC1B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,sCAAsC,EACtC,oCAAoC,EACpC,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAO7B,MAAM,UAAU,SAAS,CACvB,MAAc,EACd,MAAc,EACd,WAAoB,EACpB,UAAuB,EAAE,EACzB,yBAAiD,EAAE;IAEnD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,GAAG,sBAAsB;QACzB,wBAAwB;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;KAC5C,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;qBAC7C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,yBAAyB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;iCACvE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;iCAC3D,IAAI,CAAC,IAAI,CAAC,EAAE;yBAChB;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAChE,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpE,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;YAC3C,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;wBACvB,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,uBAAuB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;qBAClD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;YACxC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;YACxC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;SACzC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,eAAe;oBACpB,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzC;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAoE,EAAE;IAEtE,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,IAAI,KAAK,CAAC;IAC3E,MAAM,KAAK,GAAG;QACZ,eAAe;QACf,cAAc;QACd,oBAAoB;QACpB,0BAA0B;QAC1B,WAAW;QACX,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,WAAW;QACX,cAAc;QACd,iBAAiB;QACjB,6BAA6B;QAC7B,0BAA0B;QAC1B,iCAAiC;QACjC,uBAAuB;QACvB,2BAA2B;QAC3B,2BAA2B;QAC3B,sCAAsC;QACtC,oCAAoC;QACpC,aAAa;QACb,cAAc;QACd,cAAc;QACd,cAAc;QACd,wBAAwB;QACxB,2BAA2B;QAC3B,+BAA+B;QAC/B,2BAA2B;QAC3B,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,yBAAyB;QACzB,6BAA6B;QAC7B,0BAA0B;QAC1B,2BAA2B;QAC3B,0BAA0B;QAC1B,yBAAyB;QACzB,wBAAwB;QACxB,yBAAyB;QACzB,0BAA0B;QAC1B,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,2BAA2B;QAC3B,uBAAuB;KACxB,CAAC;IAEF,OAAO,KAAK;SACT,GAAG,CAAC,mBAAmB,CAAC;SACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,wBAAwB,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,CAAC;AACN,CAAC;AAED,MAAM,sCAAsC,GAC1C,wVAAwV,CAAC;AAE3V,SAAS,4BAA4B,CAAC,IAAiB;IACrD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,2BAA2B;QAAE,OAAO,IAAI,CAAC;IAEtE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IAC3C,MAAM,UAAU,GACd,kBAAkB,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5D,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE;QAC1B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,UAAU,CAAC,OAAO,CAAC;IAE1B,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE;YACV,GAAG,IAAI,CAAC,UAAU;YAClB,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU;aACiC;SAC9C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CACtC,oBAAoB,EACpB,IAAI,CAAC,UAAU,CAAC,WAAW,CAC5B,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE;YACV,GAAG,IAAI,CAAC,UAAU;YAClB,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;YACzB,WAAW;YACX,WAAW,EAAE;gBACX,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;gBAC9B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC;gBAC/D,YAAY,EAAE,QAAQ;gBACtB,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW;gBAC/C,cAAc,EAAE,gBAAgB,CAAC,IAAI,CAAC;gBACtC,aAAa,EAAE,KAAK;aACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,oBAA8D,EAC9D,kBAA4D;IAE5D,OAAO,eAAe,CACpB,kBAAkB,EAClB,oBAAoB,CACuB,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CACtB,aAAsB,EACtB,eAAwB;IAExB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAA4B;QACtC,GAAG,aAAa;QAChB,GAAG,eAAe;KACnB,CAAC;IAEF,IACE,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC;QACvC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;QACD,MAAM,CAAC,UAAU,GAAG,qBAAqB,CACvC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EACvE,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC;YACvC,CAAC,CAAC,eAAe,CAAC,UAAU;YAC5B,CAAC,CAAC,EAAE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,EACvC,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAC1B,IAAI,GAAG,CAAC;YACN,GAAG,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;YACtC,GAAG,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC;SACzC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,iBAA0C,EAC1C,mBAA4C;IAE5C,MAAM,MAAM,GAA4B,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEjE,KAAK,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI;SACR,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,KAAK,sBAAsB;QAC/B,IAAI,KAAK,0BAA0B;QACnC,IAAI,KAAK,kCAAkC;QAC3C,IAAI,KAAK,+BAA+B,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,KAAK,8BAA8B;QACvC,IAAI,KAAK,iCAAiC;QAC1C,IAAI,KAAK,gCAAgC;QACzC,IAAI,KAAK,iCAAiC;QAC1C,IAAI,KAAK,6BAA6B;QACtC,IAAI,KAAK,8BAA8B;QACvC,IAAI,KAAK,kCAAkC;QAC3C,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,CACL,cAAc,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAChC,IAAI,KAAK,8BAA8B,CACxC,CAAC;AACJ,CAAC"}
@@ -6,7 +6,7 @@ This document collects public submission information for PaPut MCP.
6
6
 
7
7
  - Name: PaPut MCP
8
8
  - Website: https://paput.io
9
- - Remote MCP server URL: https://mcp.paput.io
9
+ - Remote MCP server URL: https://mcp.paput.io/mcp
10
10
  - Transport: Streamable HTTP
11
11
  - Authentication: OAuth 2.1-style authorization code with PKCE
12
12
  - Dynamic client registration: Supported through PaPut OAuth metadata
@@ -32,7 +32,7 @@ Recommended listing details:
32
32
 
33
33
  - Connector name: PaPut
34
34
  - Description: Connect Claude to PaPut memos, notes, and skill sheets.
35
- - Server URL: `https://mcp.paput.io`
35
+ - Server URL: `https://mcp.paput.io/mcp`
36
36
  - Authentication: OAuth
37
37
  - Transport: Streamable HTTP
38
38
  - Scopes: `paput.read paput.write`
@@ -47,7 +47,7 @@ Validation checklist:
47
47
 
48
48
  Status: verified with Claude custom connector UI.
49
49
 
50
- 1. Add `https://mcp.paput.io` as a remote MCP connector in Claude.
50
+ 1. Add `https://mcp.paput.io/mcp` as a remote MCP connector in Claude.
51
51
  2. Complete the PaPut OAuth consent flow.
52
52
  3. Confirm `tools/list` returns PaPut tools.
53
53
  4. Call a read-only tool such as `paput_get_categories`.
@@ -61,7 +61,7 @@ Status: verified with Claude custom connector UI.
61
61
  Recommended listing details:
62
62
 
63
63
  - App name: PaPut
64
- - Remote MCP server URL: `https://mcp.paput.io`
64
+ - Remote MCP server URL: `https://mcp.paput.io/mcp`
65
65
  - Authentication: OAuth with dynamic client registration
66
66
  - Transport: Streamable HTTP
67
67
  - Tool access: Remote API-backed PaPut tools, data-only, no UI widgets
@@ -74,7 +74,7 @@ Developer Mode validation checklist:
74
74
  Status: verified with ChatGPT Developer Mode.
75
75
 
76
76
  1. Enable Developer Mode in ChatGPT settings.
77
- 2. Create an app for the remote MCP server URL `https://mcp.paput.io`.
77
+ 2. Create an app for the remote MCP server URL `https://mcp.paput.io/mcp`.
78
78
  3. Use OAuth without static credentials so dynamic client registration is exercised.
79
79
  4. Complete the PaPut OAuth flow in the browser.
80
80
  5. Refresh the app tools and confirm PaPut tools are listed.
@@ -11,9 +11,10 @@ Depending on the tools you use, the server may process:
11
11
  - PaPut memos, notes, categories, skill sheet data, and related project metadata.
12
12
  - OAuth access tokens used to authenticate requests to PaPut.
13
13
  - MCP request and response metadata needed to execute tool calls.
14
- - Local Claude or Codex session metadata and transcripts when you explicitly use local knowledge capture tools.
15
- - Local pending knowledge candidates, discarded candidate metadata, capture
16
- policy documents, and cache data stored on your device.
14
+ - Pending knowledge candidates, discarded candidate metadata, processed AI
15
+ session markers, and capture policy documents stored by the PaPut API.
16
+ - Source session identifiers and optional source session timestamps when an AI
17
+ client submits knowledge candidates or marks sessions as processed.
17
18
 
18
19
  ## How Data Is Used
19
20
 
@@ -21,26 +22,37 @@ Data is used only to provide the MCP tools you invoke, including:
21
22
 
22
23
  - Searching, reading, creating, and updating PaPut memos and notes.
23
24
  - Reading and updating your PaPut skill sheet.
24
- - Synchronizing PaPut memo metadata into a local cache for duplicate detection.
25
- - Scanning local AI session logs and preparing reusable knowledge candidates.
26
- - Analyzing locally discarded knowledge candidates to generate a local capture
27
- policy used by future candidate extraction.
25
+ - Accepting reusable knowledge candidates extracted by the MCP client AI.
26
+ - Managing pending candidates, processed session markers, and capture policies
27
+ through PaPut API storage.
28
+ - Analyzing discarded knowledge candidates to generate a capture policy used by
29
+ future candidate extraction.
28
30
  - Completing OAuth authorization and token-based requests to the PaPut API.
29
31
 
30
32
  ## Authentication
31
33
 
32
34
  Remote MCP connections use OAuth. PaPut issues tokens after you sign in and approve the requested scopes. The MCP server receives bearer tokens on requests and forwards them to the PaPut API. The MCP server does not intentionally persist OAuth access tokens.
33
35
 
34
- Local stdio usage uses OAuth tokens created by `paput-mcp login`. You are responsible for keeping local token and configuration files private.
35
-
36
36
  ## Local Data
37
37
 
38
- When local knowledge capture features are used, PaPut MCP may store cache files under `~/.paput` or a configured cache directory. This local data can include synced memo summaries, pending knowledge candidates, discarded candidate metadata, capture policy documents, processed session markers, session metadata, and local OAuth tokens created by `paput-mcp login`. The default OAuth token directory is created with `0700` permissions and the token file is written with `0600` permissions. It remains on your device unless you choose to save a pending candidate to PaPut, delete local cache data, or remove the local token cache with `paput-mcp logout`.
38
+ `paput-mcp setup-ai` stores generated skill files under `~/.paput` by default.
39
+ Pending candidates, discarded candidate metadata, processed AI session markers,
40
+ and capture policies are stored in PaPut API storage, not under `~/.paput`.
41
+ PaPut MCP does not read local Claude/Codex session files. When you use
42
+ `paput-init` in a local-file-capable client such as Claude Code or Codex, that
43
+ client may read its own session files and submit only extracted candidates or
44
+ processed-session markers to PaPut MCP.
39
45
 
40
46
  ## Logging
41
47
 
42
48
  Hosted infrastructure and MCP clients may record operational logs such as request timestamps, status codes, errors, and connection metadata. Logs are used for reliability, troubleshooting, abuse prevention, and security. The server is designed not to log OAuth tokens or full private content intentionally.
43
49
 
50
+ ## Retention
51
+
52
+ PaPut content and API-backed MCP state are retained until the user deletes or
53
+ updates them in PaPut, while operational logs are retained only as long as
54
+ needed for reliability, troubleshooting, abuse prevention, and security.
55
+
44
56
  ## Sharing
45
57
 
46
58
  PaPut MCP does not sell personal data. Data may be processed by PaPut infrastructure providers only as needed to operate the service. Data may also be disclosed if required by law or to protect the security and integrity of PaPut, users, or the service.
@@ -51,8 +63,6 @@ You can:
51
63
 
52
64
  - Revoke OAuth access from PaPut account settings when available.
53
65
  - Remove local MCP configuration from your client.
54
- - Delete local cache data stored under `~/.paput` or your configured cache directory.
55
- - Run `paput-mcp logout` to revoke and remove the local OAuth token cache.
56
66
  - Delete or update PaPut content using PaPut or authorized MCP tools.
57
67
 
58
68
  ## Security
@@ -6,7 +6,7 @@ PaPut is a knowledge-capture tool for engineers (memos, notes, and skill sheets)
6
6
  This MCP connector lets Claude read and write PaPut content on behalf of an
7
7
  authorized user.
8
8
 
9
- - **Server URL:** `https://mcp.paput.io`
9
+ - **Server URL:** `https://mcp.paput.io/mcp`
10
10
  - **Transport:** Streamable HTTP
11
11
  - **Authentication:** OAuth 2.1 (Authorization Code + PKCE/S256, Dynamic Client Registration supported)
12
12
  - **Scopes:** `paput.read`, `paput.write`
@@ -21,20 +21,29 @@ The connector exposes the following tools. All tools carry annotations
21
21
  - **Skill sheet:** get and update basic info, self PR, skills, and projects
22
22
  - **Goals:** list, create, update, delete
23
23
  - **Dashboard analysis:** get and update the user's dashboard analysis
24
+ - **Knowledge capture:** add, list, update, save, discard pending candidates; manage processed session markers and capture policy
25
+ - **Project documents:** get project context, read/add/update private project documents, manage project instructions and proposal promotion status
24
26
 
25
27
  ## Test account
26
28
 
27
29
  Test credentials (email and password) are provided in the submission form.
28
- The account is pre-populated with sample memos and a note so read/search tools
29
- return data.
30
+ The account is prepared with basic sample memos and categories so read/search
31
+ tools can return data without the reviewer having to create memos first.
32
+ Additional representative data for notes, skill sheet projects, goals,
33
+ dashboard analysis, pending candidates, processed session markers, capture
34
+ policy, or private project documents may be prepared for review as needed.
30
35
 
31
36
  > Note: PaPut normally uses Google sign-in only. A dedicated email/password
32
37
  > login is enabled for the review period so you can sign in without a Google
33
38
  > account.
34
39
 
40
+ `paput-mcp setup-ai` installs local AI-client skills and rules for Claude Code
41
+ or Codex. It is a local utility and is outside the remote connector review
42
+ scope.
43
+
35
44
  ## Steps
36
45
 
37
- 1. In Claude, add a custom connector with the server URL `https://mcp.paput.io`.
46
+ 1. In Claude, add a custom connector with the server URL `https://mcp.paput.io/mcp`.
38
47
  2. Start the connection. You will be redirected to the PaPut sign-in page.
39
48
  3. On the sign-in page, enter the test credentials (the email/password form),
40
49
  then approve the consent screen. You will be returned to Claude and the
package/docs/tools.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  PaPut MCP is a data-only MCP server. It exposes tools and resources for PaPut data. It does not provide UI widgets.
4
4
 
5
- Remote HTTP mode exposes API-backed PaPut tools only. Local cache, pending
6
- candidate, and session transcript tools are available in local CLI mode because
7
- they read or write files on the user's device.
5
+ Remote HTTP mode exposes API-backed PaPut tools. Pending candidates, processed
6
+ session markers, and capture policies are stored by the PaPut API. PaPut MCP
7
+ does not expose tools that read local Claude/Codex session files; local-file-
8
+ capable clients can read those files themselves through the `paput-init` skill
9
+ workflow and then submit extracted candidates through MCP.
8
10
 
9
11
  ## Confirmation Policy
10
12
 
@@ -13,7 +15,7 @@ Clients and assistants should follow these rules:
13
15
  - Read-only tools may be used when they are relevant to the user's request.
14
16
  - Create, update, save, publish, discard, and delete tools should be used only when the user's intent is clear.
15
17
  - Destructive tools require explicit confirmation before execution.
16
- - `paput_save_pending_candidate` requires explicit user approval because it creates a PaPut memo from a local pending candidate.
18
+ - `paput_save_pending_candidate` requires explicit user approval because it creates a PaPut memo from a pending candidate.
17
19
  - `paput_delete_skill_sheet_project` should be used only when the user clearly intends to remove a project.
18
20
  - `paput_update_skill_sheet_project_ai_summary` should be used only after the MCP client AI model has generated a project summary and the user intends to save it.
19
21
  - `paput_update_skill_sheet_public_profile` should be used only after the MCP client AI model has generated a public profile (headline, profile summary, or strength labels) and the user intends to save it.
@@ -21,6 +23,8 @@ Clients and assistants should follow these rules:
21
23
  - `paput_set_skill_sheet_skills` replaces the full skill list and should be used only when the complete desired final list is known.
22
24
  - `paput_discard_pending_candidate` removes a pending item from the save flow and should be confirmed when the candidate may still be useful.
23
25
  - `paput_delete_goal` should be used only when the user clearly intends to remove a goal.
26
+ - `paput_update_project_instructions` requires explicit user approval because the instructions are applied to every future session.
27
+ - `paput_discard_project_proposal` and `paput_promote_project_documents` change project document status and should be used only when the user clearly intends to reject a skill proposal or to promote documents into a created skill.
24
28
  - Update and upsert tools should preserve existing data unless the user requested the change.
25
29
 
26
30
  ## Memo Tools
@@ -36,8 +40,8 @@ Clients and assistants should follow these rules:
36
40
  | `paput_get_categories` | Read-only | List categories before assigning categories or checking duplicates. |
37
41
 
38
42
  `paput_create_memos` and `paput_update_memo` can link projects through explicit
39
- `projects`, a `project_match` input, or local `PAPUT_PROJECT_MATCH` in local CLI
40
- mode.
43
+ `projects`, a `project_match` input, or the Remote HTTP URL `project_alias`
44
+ context.
41
45
 
42
46
  `paput_search_memo` matches surface text, while `paput_find_similar_memos`
43
47
  matches meaning, so it finds related memos even when the wording differs.
@@ -117,31 +121,67 @@ write the final output in the user's language. The MCP server does not
117
121
  recalculate dashboard continuity from activities; it relies on summary values
118
122
  returned by the PaPut API.
119
123
 
120
- ## Knowledge Capture And Local Cache Tools
121
-
122
- These tools are local CLI mode only. They are not listed by the remote HTTP MCP
123
- server.
124
+ ## Project Document Tools
125
+
126
+ These tools manage private, project-scoped context for a PaPut skill sheet
127
+ project: always-applied instructions, accumulated design decisions, and
128
+ repeatable procedures. They are API-backed and available through Remote HTTP
129
+ MCP. Project context and documents are private and are never exposed
130
+ publicly.
131
+
132
+ | Tool | Safety | Use case |
133
+ | ----------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------- |
134
+ | `paput_get_project_context` | Read-only | Get a project's always-applied instructions and document index by fuzzy name match. Call at session start. |
135
+ | `paput_get_project_document` | Read-only | Read the full body of a project document by ID, using the index from `paput_get_project_context`. |
136
+ | `paput_add_project_document` | Write | Save a design decision, procedure, or skill candidate linked to a project, with same-kind dedup. |
137
+ | `paput_update_project_document` | Destructive/write | Replace a document's title, summary, and body by ID. Fetch the current document first for partial edits. |
138
+ | `paput_update_project_instructions` | Destructive/write | Overwrite a project's always-applied instructions (max 8000 chars). Requires explicit user approval. |
139
+ | `paput_discard_project_proposal` | Destructive | Record that the user rejected a skill proposal so it is not raised again. |
140
+ | `paput_promote_project_documents` | Destructive | Mark a skill proposal and its procedure documents as promoted after a skill is created. |
141
+
142
+ When `project_alias` is present in the MCP URL, `paput_get_project_context` is
143
+ called with no arguments and the `project` argument is not exposed. Without a
144
+ URL project context, provide `project` per call.
145
+
146
+ `paput_get_project_context` returns the document index only (no bodies); fetch
147
+ bodies on demand with `paput_get_project_document`. Save settled design
148
+ decisions and repeatable procedures with `paput_add_project_document`; when
149
+ similar procedure records repeat, the server may suggest turning them into a
150
+ skill. After the user approves a skill proposal and the skill is created, call
151
+ `paput_promote_project_documents` with the proposal and related procedure IDs; if
152
+ the user rejects it, call `paput_discard_project_proposal` with the reason.
153
+ Because instructions are loaded in full at session start, change them only with
154
+ `paput_update_project_instructions` after explicit user approval.
155
+
156
+ ## Knowledge Capture Tools
157
+
158
+ Knowledge capture state is stored by the PaPut API and is available through
159
+ Remote HTTP MCP.
124
160
 
125
161
  | Tool | Safety | Use case |
126
162
  | ---------------------------------- | ---------------------------- | --------------------------------------------------------------------------- |
127
- | `paput_cache_status` | Read-only | Inspect local cache, pending candidates, processed sessions, and policy. |
128
- | `paput_scan_sessions` | Read-only | Scan local Claude and Codex session logs for reusable knowledge sources. |
129
- | `paput_get_session_transcript` | Read-only | Read a selected local Claude or Codex session transcript. |
130
- | `paput_add_knowledge_candidates` | Write to local pending queue | Add extracted reusable knowledge candidates before they are saved to PaPut. |
163
+ | `paput_add_knowledge_candidates` | Write to pending queue | Add extracted reusable knowledge candidates before they are saved to PaPut. |
164
+ | `paput_list_processed_sessions` | Read-only | List Claude/Codex sessions already reviewed for knowledge capture. |
165
+ | `paput_mark_processed_session` | Write | Mark a reviewed Claude/Codex session as processed when no candidates are added. |
131
166
  | `paput_list_pending_candidates` | Read-only | List pending candidates for review. |
167
+ | `paput_update_pending_candidate` | Write to pending queue | Refine a pending candidate's fields before it is saved. |
132
168
  | `paput_save_pending_candidate` | Write | Save an approved pending candidate as a PaPut memo. |
133
- | `paput_discard_pending_candidate` | Destructive local action | Remove a pending candidate from the save flow. |
134
- | `paput_get_capture_policy` | Read-only | Read the local capture policy generated from discarded candidates. |
169
+ | `paput_discard_pending_candidate` | Destructive action | Remove a pending candidate from the save flow. |
170
+ | `paput_get_capture_policy` | Read-only | Read the capture policy generated from discarded candidates. |
135
171
  | `paput_get_discard_policy_context` | Read-only | Read discarded candidates and current policy for AI-side policy analysis. |
136
- | `paput_update_capture_policy` | Write to local cache | Save the local capture policy generated by the AI. |
172
+ | `paput_update_capture_policy` | Write | Save the capture policy generated by the AI. |
137
173
 
138
174
  Capture policy workflow:
139
175
 
140
- 1. `paput_discard_pending_candidate` keeps rejected pending candidates in the local cache with their discard reason.
176
+ 1. `paput_discard_pending_candidate` keeps rejected pending candidates with their discard reason.
141
177
  2. `paput_get_discard_policy_context` returns those discarded candidates and the current policy to the MCP client AI.
142
178
  3. The MCP client AI summarizes rejection patterns into a concise Markdown policy.
143
- 4. `paput_update_capture_policy` saves that policy locally.
179
+ 4. `paput_update_capture_policy` saves that policy.
144
180
  5. `paput-capture` reads the saved policy with `paput_get_capture_policy` before adding future candidates.
145
181
 
146
- The capture policy is local-only. It is not saved as a PaPut memo and is not
147
- available from the remote HTTP MCP server.
182
+ The capture policy is not saved as a PaPut memo. It is stored by the PaPut API
183
+ and is available through Remote HTTP MCP.
184
+
185
+ For past-session import, a local-file-capable AI client should read its own
186
+ Claude/Codex session files through the `paput-init` skill, then call
187
+ `paput_add_knowledge_candidates` or `paput_mark_processed_session`.
@@ -33,8 +33,7 @@ Expected tool flow:
33
33
 
34
34
  Use case: avoid duplicate long-term knowledge while preserving useful decisions from engineering work.
35
35
 
36
- Local mode note: `paput_add_knowledge_candidates` and pending review tools are
37
- local CLI mode tools.
36
+ Note: pending candidate tools are API-backed through Remote HTTP MCP.
38
37
 
39
38
  ## 3. Capture Reusable Knowledge From A Codex Session
40
39
 
@@ -44,16 +43,18 @@ Prompt:
44
43
  Scan recent Codex sessions, find the OAuth implementation session, and extract reusable knowledge candidates.
45
44
  ```
46
45
 
47
- Expected tool flow:
46
+ Expected flow:
48
47
 
49
- 1. `paput_scan_sessions`
50
- 2. `paput_get_session_transcript`
51
- 3. `paput_add_knowledge_candidates`
48
+ 1. `paput_list_processed_sessions` to skip sessions already reviewed
49
+ 2. The local-file-capable AI client reads `~/.codex/sessions/**/*.jsonl`
50
+ 3. `paput_add_knowledge_candidates` when reusable candidates are found
51
+ 4. `paput_mark_processed_session` when a reviewed session has no candidates
52
52
 
53
53
  Use case: turn completed development work into reviewable knowledge without immediately publishing it to PaPut.
54
54
 
55
- Local mode note: session scanning and transcript reading are local CLI mode
56
- tools.
55
+ Client capability note: local session import requires an AI client that can read
56
+ files on the user's device, such as Codex or Claude Code. PaPut MCP itself does
57
+ not read local session files.
57
58
 
58
59
  ## 4. Save An Approved Pending Candidate
59
60
 
@@ -71,7 +72,7 @@ Expected tool flow:
71
72
 
72
73
  Use case: keep the user in control before creating a permanent PaPut memo.
73
74
 
74
- Local mode note: pending candidate tools are local CLI mode tools.
75
+ Note: pending candidate tools are API-backed through Remote HTTP MCP.
75
76
 
76
77
  ## 5. Refresh The Capture Policy From Discards
77
78
 
@@ -88,11 +89,11 @@ Expected tool flow:
88
89
  3. `paput_update_capture_policy`
89
90
  4. `paput_get_capture_policy` when the user wants to verify the saved policy
90
91
 
91
- Use case: turn repeated local discard decisions into reusable capture criteria
92
+ Use case: turn repeated discard decisions into reusable capture criteria
92
93
  that future `paput-capture` runs can apply before adding pending candidates.
93
94
 
94
- Local mode note: capture policy tools are local CLI mode tools. The generated
95
- policy is stored under the local PaPut cache and is not saved as a PaPut memo.
95
+ Note: capture policy tools are API-backed through Remote HTTP MCP. The generated
96
+ policy is not saved as a PaPut memo.
96
97
 
97
98
  ## 6. Update A Skill Sheet Project
98
99