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.
- package/README.md +88 -67
- package/dist/cli/index.js +5 -29
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/login.js +1 -1
- package/dist/cli/login.js.map +1 -1
- package/dist/cli/logout.js +3 -3
- package/dist/cli/logout.js.map +1 -1
- package/dist/cli/rules/paput-knowledge-capture.md +1 -1
- package/dist/cli/skills/paput-analyze-discard-policy/SKILL.md +3 -3
- package/dist/cli/skills/paput-capture/SKILL.md +1 -1
- package/dist/cli/skills/paput-init/SKILL.md +58 -9
- package/dist/handlers/add-knowledge-candidates/handler.js +49 -21
- package/dist/handlers/add-knowledge-candidates/handler.js.map +1 -1
- package/dist/handlers/add-knowledge-candidates/tool.js +1 -1
- package/dist/handlers/add-knowledge-candidates/tool.js.map +1 -1
- package/dist/handlers/discard-pending-candidate/handler.js +6 -21
- package/dist/handlers/discard-pending-candidate/handler.js.map +1 -1
- package/dist/handlers/get-capture-policy/handler.js +3 -3
- package/dist/handlers/get-capture-policy/handler.js.map +1 -1
- package/dist/handlers/get-capture-policy/tool.js +1 -1
- package/dist/handlers/get-capture-policy/tool.js.map +1 -1
- package/dist/handlers/get-discard-policy-context/handler.js +3 -11
- package/dist/handlers/get-discard-policy-context/handler.js.map +1 -1
- package/dist/handlers/get-discard-policy-context/tool.js +1 -1
- package/dist/handlers/get-discard-policy-context/tool.js.map +1 -1
- package/dist/handlers/get-project-context/handler.js +7 -9
- package/dist/handlers/get-project-context/handler.js.map +1 -1
- package/dist/handlers/get-project-context/tool.js +2 -2
- package/dist/handlers/get-project-context/tool.js.map +1 -1
- package/dist/handlers/index.js +4 -3
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/list-pending-candidates/handler.js +6 -9
- package/dist/handlers/list-pending-candidates/handler.js.map +1 -1
- package/dist/handlers/list-processed-sessions/handler.js +18 -0
- package/dist/handlers/list-processed-sessions/handler.js.map +1 -0
- package/dist/handlers/list-processed-sessions/index.js +3 -0
- package/dist/handlers/list-processed-sessions/index.js.map +1 -0
- package/dist/handlers/list-processed-sessions/tool.js +19 -0
- package/dist/handlers/list-processed-sessions/tool.js.map +1 -0
- package/dist/handlers/mark-processed-session/handler.js +37 -0
- package/dist/handlers/mark-processed-session/handler.js.map +1 -0
- package/dist/handlers/mark-processed-session/index.js +3 -0
- package/dist/handlers/mark-processed-session/index.js.map +1 -0
- package/dist/handlers/mark-processed-session/tool.js +28 -0
- package/dist/handlers/mark-processed-session/tool.js.map +1 -0
- package/dist/handlers/memo-projects.js +19 -5
- package/dist/handlers/memo-projects.js.map +1 -1
- package/dist/handlers/save-pending-candidate/handler.js +84 -31
- package/dist/handlers/save-pending-candidate/handler.js.map +1 -1
- package/dist/handlers/save-pending-candidate/tool.js +4 -0
- package/dist/handlers/save-pending-candidate/tool.js.map +1 -1
- package/dist/handlers/scan-sessions/handler.js +4 -2
- package/dist/handlers/scan-sessions/handler.js.map +1 -1
- package/dist/handlers/update-capture-policy/handler.js +3 -3
- package/dist/handlers/update-capture-policy/handler.js.map +1 -1
- package/dist/handlers/update-capture-policy/tool.js +2 -2
- package/dist/handlers/update-capture-policy/tool.js.map +1 -1
- package/dist/handlers/update-memo/handler.js +1 -1
- package/dist/handlers/update-memo/handler.js.map +1 -1
- package/dist/handlers/update-pending-candidate/handler.js +90 -0
- package/dist/handlers/update-pending-candidate/handler.js.map +1 -0
- package/dist/handlers/update-pending-candidate/index.js +3 -0
- package/dist/handlers/update-pending-candidate/index.js.map +1 -0
- package/dist/handlers/update-pending-candidate/tool.js +51 -0
- package/dist/handlers/update-pending-candidate/tool.js.map +1 -0
- package/dist/handlers/update-project-document/handler.js +61 -0
- package/dist/handlers/update-project-document/handler.js.map +1 -0
- package/dist/handlers/update-project-document/index.js +3 -0
- package/dist/handlers/update-project-document/index.js.map +1 -0
- package/dist/handlers/update-project-document/tool.js +31 -0
- package/dist/handlers/update-project-document/tool.js.map +1 -0
- package/dist/handlers/upsert-skill-sheet-project/handler.js +3 -0
- package/dist/handlers/upsert-skill-sheet-project/handler.js.map +1 -1
- package/dist/handlers/upsert-skill-sheet-project/tool.js +4 -0
- package/dist/handlers/upsert-skill-sheet-project/tool.js.map +1 -1
- package/dist/http.js +67 -21
- package/dist/http.js.map +1 -1
- package/dist/index.js +2 -9
- package/dist/index.js.map +1 -1
- package/dist/schemas/tool-input.js +65 -21
- package/dist/schemas/tool-input.js.map +1 -1
- package/dist/server.js +3 -17
- package/dist/server.js.map +1 -1
- package/dist/services/api/client.js +2 -3
- package/dist/services/api/client.js.map +1 -1
- package/dist/services/api/index.js +1 -0
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/api/knowledge-candidate.js +44 -0
- package/dist/services/api/knowledge-candidate.js.map +1 -0
- package/dist/services/api/project-context.js +9 -1
- package/dist/services/api/project-context.js.map +1 -1
- package/dist/services/api/skill-sheet.js +5 -0
- package/dist/services/api/skill-sheet.js.map +1 -1
- package/dist/services/session/index.js +2 -3
- package/dist/services/session/index.js.map +1 -1
- package/dist/tool.js +37 -23
- package/dist/tool.js.map +1 -1
- package/docs/directory-submission.md +5 -5
- package/docs/privacy-policy.md +22 -12
- package/docs/reviewer-guide.md +13 -4
- package/docs/tools.md +61 -21
- package/docs/usage-examples.md +13 -12
- package/package.json +7 -3
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export async function getProjectContext(client, project) {
|
|
2
2
|
const queryParams = new URLSearchParams();
|
|
3
|
-
|
|
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":"
|
|
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":"
|
|
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
|
-
|
|
5
|
-
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/session/index.ts"],"names":[],"mappings":"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"}
|
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,
|
|
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
|
|
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
|
|
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
|
-
.
|
|
133
|
-
.map(
|
|
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":"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,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.
|
package/docs/privacy-policy.md
CHANGED
|
@@ -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
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
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
|
package/docs/reviewer-guide.md
CHANGED
|
@@ -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
|
|
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
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
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
|
|
40
|
-
|
|
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
|
-
##
|
|
121
|
-
|
|
122
|
-
These tools
|
|
123
|
-
|
|
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
|
-
| `
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
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
|
|
134
|
-
| `paput_get_capture_policy` | Read-only | Read the
|
|
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
|
|
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
|
|
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
|
|
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
|
|
147
|
-
available
|
|
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`.
|
package/docs/usage-examples.md
CHANGED
|
@@ -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
|
-
|
|
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
|
|
46
|
+
Expected flow:
|
|
48
47
|
|
|
49
|
-
1. `
|
|
50
|
-
2. `
|
|
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
|
-
|
|
56
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
95
|
-
policy is
|
|
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
|
|