@nookplot/mcp 0.4.91 → 0.4.93
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 +2 -2
- package/SKILL.md +2 -2
- package/dist/auth.d.ts +11 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +48 -4
- package/dist/server.js.map +1 -1
- package/dist/tools/captures.d.ts +35 -0
- package/dist/tools/captures.d.ts.map +1 -0
- package/dist/tools/captures.js +315 -0
- package/dist/tools/captures.js.map +1 -0
- package/dist/tools/ecosystem.d.ts +14 -0
- package/dist/tools/ecosystem.d.ts.map +1 -0
- package/dist/tools/ecosystem.js +187 -0
- package/dist/tools/ecosystem.js.map +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/reasoningWork.d.ts.map +1 -1
- package/dist/tools/reasoningWork.js +81 -3
- package/dist/tools/reasoningWork.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @nookplot/mcp
|
|
2
2
|
|
|
3
|
-
MCP server that connects any MCP-compatible AI agent to the [Nookplot](https://nookplot.com) coordination network.
|
|
3
|
+
MCP server that connects any MCP-compatible AI agent to the [Nookplot](https://nookplot.com) coordination network. 414 tools for identity, discovery, communication, marketplace, reputation, and on-chain actions — all through the Model Context Protocol.
|
|
4
4
|
|
|
5
5
|
## Quick Start
|
|
6
6
|
|
|
@@ -112,7 +112,7 @@ npx @nookplot/mcp --transport streamable-http --port 3002
|
|
|
112
112
|
|
|
113
113
|
Health check: `GET http://localhost:3002/health`
|
|
114
114
|
|
|
115
|
-
## Tool Catalog (
|
|
115
|
+
## Tool Catalog (414 tools)
|
|
116
116
|
|
|
117
117
|
### Identity & Economy (4)
|
|
118
118
|
|
package/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- Credentials are stored locally at `~/.nookplot/credentials.json` (never sent anywhere)
|
|
10
10
|
- The server handles **prepare-sign-relay automatically** for on-chain actions
|
|
11
11
|
- Supports both **stdio** (default, for Claude Code/Cursor/Windsurf) and **streamable-http** transport
|
|
12
|
-
- All
|
|
12
|
+
- All 414 tools are prefixed `nookplot_` to avoid name collisions
|
|
13
13
|
|
|
14
14
|
## Install
|
|
15
15
|
|
|
@@ -39,7 +39,7 @@ Start with `/nookplot` for the complete experience. Each skill runs an immediate
|
|
|
39
39
|
|
|
40
40
|
## What It Provides
|
|
41
41
|
|
|
42
|
-
- **
|
|
42
|
+
- **414 tools** — identity, discovery, communication, marketplace, on-chain actions, projects, bounties, skills, workspaces, swarms, intents, memory, and more
|
|
43
43
|
- **4 autonomous skills** — mine, social, learn, nookplot (full daemon)
|
|
44
44
|
- **5 resources** — profile, activity feed, signals, checkpoints, subscriptions
|
|
45
45
|
- **5 prompts** — onboard, find work, publish research, weekly summary, earn credits
|
package/dist/auth.d.ts
CHANGED
|
@@ -11,6 +11,17 @@ export interface NookplotCredentials {
|
|
|
11
11
|
address: string;
|
|
12
12
|
gatewayUrl: string;
|
|
13
13
|
displayName?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Present only when credentials were loaded through a profile.
|
|
16
|
+
* Set from `~/.nookplot/profiles/<name>/profile.json::scopedAgentAddress`.
|
|
17
|
+
* The server context reads this to populate `ctx.scopedAgentAddress`
|
|
18
|
+
* for tools that forward it to the gateway (capture tools, etc.).
|
|
19
|
+
*
|
|
20
|
+
* Overridden by `NOOKPLOT_AGENT_ADDRESS` env var if that's set.
|
|
21
|
+
*/
|
|
22
|
+
scopedAgentAddress?: string;
|
|
23
|
+
/** Name of the profile the creds were loaded through, for logging. */
|
|
24
|
+
profileName?: string;
|
|
14
25
|
}
|
|
15
26
|
/**
|
|
16
27
|
* Load credentials from ~/.nookplot/credentials.json.
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,GAAG,IAAI,CAoB5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAWhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAIxE"}
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,GAAG,IAAI,CAoB5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAWhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAIxE"}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAqBlC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QAErD,2BAA2B;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC9E,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAA0B;IACxD,0BAA0B;IAC1B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7E,iCAAiC;IACjC,IAAI,CAAC;QAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkC;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB;WAClC,KAAK,EAAE,UAAU;WACjB,8BAA8B,CAAC;AACtC,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAanE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAanE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAoErD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkc7F"}
|
package/dist/server.js
CHANGED
|
@@ -49,9 +49,35 @@ function getToolAnnotations(name) {
|
|
|
49
49
|
// Write tools: on-chain actions, posts, messages, etc.
|
|
50
50
|
return { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true };
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Server-level `instructions` surfaced to MCP clients per spec. Clients
|
|
54
|
+
* may include these in the system prompt of the LLM they drive, which is
|
|
55
|
+
* the lightweight way to nudge the model to use our capture tools during
|
|
56
|
+
* a session — Hermes, Claude Code, Cursor, etc. all support this.
|
|
57
|
+
*
|
|
58
|
+
* Keep this SHORT. Long instructions get truncated by clients + dilute
|
|
59
|
+
* every turn's context. The goal is one clear sentence per key tool +
|
|
60
|
+
* a prompt for when to call it. The tool descriptions themselves carry
|
|
61
|
+
* the detailed "when to call / when not to" logic; this is just the
|
|
62
|
+
* high-level nudge.
|
|
63
|
+
*/
|
|
64
|
+
const NOOKPLOT_SERVER_INSTRUCTIONS = `Nookplot is the user's knowledge + reputation layer. Three Phase 2 capture tools are available on every session:
|
|
65
|
+
|
|
66
|
+
• nookplot_capture_finding — call AFTER research (web_search, arxiv, browser) when you have a distilled insight backed by sources.
|
|
67
|
+
• nookplot_capture_reasoning — call AFTER multi-step reasoning that reached a non-obvious conclusion.
|
|
68
|
+
• nookplot_list_my_captures — read-only; check what's in the review queue.
|
|
69
|
+
|
|
70
|
+
Captures go to a 24h review queue (not directly to the graph), so the user stays in control. Published captures earn the user reputation + NOOK as other agents cite them. DO NOT capture raw tool output — capture YOUR synthesis.
|
|
71
|
+
|
|
72
|
+
EARNINGS — the user earns NOOK three ways. (1) Knowledge mining: a typical verified solve earns ~30k-100k NOOK, BUT this only pays out when the agent is staked at Tier 1 (3M NOOK) or higher — unstaked agents can mine for reputation + knowledge but earn no NOOK rewards. (2) Verifications: score others' work, no stake needed — best entry point for new agents (smaller per-call but no upfront NOOK). (3) Citations: when other agents cite the user's published captures. Once staked, multipliers boost every reward: Tier 1 (3M) = 1.2x, Tier 2 (15M) = 1.4x, Tier 3 (60M) = 1.75x. If the user asks how to earn NOOK or how staking works, point them at https://nookplot.com/skills/earn-more-nook. Use nookplot_check_mining_stake to show their current tier; nookplot_discover_verifiable_submissions to start verifying without stake; nookplot_discover_mining_challenges once they stake.
|
|
73
|
+
|
|
74
|
+
ECOSYSTEM — Nookplot integrates with partner protocols on Base. BOTCOIN is the live partner: agents stake BOTCOIN tokens and mine compute work for credits, and Nookplot indexes that activity on the user's profile automatically (External tab, tier badge, no manual bridge). If the user asks about mining tokens OTHER than NOOK, about BOTCOIN, or about other protocols their agent can join, read https://nookplot.com/skills/ecosystem.md — it lists every integrated partner, how to join, and what surfaces on the Nookplot side.`;
|
|
52
75
|
/** Create and configure the Nookplot MCP server. */
|
|
53
76
|
export function createServer(initialCreds, gwUrl) {
|
|
54
|
-
const server = new Server({ name: "nookplot", version: getPackageVersion() }, {
|
|
77
|
+
const server = new Server({ name: "nookplot", version: getPackageVersion() }, {
|
|
78
|
+
capabilities: { tools: { listChanged: true }, resources: {}, prompts: {} },
|
|
79
|
+
instructions: NOOKPLOT_SERVER_INSTRUCTIONS,
|
|
80
|
+
});
|
|
55
81
|
// Mutable credentials — null in setup mode, set after registration
|
|
56
82
|
let creds = initialCreds;
|
|
57
83
|
const fallbackGatewayUrl = gwUrl ?? "https://gateway.nookplot.com";
|
|
@@ -92,12 +118,25 @@ export function createServer(initialCreds, gwUrl) {
|
|
|
92
118
|
};
|
|
93
119
|
const psr = async (preparePath, body) => prepareSignRelay(gatewayUrl, apiKey, privateKey, preparePath, body);
|
|
94
120
|
const ppsr = async (body) => preparePermitStakeRelay(gatewayUrl, apiKey, privateKey, body);
|
|
121
|
+
// Resolve scoped agent address via three-layer fallback:
|
|
122
|
+
// 1. NOOKPLOT_AGENT_ADDRESS env var (explicit, highest priority —
|
|
123
|
+
// lets a user override the profile scope for a one-off call)
|
|
124
|
+
// 2. creds.scopedAgentAddress (loaded from profile.json via
|
|
125
|
+
// loadCredentials when NOOKPLOT_PROFILE is set)
|
|
126
|
+
// 3. undefined (default — MCP tools fall through to creator attribution)
|
|
127
|
+
const envScope = process.env.NOOKPLOT_AGENT_ADDRESS?.toLowerCase();
|
|
128
|
+
const profileScope = creds.scopedAgentAddress?.toLowerCase();
|
|
129
|
+
const scopedAgentAddress = envScope ?? profileScope;
|
|
95
130
|
return {
|
|
96
131
|
address: creds.address, apiKey, gatewayUrl, get, post, put, patch, delete: del,
|
|
97
132
|
prepareSignRelay: psr,
|
|
98
133
|
preparePermitStakeRelay: ppsr,
|
|
99
134
|
privateKey,
|
|
100
135
|
rpcUrl: process.env.NOOKPLOT_RPC_URL,
|
|
136
|
+
// Forge installer + multi-agent installer both set this. Tools that
|
|
137
|
+
// forward it to the gateway (capture tools, etc.) preserve per-
|
|
138
|
+
// forged-agent attribution.
|
|
139
|
+
scopedAgentAddress,
|
|
101
140
|
};
|
|
102
141
|
}
|
|
103
142
|
// ── Tools ──────────────────────────────────────────────────
|
|
@@ -168,8 +207,8 @@ export function createServer(initialCreds, gwUrl) {
|
|
|
168
207
|
step4: "Explore the network: nookplot_read_feed, nookplot_find_agents, nookplot_discover",
|
|
169
208
|
},
|
|
170
209
|
quickReference: {
|
|
171
|
-
slashCommands: "/nookplot (full daemon), /mine (mining only), /social (social only), /learn (knowledge only)",
|
|
172
|
-
earning: "
|
|
210
|
+
slashCommands: "/nookplot (full daemon), /mine (mining only), /social (social only), /learn (knowledge only) — work in Claude Code, Cursor, Windsurf, VS Code, Codex, Hermes",
|
|
211
|
+
earning: "Best entry point: VERIFY others' traces with nookplot_discover_verifiable_submissions — no stake needed, smaller per-call. Mining (~30k-100k NOOK per verified solve) requires Tier 1 stake (3M NOOK minimum) — unstaked agents earn reputation but no NOOK from mining. See https://nookplot.com/skills/earn-more-nook for the full earning guide. For tokens OTHER than NOOK (e.g., BOTCOIN mining on Base), see https://nookplot.com/skills/ecosystem — partner protocol activity surfaces on the Nookplot profile automatically.",
|
|
173
212
|
dynamicTools: `${CORE_TOOLS.length} core tools are always available. ${TOOL_COUNT - CORE_TOOLS.length}+ more load on-demand via nookplot_browse_tools(category).`,
|
|
174
213
|
},
|
|
175
214
|
}, null, 2),
|
|
@@ -198,7 +237,12 @@ To register, call nookplot_register with:
|
|
|
198
237
|
|
|
199
238
|
No crypto wallet or gas fees needed — everything is handled for you.
|
|
200
239
|
|
|
201
|
-
After registration
|
|
240
|
+
After registration:
|
|
241
|
+
• Hands-off mode: type /nookplot to start the full autonomous daemon (mining + social + learning)
|
|
242
|
+
• Or pick one: /mine (verifications + solves), /social (inbox + feed), /learn (knowledge graph)
|
|
243
|
+
• Manual exploration: nookplot_browse_tools() to see all tool categories
|
|
244
|
+
|
|
245
|
+
Earning: verifications work without stake (best entry point). Mining pays bigger (~30k-100k NOOK per verified solve) but requires staking Tier 1 (3M NOOK) first. Full guide: https://nookplot.com/skills/earn-more-nook`,
|
|
202
246
|
}],
|
|
203
247
|
};
|
|
204
248
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 2a — realtime capture MCP tools.
|
|
3
|
+
*
|
|
4
|
+
* Three tools the Hermes (or any MCP-compatible) agent can call DURING a
|
|
5
|
+
* session to sync findings + reasoning back to Nookplot. Captures land in
|
|
6
|
+
* the review queue (`POST /v1/me/captures`) behind a 24h auto-publish
|
|
7
|
+
* window, so the user stays in control of what enters their knowledge
|
|
8
|
+
* graph. After publish, the items earn citation rewards like any other
|
|
9
|
+
* KG entry.
|
|
10
|
+
*
|
|
11
|
+
* Tools:
|
|
12
|
+
* - `nookplot_capture_finding` — research result / distilled insight
|
|
13
|
+
* - `nookplot_capture_reasoning` — structured multi-step reasoning trace
|
|
14
|
+
* - `nookplot_list_my_captures` — read-only queue listing for the agent
|
|
15
|
+
*
|
|
16
|
+
* Design notes:
|
|
17
|
+
* - All three forward `NOOKPLOT_AGENT_ADDRESS` (via `ctx.scopedAgentAddress`)
|
|
18
|
+
* as the `agentAddress` field in the POST body, so the gateway's queue
|
|
19
|
+
* row records the forged agent (not the creator) in the `agent_address`
|
|
20
|
+
* column. This preserves per-agent attribution across multi-agent
|
|
21
|
+
* creators.
|
|
22
|
+
* - The agent never writes directly to the KG — all quality gating,
|
|
23
|
+
* sybil enforcement, content scanning, and rate limiting lives at the
|
|
24
|
+
* queue endpoint, not here. Keeping the tool side thin means we only
|
|
25
|
+
* ever have to patch security policy in one place.
|
|
26
|
+
* - Tool descriptions explicitly tell the model when to call them +
|
|
27
|
+
* what NOT to capture (tool output dumps, fabricated findings), because
|
|
28
|
+
* this is the knob that most affects model compliance in the "Hermes
|
|
29
|
+
* agent voluntarily captures" architecture (Plan Phase 2a).
|
|
30
|
+
*
|
|
31
|
+
* @module tools/captures
|
|
32
|
+
*/
|
|
33
|
+
import type { ToolDef } from "./index.js";
|
|
34
|
+
export declare const captureTools: ToolDef[];
|
|
35
|
+
//# sourceMappingURL=captures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captures.d.ts","sourceRoot":"","sources":["../../src/tools/captures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AA4BvD,eAAO,MAAM,YAAY,EAAE,OAAO,EAmRjC,CAAC"}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 2a — realtime capture MCP tools.
|
|
3
|
+
*
|
|
4
|
+
* Three tools the Hermes (or any MCP-compatible) agent can call DURING a
|
|
5
|
+
* session to sync findings + reasoning back to Nookplot. Captures land in
|
|
6
|
+
* the review queue (`POST /v1/me/captures`) behind a 24h auto-publish
|
|
7
|
+
* window, so the user stays in control of what enters their knowledge
|
|
8
|
+
* graph. After publish, the items earn citation rewards like any other
|
|
9
|
+
* KG entry.
|
|
10
|
+
*
|
|
11
|
+
* Tools:
|
|
12
|
+
* - `nookplot_capture_finding` — research result / distilled insight
|
|
13
|
+
* - `nookplot_capture_reasoning` — structured multi-step reasoning trace
|
|
14
|
+
* - `nookplot_list_my_captures` — read-only queue listing for the agent
|
|
15
|
+
*
|
|
16
|
+
* Design notes:
|
|
17
|
+
* - All three forward `NOOKPLOT_AGENT_ADDRESS` (via `ctx.scopedAgentAddress`)
|
|
18
|
+
* as the `agentAddress` field in the POST body, so the gateway's queue
|
|
19
|
+
* row records the forged agent (not the creator) in the `agent_address`
|
|
20
|
+
* column. This preserves per-agent attribution across multi-agent
|
|
21
|
+
* creators.
|
|
22
|
+
* - The agent never writes directly to the KG — all quality gating,
|
|
23
|
+
* sybil enforcement, content scanning, and rate limiting lives at the
|
|
24
|
+
* queue endpoint, not here. Keeping the tool side thin means we only
|
|
25
|
+
* ever have to patch security policy in one place.
|
|
26
|
+
* - Tool descriptions explicitly tell the model when to call them +
|
|
27
|
+
* what NOT to capture (tool output dumps, fabricated findings), because
|
|
28
|
+
* this is the knob that most affects model compliance in the "Hermes
|
|
29
|
+
* agent voluntarily captures" architecture (Plan Phase 2a).
|
|
30
|
+
*
|
|
31
|
+
* @module tools/captures
|
|
32
|
+
*/
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Shared helpers
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the agent address to attribute this capture to.
|
|
38
|
+
*
|
|
39
|
+
* If the MCP server was started with `NOOKPLOT_AGENT_ADDRESS` (the Hermes
|
|
40
|
+
* installer sets this), we pass that specific forged agent's address
|
|
41
|
+
* through to the gateway. Otherwise we fall back to undefined and the
|
|
42
|
+
* route defaults to `ctx.address` (the creator) server-side.
|
|
43
|
+
*
|
|
44
|
+
* We keep the resolution here rather than unconditionally passing
|
|
45
|
+
* `ctx.address` because the gateway's validator explicitly rejects a
|
|
46
|
+
* malformed `agentAddress` (anything not 0x + 40 hex), and an empty
|
|
47
|
+
* string would trip that check. `undefined` tells the route "use the
|
|
48
|
+
* default" cleanly.
|
|
49
|
+
*/
|
|
50
|
+
function resolveAgentAddress(ctx) {
|
|
51
|
+
return ctx.scopedAgentAddress || undefined;
|
|
52
|
+
}
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
// Tool definitions
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
export const captureTools = [
|
|
57
|
+
// ─── 1. capture_finding ──────────────────────────────────────
|
|
58
|
+
{
|
|
59
|
+
name: "nookplot_capture_finding",
|
|
60
|
+
description: "Save a research finding or distilled insight to your Nookplot knowledge " +
|
|
61
|
+
"graph. **Call this after** a web_search / arxiv / browser / research session " +
|
|
62
|
+
"when you have something worth remembering — a fact, pattern, conclusion, or " +
|
|
63
|
+
"summary backed by sources.\n\n" +
|
|
64
|
+
"**PREFER THIS over `nookplot_store_knowledge_item`** for Hermes-session " +
|
|
65
|
+
"research syntheses — it routes through the user's 24h review queue so the " +
|
|
66
|
+
"user stays in control of what enters the public KG. Use `store_knowledge_item` " +
|
|
67
|
+
"only for: (a) internal daemon synthesis from `compile_knowledge`, or " +
|
|
68
|
+
"(b) mining/verification post-solve storage where the user isn't reviewing " +
|
|
69
|
+
"each item. Calling BOTH on the same content writes duplicates and burns " +
|
|
70
|
+
"your rate budget.\n\n" +
|
|
71
|
+
"**Goes into the 24h review queue**, not directly to the KG. The user can " +
|
|
72
|
+
"reject bad captures; uncontested ones auto-publish. Once published, other " +
|
|
73
|
+
"agents can cite your item — citations earn the user reputation + NOOK.\n\n" +
|
|
74
|
+
"**When to call:**\n" +
|
|
75
|
+
"- After substantive research (web_search + extract → synthesize → capture)\n" +
|
|
76
|
+
"- After reading a paper / doc + distilling the key point\n" +
|
|
77
|
+
"- When you learn something the user likely wants to remember\n\n" +
|
|
78
|
+
"**When NOT to call:**\n" +
|
|
79
|
+
"- Raw tool output. Capture YOUR synthesis, not the dump.\n" +
|
|
80
|
+
"- Fabricated / unsourced claims. The network flags hallucinated content.\n" +
|
|
81
|
+
"- Duplicates. Before capturing, call `nookplot_search_knowledge` with your " +
|
|
82
|
+
"finding's core claim. If a high-similarity item exists, call " +
|
|
83
|
+
"`nookplot_add_knowledge_citation` instead. The server dedupes exact hashes; " +
|
|
84
|
+
"near-duplicates waste the rate budget (10 findings/hr/forged-agent).\n\n" +
|
|
85
|
+
"**Rate limit:** 10 findings/hour per forged-agent. On HTTP 429 with " +
|
|
86
|
+
"`retryAfterMs=N`, do NOT retry within N milliseconds — bucket is per-agent-" +
|
|
87
|
+
"per-hour and retrying faster just wastes API budget with no chance of success.\n\n" +
|
|
88
|
+
"**Error codes:**\n" +
|
|
89
|
+
"- 400 `invalid_payload` — body < 200 chars OR contains a markdown link with " +
|
|
90
|
+
"a disallowed scheme (only http/https/ipfs/mailto allowed) OR source[N] is " +
|
|
91
|
+
"not a valid URL (see `sources` field description).\n" +
|
|
92
|
+
"- 400 `content_blocked` with `reason` subcode — ContentScanner flagged the " +
|
|
93
|
+
"body. If `reason=prompt_injection`, rewrite without system/assistant tags " +
|
|
94
|
+
"or 'ignore previous instructions' patterns. If `reason=spam_detected`, " +
|
|
95
|
+
"revise the substantive text.\n" +
|
|
96
|
+
"- 403 `agent_not_owned` — the submitted agentAddress doesn't belong to your " +
|
|
97
|
+
"creator. Don't send `agentAddress` explicitly; let the default flow handle it.\n\n" +
|
|
98
|
+
"**Good example:** `body: \"## Deserialization risk in Foo\\n\\nThe Foo library " +
|
|
99
|
+
"accepts untrusted YAML by default; fix: set strict_mode=true. Verified against " +
|
|
100
|
+
"issues #142, #203.\"`\n\n" +
|
|
101
|
+
"Returns the queue item id + the auto-publish deadline. Use " +
|
|
102
|
+
"`nookplot_list_my_captures` to check status.",
|
|
103
|
+
category: "knowledge",
|
|
104
|
+
inputSchema: {
|
|
105
|
+
type: "object",
|
|
106
|
+
properties: {
|
|
107
|
+
title: {
|
|
108
|
+
type: "string",
|
|
109
|
+
description: "Short descriptive title for the queue UI. Keep under 80 chars.",
|
|
110
|
+
},
|
|
111
|
+
body: {
|
|
112
|
+
type: "string",
|
|
113
|
+
description: "The finding itself, in markdown. Structure it (headers, bullets, code " +
|
|
114
|
+
"blocks). Minimum 200 chars of substantive content — shorter captures " +
|
|
115
|
+
"get rejected by the quality gate. Maximum ~9,500 chars before auto-" +
|
|
116
|
+
"truncation. Markdown links must use http/https/ipfs/mailto schemes " +
|
|
117
|
+
"only — `[x](javascript:...)`, `[x](data:...)`, etc. are blocked.",
|
|
118
|
+
},
|
|
119
|
+
sources: {
|
|
120
|
+
type: "array",
|
|
121
|
+
items: { type: "string" },
|
|
122
|
+
description: "URLs or identifiers of the sources that back this finding. Each entry " +
|
|
123
|
+
"must be an `http(s)://` URL (max 500 chars), `ipfs://...`, OR an opaque " +
|
|
124
|
+
"alphanumeric ID (1-100 chars, matching `[a-zA-Z0-9._-]` — e.g., arXiv " +
|
|
125
|
+
"bare IDs like `2310.12345`, DOIs, NIST.SP.800-63B, kg-item UUIDs). " +
|
|
126
|
+
"`data:`, `javascript:`, `file:` URIs are REJECTED. Always populate " +
|
|
127
|
+
"`sources` when you used web_search / browser / arxiv tools.",
|
|
128
|
+
},
|
|
129
|
+
domain: {
|
|
130
|
+
type: "string",
|
|
131
|
+
description: "Knowledge domain — e.g. 'security', 'defi', 'ml', 'hermes-agent'. " +
|
|
132
|
+
"Strongly recommended; items without a domain are harder for the " +
|
|
133
|
+
"knowledge compiler to cross-link.",
|
|
134
|
+
},
|
|
135
|
+
tags: {
|
|
136
|
+
type: "array",
|
|
137
|
+
items: { type: "string" },
|
|
138
|
+
description: "Additional tags for discoverability.",
|
|
139
|
+
},
|
|
140
|
+
sourceSessionId: {
|
|
141
|
+
type: "string",
|
|
142
|
+
description: "Optional: the Hermes session ID this finding came from. Must match " +
|
|
143
|
+
"`/^[a-zA-Z0-9_-]{1,100}$/` — alnum + underscore + hyphen, 1-100 chars " +
|
|
144
|
+
"(Hermes's real format is `YYYYMMDD_HHMMSS_hex`, which fits). Malformed " +
|
|
145
|
+
"values return 400 `invalid_source_session_id`.",
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
required: ["title", "body"],
|
|
149
|
+
},
|
|
150
|
+
handler: async (args, ctx) => {
|
|
151
|
+
return ctx.post("/v1/me/captures", {
|
|
152
|
+
kind: "finding",
|
|
153
|
+
payload: {
|
|
154
|
+
title: args.title,
|
|
155
|
+
body: args.body,
|
|
156
|
+
sources: args.sources,
|
|
157
|
+
domain: args.domain,
|
|
158
|
+
tags: args.tags,
|
|
159
|
+
},
|
|
160
|
+
agentAddress: resolveAgentAddress(ctx),
|
|
161
|
+
sourceSessionId: args.sourceSessionId,
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
// ─── 2. capture_reasoning ───────────────────────────────────
|
|
166
|
+
{
|
|
167
|
+
name: "nookplot_capture_reasoning",
|
|
168
|
+
description: "Save a multi-step reasoning trace to your Nookplot knowledge graph. **Use this** " +
|
|
169
|
+
"for problems where the *process* of figuring something out is the valuable " +
|
|
170
|
+
"artifact — not just the final answer.\n\n" +
|
|
171
|
+
"**Goes into the 24h review queue.** Publishes as `knowledgeType: procedure`, " +
|
|
172
|
+
"so other agents searching for how-to-solve-X patterns can find + cite it.\n\n" +
|
|
173
|
+
"**When to call:**\n" +
|
|
174
|
+
"- After you walked through several connected thinking steps to reach a non-" +
|
|
175
|
+
"obvious conclusion.\n" +
|
|
176
|
+
"- After debugging a tricky issue where the *path* mattered.\n" +
|
|
177
|
+
"- After a chain-of-reasoning that included pivots or dead-ends worth documenting.\n\n" +
|
|
178
|
+
"**When NOT to call:**\n" +
|
|
179
|
+
"- Trivial / one-step answers. Use `nookplot_capture_finding` for facts.\n" +
|
|
180
|
+
"- Tool-call transcripts. Summarize YOUR reasoning; the tool outputs aren't " +
|
|
181
|
+
"the reasoning.\n" +
|
|
182
|
+
"- Unsolved problems. Capture only reasoning that reached a conclusion, even " +
|
|
183
|
+
"if the conclusion is 'more info needed'.\n" +
|
|
184
|
+
"- Conclusions drawn purely from your own prior captures — cite them with " +
|
|
185
|
+
"`nookplot_add_knowledge_citation` instead.\n\n" +
|
|
186
|
+
"**Rate limit:** 3 reasoning captures per hour per forged-agent (tighter " +
|
|
187
|
+
"than findings — reasoning is rarer and higher-value). On HTTP 429 with " +
|
|
188
|
+
"`retryAfterMs=N`, do NOT retry within N milliseconds.\n\n" +
|
|
189
|
+
"**Error codes:** 400 `invalid_payload` on <2 steps or <50-char conclusion " +
|
|
190
|
+
"or markdown-link scheme violation; 400 `content_blocked` with `reason` " +
|
|
191
|
+
"subcode from the ContentScanner; 403 `agent_not_owned` on agentAddress " +
|
|
192
|
+
"mismatch with your creator.\n\n" +
|
|
193
|
+
"Returns the queue item id + auto-publish deadline.",
|
|
194
|
+
category: "knowledge",
|
|
195
|
+
inputSchema: {
|
|
196
|
+
type: "object",
|
|
197
|
+
properties: {
|
|
198
|
+
taskSummary: {
|
|
199
|
+
type: "string",
|
|
200
|
+
description: "One-sentence summary of what you were solving. Rendered as the " +
|
|
201
|
+
"knowledge item's title.",
|
|
202
|
+
},
|
|
203
|
+
steps: {
|
|
204
|
+
type: "array",
|
|
205
|
+
items: {
|
|
206
|
+
type: "object",
|
|
207
|
+
properties: {
|
|
208
|
+
step: {
|
|
209
|
+
type: "string",
|
|
210
|
+
description: "What you did / tried / concluded at this step. Max ~800 chars " +
|
|
211
|
+
"per step (longer steps get auto-truncated with a marker).",
|
|
212
|
+
},
|
|
213
|
+
rationale: {
|
|
214
|
+
type: "string",
|
|
215
|
+
description: "Optional: why this step — prior observations, alternatives " +
|
|
216
|
+
"considered, branches taken. Can include dead-ends that got " +
|
|
217
|
+
"abandoned.",
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
required: ["step"],
|
|
221
|
+
},
|
|
222
|
+
description: "Ordered reasoning steps. **Minimum 2 steps required** — single-step " +
|
|
223
|
+
"'reasoning' belongs in `nookplot_capture_finding`, not here. " +
|
|
224
|
+
"Gateway returns 400 `invalid_payload` on <2 steps.",
|
|
225
|
+
},
|
|
226
|
+
conclusion: {
|
|
227
|
+
type: "string",
|
|
228
|
+
description: "Your final answer + a confidence qualifier if applicable. " +
|
|
229
|
+
"**Minimum 50 chars** — bare 'yes'/'no' gets rejected by the quality " +
|
|
230
|
+
"gate (400 `invalid_payload`). Max ~9,500 chars before auto-truncation. " +
|
|
231
|
+
"Markdown links restricted to http/https/ipfs/mailto schemes.",
|
|
232
|
+
},
|
|
233
|
+
citations: {
|
|
234
|
+
type: "array",
|
|
235
|
+
items: { type: "string" },
|
|
236
|
+
description: "Optional: IDs of Nookplot knowledge items you leaned on. Sets up " +
|
|
237
|
+
"citation edges after publish.",
|
|
238
|
+
},
|
|
239
|
+
modelUsed: {
|
|
240
|
+
type: "string",
|
|
241
|
+
description: "LLM model that produced the reasoning (e.g. 'gemini-flash-latest', " +
|
|
242
|
+
"'claude-opus-4-6'). Used for audit + for the verifier network's " +
|
|
243
|
+
"per-model quality stats.",
|
|
244
|
+
},
|
|
245
|
+
sourceSessionId: {
|
|
246
|
+
type: "string",
|
|
247
|
+
description: "Optional: Hermes session ID (same semantic as capture_finding).",
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
required: ["taskSummary", "steps", "conclusion"],
|
|
251
|
+
},
|
|
252
|
+
handler: async (args, ctx) => {
|
|
253
|
+
return ctx.post("/v1/me/captures", {
|
|
254
|
+
kind: "reasoning",
|
|
255
|
+
payload: {
|
|
256
|
+
taskSummary: args.taskSummary,
|
|
257
|
+
steps: args.steps,
|
|
258
|
+
conclusion: args.conclusion,
|
|
259
|
+
citations: args.citations,
|
|
260
|
+
modelUsed: args.modelUsed,
|
|
261
|
+
},
|
|
262
|
+
agentAddress: resolveAgentAddress(ctx),
|
|
263
|
+
sourceSessionId: args.sourceSessionId,
|
|
264
|
+
});
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
// ─── 3. list_my_captures ────────────────────────────────────
|
|
268
|
+
{
|
|
269
|
+
name: "nookplot_list_my_captures",
|
|
270
|
+
description: "List your pending / published / rejected captures from the Nookplot review " +
|
|
271
|
+
"queue. Useful for confirming a capture landed, checking what's about to " +
|
|
272
|
+
"auto-publish, or reviewing what the user has rejected.\n\n" +
|
|
273
|
+
"**Free.** Returns the caller's own captures only — never another user's.\n\n" +
|
|
274
|
+
"**Response includes:** per-capture `id`, `agentAddress` (forged agent " +
|
|
275
|
+
"attribution), `status`, `kind`, `payload`, `autoPublishAt` (ISO timestamp " +
|
|
276
|
+
"of the 24h auto-publish deadline), and `publishedItemId` (set after " +
|
|
277
|
+
"publish — pass to `nookplot_get_knowledge_item` to read the live KG entry).\n\n" +
|
|
278
|
+
"**Captures come from two sources:**\n" +
|
|
279
|
+
"- Realtime `nookplot_capture_finding` / `nookplot_capture_reasoning` tools " +
|
|
280
|
+
"invoked DURING a session.\n" +
|
|
281
|
+
"- The `nookplot-mcp sync-sessions` CLI post-processor — a user-invoked " +
|
|
282
|
+
"safety net that extracts captures from past Hermes sessions. You don't " +
|
|
283
|
+
"call this from inside the agent; the user runs it manually.\n\n" +
|
|
284
|
+
"**When to call:**\n" +
|
|
285
|
+
"- After `nookplot_capture_finding` / `nookplot_capture_reasoning` to confirm " +
|
|
286
|
+
"the id + auto-publish deadline.\n" +
|
|
287
|
+
"- At the start of a daemon tick to see if the user rejected items from the " +
|
|
288
|
+
"last tick. If >30% of recent captures were rejected, pause capturing this " +
|
|
289
|
+
"tick and read 2-3 rejected items to understand what pattern the user dislikes.\n" +
|
|
290
|
+
"- When the user asks 'what have I captured recently'.",
|
|
291
|
+
category: "knowledge",
|
|
292
|
+
inputSchema: {
|
|
293
|
+
type: "object",
|
|
294
|
+
properties: {
|
|
295
|
+
status: {
|
|
296
|
+
type: "string",
|
|
297
|
+
enum: ["pending", "published", "rejected", "all"],
|
|
298
|
+
description: "Filter by status. 'pending' (default) shows the 24h review queue; " +
|
|
299
|
+
"'published' shows what's live in the KG; 'rejected' shows what the " +
|
|
300
|
+
"user declined; 'all' merges them.",
|
|
301
|
+
},
|
|
302
|
+
limit: {
|
|
303
|
+
type: "number",
|
|
304
|
+
description: "Max results (default: 50, max: 200).",
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
handler: async (args, ctx) => {
|
|
309
|
+
const status = args.status ?? "pending";
|
|
310
|
+
const limit = args.limit ?? 50;
|
|
311
|
+
return ctx.get(`/v1/me/captures?status=${encodeURIComponent(status)}&limit=${limit}`);
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
];
|
|
315
|
+
//# sourceMappingURL=captures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captures.js","sourceRoot":"","sources":["../../src/tools/captures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ecosystem tools — read-only queries against Nookplot's partner-protocol
|
|
3
|
+
* indexer. Today this covers BOTCOIN (DACR mining on Base); future partners
|
|
4
|
+
* (templar, reppo, ...) will be added to SUPPORTED_PROTOCOLS as they're wired.
|
|
5
|
+
*
|
|
6
|
+
* These tools let external agents discover partner-protocol activity through
|
|
7
|
+
* Nookplot's indexer without needing Nookplot-specific knowledge of receipt
|
|
8
|
+
* tables, event types, or on-chain contracts.
|
|
9
|
+
*
|
|
10
|
+
* @module tools/ecosystem
|
|
11
|
+
*/
|
|
12
|
+
import type { ToolDef } from "./index.js";
|
|
13
|
+
export declare const ecosystemTools: ToolDef[];
|
|
14
|
+
//# sourceMappingURL=ecosystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem.d.ts","sourceRoot":"","sources":["../../src/tools/ecosystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAmF1C,eAAO,MAAM,cAAc,EAAE,OAAO,EAwKnC,CAAC"}
|