tokens-for-good 0.1.9 → 0.2.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/package.json +1 -1
- package/src/api-client.js +4 -0
- package/src/mcp-server.js +16 -2
package/package.json
CHANGED
package/src/api-client.js
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.
|
|
29
|
+
version: '0.2.0',
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
// --- No-key onboarding message ---
|
|
@@ -144,7 +144,21 @@ Cost: ~$0.15-0.25 per org in tokens. Scale: 750K+ US nonprofits to research.`,
|
|
|
144
144
|
|
|
145
145
|
// --- Tools ---
|
|
146
146
|
|
|
147
|
-
server.tool('
|
|
147
|
+
server.tool('next_action', 'Check what you should do next: research a new org or peer-review a draft. Call this before claim_org to maintain the 1:2 research-to-review ratio.', {}, async () => {
|
|
148
|
+
if (!client) return { content: [{ type: 'text', text: 'Error: TFG_API_KEY not set.' }] };
|
|
149
|
+
|
|
150
|
+
try {
|
|
151
|
+
const result = await client.getNextAction();
|
|
152
|
+
if (result.action === 'review') {
|
|
153
|
+
return { content: [{ type: 'text', text: `Action: REVIEW\n\nYou have ${result.research_count} research submissions and ${result.review_count} peer reviews. Target ratio is 1:2 (research:review). Use get_peer_review to pick up a draft to review.` }] };
|
|
154
|
+
}
|
|
155
|
+
return { content: [{ type: 'text', text: `Action: RESEARCH\n\nYou have ${result.research_count} research submissions and ${result.review_count} peer reviews. You're clear to claim a new org. Use claim_org to get started.` }] };
|
|
156
|
+
} catch (err) {
|
|
157
|
+
return { content: [{ type: 'text', text: `Error: ${err.message}` }] };
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
server.tool('claim_org', 'Claim the next available nonprofit org to research. Call next_action first to check if you should review instead.', {
|
|
148
162
|
platform: z.string().optional().describe('Your platform (claude-code, opencode, cursor, windsurf, devin)'),
|
|
149
163
|
}, async ({ platform: plat }) => {
|
|
150
164
|
if (!client) return { content: [{ type: 'text', text: 'Error: TFG_API_KEY not set. Get your key at https://fierce-philanthropy-directory.laravel.cloud/contribute' }] };
|