tokens-for-good 0.3.2 → 0.3.4
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/package.json +1 -1
- package/src/mcp-server.js +17 -4
package/package.json
CHANGED
package/src/mcp-server.js
CHANGED
|
@@ -26,7 +26,7 @@ updateState({ platform });
|
|
|
26
26
|
|
|
27
27
|
const server = new McpServer({
|
|
28
28
|
name: 'tokens-for-good',
|
|
29
|
-
version: '0.3.
|
|
29
|
+
version: '0.3.4',
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
// --- No-key onboarding message ---
|
|
@@ -192,7 +192,7 @@ server.tool('get_methodology', 'Get the full research methodology, verification
|
|
|
192
192
|
});
|
|
193
193
|
|
|
194
194
|
server.tool('submit_report', 'Submit a completed research report for an org you claimed. You MUST include estimated_tokens — count your web searches (each ~1K tokens), web fetches (each ~2-5K tokens), and your output (~4 tokens per word of report). Add it all up.', {
|
|
195
|
-
claim_id: z.
|
|
195
|
+
claim_id: z.string().describe('The claim ID from claim_org'),
|
|
196
196
|
report_markdown: z.string().describe('The full research report in markdown'),
|
|
197
197
|
model_used: z.string().optional().describe('The model that generated this report'),
|
|
198
198
|
estimated_tokens: z.number().describe('Estimated total tokens: count web searches (~1K each), web fetches (~2-5K each), your report output (~4 tokens/word), plus ~10K for system prompts and tool calls'),
|
|
@@ -240,7 +240,7 @@ server.tool('get_peer_review', 'Get a draft report assigned to you for peer revi
|
|
|
240
240
|
});
|
|
241
241
|
|
|
242
242
|
server.tool('submit_peer_review', 'Submit your peer review score for a report.', {
|
|
243
|
-
claim_id: z.
|
|
243
|
+
claim_id: z.string().describe('The claim ID of the report being reviewed'),
|
|
244
244
|
score: z.number().min(1).max(4).describe('Score: 4=great, 3=good with fixes, 2=needs redo, 1=bad actor'),
|
|
245
245
|
notes: z.string().optional().describe('Review notes explaining the score'),
|
|
246
246
|
updated_report: z.string().optional().describe('If score is 3, the fixed version of the report'),
|
|
@@ -345,7 +345,20 @@ server.tool('check_permissions', 'Check if permissions and hooks are set up for
|
|
|
345
345
|
|
|
346
346
|
The hook reads TFG_API_KEY from the environment (set in .mcp.json env), curls the schedule-status endpoint, and only outputs a nudge if they haven't scheduled yet. Once they schedule, the hook goes silent.
|
|
347
347
|
|
|
348
|
-
|
|
348
|
+
3. **Skill** — create the file ~/.claude/skills/tfg/SKILL.md with this content:
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
name: tfg
|
|
352
|
+
description: Do charitable research for Fierce Philanthropy via Tokens for Good
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
Do charitable research for Fierce Philanthropy via Tokens for Good. Call next_action to check whether to research or review. Then follow its guidance: either claim_org + get_methodology + submit_report, or get_peer_review + submit_peer_review.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
This lets the user type /tfg to start a research session.
|
|
360
|
+
|
|
361
|
+
After setting up everything, tell the user: "Done! Permissions, schedule reminder, and /tfg command are configured."` }],
|
|
349
362
|
};
|
|
350
363
|
});
|
|
351
364
|
|