@bragduck/mcp 1.4.3 → 1.4.7

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/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
4
4
  import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { loginTool, handleLogin } from './tools/login.js';
6
6
  import { logBragTool, handleLogBrag } from './tools/log-brag.js';
7
- import { previewBragTool, handlePreviewBrag } from './tools/preview-brag.js';
7
+ import { handlePreviewBrag } from './tools/preview-brag.js';
8
8
  import { listBragsTool, handleListBrags } from './tools/list-brags.js';
9
9
  import { listObjectivesTool, handleListObjectives } from './tools/list-objectives.js';
10
10
  import { linkBragToGoalTool, handleLinkBragToGoal } from './tools/link-brag-to-goal.js';
@@ -46,17 +46,18 @@ const server = new Server({
46
46
  'Stop the interview as soon as you have enough to write a strong brag. ' +
47
47
  'Never ask more than 4 questions total.\n' +
48
48
  '\n' +
49
- 'STEP 2 — PREVIEW\n' +
50
- 'Compose the brag from all gathered context and call preview_brag immediately — ' +
51
- 'do NOT ask the user if they want a preview first, just call it. ' +
52
- 'After the tool returns, you MUST reproduce its full table output verbatim in your own ' +
53
- 'response text (do not rely on the collapsed tool-result block — the user cannot see it). ' +
54
- 'On the very next line after the table, ask exactly this question and nothing else:\n' +
55
- '"Ready to log this? **Yes** / No"\n' +
49
+ 'STEP 2 — PREVIEW + LOG\n' +
50
+ 'Compose the brag from all gathered context. ' +
51
+ 'Do NOT call preview_brag. Instead, in your response text render the brag fields ' +
52
+ 'as a markdown table with two columns (Field | Value), one row per field, in this order: ' +
53
+ 'Title, Type, Impact Level, Impact Details, Description, Tags, References. ' +
54
+ 'In the very same response, after the table, call log_brag with those field values. ' +
55
+ 'The native tool-permission prompt (Allow / Deny) that appears below the table IS the ' +
56
+ 'confirmation — do not add any text question. ' +
57
+ 'If the user denies or asks for changes, adjust and repeat this step.\n' +
56
58
  '\n' +
57
- 'STEP 3 — LOG\n' +
58
- 'If the user answers yes (or any clear affirmative), call log_brag with the same content. ' +
59
- 'If the user answers no or asks for changes, adjust and go back to STEP 2.\n' +
59
+ 'STEP 3 — DONE\n' +
60
+ 'Once log_brag is allowed and succeeds, confirm with one short sentence.\n' +
60
61
  '\n' +
61
62
  'GENERAL RULES\n' +
62
63
  '- Never fabricate details, metrics, or links. If unsure, ask.\n' +
@@ -65,7 +66,7 @@ const server = new Server({
65
66
  });
66
67
  server.setRequestHandler(ListToolsRequestSchema, async () => {
67
68
  return {
68
- tools: [loginTool, previewBragTool, logBragTool, listBragsTool, listObjectivesTool, linkBragToGoalTool],
69
+ tools: [loginTool, logBragTool, listBragsTool, listObjectivesTool, linkBragToGoalTool],
69
70
  };
70
71
  });
71
72
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { apiRequest } from '../api-client.js';
2
2
  export const logBragTool = {
3
3
  name: 'log_brag',
4
- description: 'Persist a career achievement (brag) to BragDuck after the user has confirmed the preview. ' +
5
- 'NEVER call this directly — always call preview_brag first and wait for explicit user confirmation.',
4
+ description: 'Persist a career achievement (brag) to BragDuck. ' +
5
+ 'Call this in the same response as the preview table — the tool permission prompt (Allow/Deny) ' +
6
+ 'that appears to the user IS the confirmation. Do not ask the user to type anything.',
6
7
  inputSchema: {
7
8
  type: 'object',
8
9
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"log-brag.js","sourceRoot":"","sources":["../../src/tools/log-brag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-brag.js","sourceRoot":"","sources":["../../src/tools/log-brag.ts"],"names":[],"mappings":"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"}
@@ -79,27 +79,25 @@ export const previewBragTool = {
79
79
  export function handlePreviewBrag(input) {
80
80
  const emoji = TYPE_EMOJIS[input.type] ?? '📌';
81
81
  const impactLabel = IMPACT_LABELS[input.impact_level] ?? String(input.impact_level);
82
- const tagsValue = input.tags && input.tags.length > 0 ? input.tags.join(', ') : '—';
83
- const refsValue = input.references && input.references.length > 0
84
- ? input.references.join(', ')
85
- : '—';
86
- const lines = [
87
- '## BragDuck — Preview',
88
- '',
89
- '| Field | Value |',
90
- '|---|---|',
91
- `| **Title** | ${input.title} |`,
92
- `| **Type** | ${emoji} ${input.type} |`,
93
- `| **Impact level** | ${impactLabel} |`,
94
- `| **Impact details** | ${input.impact_description} |`,
95
- `| **Description** | ${input.description.replace(/\n/g, ' ')} |`,
96
- `| **Tags** | ${tagsValue} |`,
97
- `| **References** | ${refsValue} |`,
98
- '',
99
- '**Does this look good? Approve to log it, or tell me what to change.**',
100
- ];
82
+ // Return structured data so the AI renders the table natively in its own
83
+ // response (AI-generated markdown renders correctly; tool-result text does not).
101
84
  return {
102
- content: [{ type: 'text', text: lines.join('\n') }],
85
+ content: [
86
+ {
87
+ type: 'text',
88
+ text: JSON.stringify({
89
+ title: input.title,
90
+ type: `${emoji} ${input.type}`,
91
+ impact_level: impactLabel,
92
+ impact_details: input.impact_description,
93
+ description: input.description,
94
+ tags: input.tags && input.tags.length > 0 ? input.tags.join(', ') : '—',
95
+ references: input.references && input.references.length > 0
96
+ ? input.references.join(', ')
97
+ : '—',
98
+ }),
99
+ },
100
+ ],
103
101
  };
104
102
  }
105
103
  //# sourceMappingURL=preview-brag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-brag.js","sourceRoot":"","sources":["../../src/tools/preview-brag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview-brag.js","sourceRoot":"","sources":["../../src/tools/preview-brag.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bragduck/mcp",
3
- "version": "1.4.3",
3
+ "version": "1.4.7",
4
4
  "description": "BragDuck MCP server for logging career achievements from AI agents",
5
5
  "type": "module",
6
6
  "bin": {