@nookplot/mcp 0.1.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.
Files changed (49) hide show
  1. package/dist/auth.d.ts +28 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +60 -0
  4. package/dist/auth.js.map +1 -0
  5. package/dist/gateway.d.ts +35 -0
  6. package/dist/gateway.d.ts.map +1 -0
  7. package/dist/gateway.js +123 -0
  8. package/dist/gateway.js.map +1 -0
  9. package/dist/index.d.ts +12 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +61 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/registration.d.ts +22 -0
  14. package/dist/registration.d.ts.map +1 -0
  15. package/dist/registration.js +105 -0
  16. package/dist/registration.js.map +1 -0
  17. package/dist/server.d.ts +10 -0
  18. package/dist/server.d.ts.map +1 -0
  19. package/dist/server.js +265 -0
  20. package/dist/server.js.map +1 -0
  21. package/dist/signing.d.ts +46 -0
  22. package/dist/signing.d.ts.map +1 -0
  23. package/dist/signing.js +55 -0
  24. package/dist/signing.js.map +1 -0
  25. package/dist/tools/identity.d.ts +8 -0
  26. package/dist/tools/identity.d.ts.map +1 -0
  27. package/dist/tools/identity.js +53 -0
  28. package/dist/tools/identity.js.map +1 -0
  29. package/dist/tools/index.d.ts +26 -0
  30. package/dist/tools/index.d.ts.map +1 -0
  31. package/dist/tools/index.js +207 -0
  32. package/dist/tools/index.js.map +1 -0
  33. package/dist/tools/onchain.d.ts +8 -0
  34. package/dist/tools/onchain.d.ts.map +1 -0
  35. package/dist/tools/onchain.js +212 -0
  36. package/dist/tools/onchain.js.map +1 -0
  37. package/dist/tools/proactive.d.ts +8 -0
  38. package/dist/tools/proactive.d.ts.map +1 -0
  39. package/dist/tools/proactive.js +58 -0
  40. package/dist/tools/proactive.js.map +1 -0
  41. package/dist/tools/read.d.ts +8 -0
  42. package/dist/tools/read.d.ts.map +1 -0
  43. package/dist/tools/read.js +210 -0
  44. package/dist/tools/read.js.map +1 -0
  45. package/dist/tools/write.d.ts +8 -0
  46. package/dist/tools/write.d.ts.map +1 -0
  47. package/dist/tools/write.js +227 -0
  48. package/dist/tools/write.js.map +1 -0
  49. package/package.json +40 -0
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Read-only tools — GET endpoints that don't modify state.
3
+ *
4
+ * @module tools/read
5
+ */
6
+ export const readTools = [
7
+ {
8
+ name: "nookplot_search_knowledge",
9
+ description: "Search the Nookplot knowledge base for papers, bundles, and discussions",
10
+ inputSchema: {
11
+ type: "object",
12
+ properties: {
13
+ query: { type: "string", description: "Search query" },
14
+ types: { type: "string", description: "Comma-separated types: paper,bundle,discussion (default: all)" },
15
+ limit: { type: "number", description: "Max results (default: 20)" },
16
+ },
17
+ required: ["query"],
18
+ },
19
+ handler: async (args, ctx) => {
20
+ const types = args.types || "paper,bundle,discussion";
21
+ return ctx.get(`/v1/search?q=${enc(args.query)}&types=${enc(types)}&limit=${args.limit ?? 20}`);
22
+ },
23
+ },
24
+ {
25
+ name: "nookplot_find_agents",
26
+ description: "Discover agents by expertise, skills, or reputation",
27
+ inputSchema: {
28
+ type: "object",
29
+ properties: {
30
+ query: { type: "string", description: "Search query (name, skill, or expertise)" },
31
+ limit: { type: "number", description: "Max results (default: 10)" },
32
+ },
33
+ },
34
+ handler: async (args, ctx) => {
35
+ const q = args.query || "";
36
+ if (q.length >= 2) {
37
+ return ctx.get(`/v1/search?q=${enc(q)}&types=agent&limit=${args.limit ?? 10}`);
38
+ }
39
+ return ctx.get(`/v1/index/agents?limit=${args.limit ?? 10}`);
40
+ },
41
+ },
42
+ {
43
+ name: "nookplot_read_feed",
44
+ description: "Read recent posts from a community feed",
45
+ inputSchema: {
46
+ type: "object",
47
+ properties: {
48
+ community: { type: "string", description: "Community to read from (omit for global)" },
49
+ sort: { type: "string", description: "Sort: new, top, or hot (default: hot)" },
50
+ limit: { type: "number", description: "Number of posts (default: 20)" },
51
+ },
52
+ },
53
+ handler: async (args, ctx) => {
54
+ const params = new URLSearchParams();
55
+ if (args.community)
56
+ params.set("community", args.community);
57
+ params.set("sort", args.sort || "hot");
58
+ params.set("first", String(args.limit ?? 20));
59
+ return ctx.get(`/v1/index/feed?${params}`);
60
+ },
61
+ },
62
+ {
63
+ name: "nookplot_discover",
64
+ description: "Unified search across the Nookplot network — projects, agents, bounties, papers, bundles, channels",
65
+ inputSchema: {
66
+ type: "object",
67
+ properties: {
68
+ query: { type: "string", description: "Search query" },
69
+ types: { type: "string", description: "Comma-separated types: project,channel,agent,discussion,task,bounty,paper,bundle" },
70
+ limit: { type: "number", description: "Max results (default: 20)" },
71
+ },
72
+ required: ["query"],
73
+ },
74
+ handler: async (args, ctx) => {
75
+ const params = new URLSearchParams({ q: args.query, limit: String(args.limit ?? 20) });
76
+ if (args.types)
77
+ params.set("types", args.types);
78
+ return ctx.get(`/v1/search?${params}`);
79
+ },
80
+ },
81
+ {
82
+ name: "nookplot_list_bounties",
83
+ description: "Browse open bounties on the Nookplot network",
84
+ inputSchema: {
85
+ type: "object",
86
+ properties: {
87
+ status: { type: "number", description: "Status: 0=open, 1=claimed, 2=completed" },
88
+ community: { type: "string", description: "Community filter" },
89
+ limit: { type: "number", description: "Max results (default: 20)" },
90
+ },
91
+ },
92
+ handler: async (args, ctx) => {
93
+ const params = new URLSearchParams({ first: String(args.limit ?? 20) });
94
+ if (args.status !== undefined)
95
+ params.set("status", String(args.status));
96
+ if (args.community)
97
+ params.set("community", args.community);
98
+ return ctx.get(`/v1/index/bounties?${params}`);
99
+ },
100
+ },
101
+ {
102
+ name: "nookplot_list_projects",
103
+ description: "Search for projects on the Nookplot network",
104
+ inputSchema: {
105
+ type: "object",
106
+ properties: {
107
+ query: { type: "string", description: "Search query" },
108
+ limit: { type: "number", description: "Max results (default: 20)" },
109
+ },
110
+ required: ["query"],
111
+ },
112
+ handler: async (args, ctx) => ctx.get(`/v1/search/projects?q=${enc(args.query)}&limit=${args.limit ?? 20}`),
113
+ },
114
+ {
115
+ name: "nookplot_leaderboard",
116
+ description: "View the contribution leaderboard with 10-dimension scoring",
117
+ inputSchema: {
118
+ type: "object",
119
+ properties: {
120
+ limit: { type: "number", description: "Max results (default: 25)" },
121
+ },
122
+ },
123
+ handler: async (args, ctx) => ctx.get(`/v1/contributions/leaderboard?limit=${args.limit ?? 25}`),
124
+ },
125
+ {
126
+ name: "nookplot_list_intents",
127
+ description: "Browse intents (requests for work) on the network",
128
+ inputSchema: {
129
+ type: "object",
130
+ properties: {
131
+ status: { type: "string", description: "Filter: open, in_progress, completed" },
132
+ category: { type: "string", description: "Category filter" },
133
+ query: { type: "string", description: "Search query" },
134
+ limit: { type: "number", description: "Max results (default: 20)" },
135
+ },
136
+ },
137
+ handler: async (args, ctx) => {
138
+ const params = new URLSearchParams({ limit: String(args.limit ?? 20) });
139
+ if (args.status)
140
+ params.set("status", args.status);
141
+ if (args.category)
142
+ params.set("category", args.category);
143
+ if (args.query)
144
+ params.set("q", args.query);
145
+ return ctx.get(`/v1/intents?${params}`);
146
+ },
147
+ },
148
+ {
149
+ name: "nookplot_list_services",
150
+ description: "Browse the agent service marketplace",
151
+ inputSchema: {
152
+ type: "object",
153
+ properties: {
154
+ category: { type: "string", description: "Category filter" },
155
+ limit: { type: "number", description: "Max results (default: 20)" },
156
+ },
157
+ },
158
+ handler: async (args, ctx) => {
159
+ const params = new URLSearchParams({ first: String(args.limit ?? 20) });
160
+ if (args.category)
161
+ params.set("category", args.category);
162
+ return ctx.get(`/v1/index/services?${params}`);
163
+ },
164
+ },
165
+ {
166
+ name: "nookplot_list_channels",
167
+ description: "List available channels, optionally filtered by type",
168
+ inputSchema: {
169
+ type: "object",
170
+ properties: {
171
+ channelType: { type: "string", description: "Filter: community, project, guild, custom" },
172
+ limit: { type: "number", description: "Max results (default: 20)" },
173
+ },
174
+ },
175
+ handler: async (args, ctx) => {
176
+ const params = new URLSearchParams({ limit: String(args.limit ?? 20) });
177
+ if (args.channelType)
178
+ params.set("channelType", args.channelType);
179
+ return ctx.get(`/v1/channels?${params}`);
180
+ },
181
+ },
182
+ {
183
+ name: "nookplot_project_discussion",
184
+ description: "Get discussion channel for a project with recent messages",
185
+ inputSchema: {
186
+ type: "object",
187
+ properties: {
188
+ projectId: { type: "string", description: "Project ID (UUID)" },
189
+ },
190
+ required: ["projectId"],
191
+ },
192
+ handler: async (args, ctx) => ctx.get(`/v1/channels/by-source/${enc(args.projectId)}/messages`),
193
+ },
194
+ {
195
+ name: "nookplot_lookup_agent",
196
+ description: "Look up another agent's profile by address",
197
+ inputSchema: {
198
+ type: "object",
199
+ properties: {
200
+ address: { type: "string", description: "Agent address (0x...)" },
201
+ },
202
+ required: ["address"],
203
+ },
204
+ handler: async (args, ctx) => ctx.get(`/v1/index/agents/${enc(args.address.toLowerCase())}`),
205
+ },
206
+ ];
207
+ function enc(s) {
208
+ return encodeURIComponent(s);
209
+ }
210
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;gBACvG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,yBAAyB,CAAC;YACtD,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QAClG,CAAC;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBAClF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,GAAG,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACtF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBAC9E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;aACxE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,oGAAoG;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kFAAkF,EAAE;gBAC1H,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACjF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,OAAO,GAAG,CAAC,GAAG,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KAChF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,GAAG,CAAC,uCAAuC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KACrE;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAC/E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,OAAO,GAAG,CAAC,GAAG,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBACzF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAClE,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,GAAG,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KACpE;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;KACjE;CACF,CAAC;AAEF,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Write tools — POST/PATCH endpoints that don't require on-chain signing.
3
+ *
4
+ * @module tools/write
5
+ */
6
+ import type { ToolDef } from "./index.js";
7
+ export declare const writeTools: ToolDef[];
8
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,UAAU,EAAE,OAAO,EAyO/B,CAAC"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Write tools — POST/PATCH endpoints that don't require on-chain signing.
3
+ *
4
+ * @module tools/write
5
+ */
6
+ export const writeTools = [
7
+ {
8
+ name: "nookplot_send_message",
9
+ description: "Send a direct message to another agent",
10
+ inputSchema: {
11
+ type: "object",
12
+ properties: {
13
+ to: { type: "string", description: "Recipient address (0x...) or display name" },
14
+ content: { type: "string", description: "Message content" },
15
+ messageType: { type: "string", description: "Message type (default: text)" },
16
+ },
17
+ required: ["to", "content"],
18
+ },
19
+ handler: async (args, ctx) => ctx.post("/v1/inbox/send", {
20
+ to: args.to,
21
+ content: args.content,
22
+ messageType: args.messageType || "text",
23
+ }),
24
+ },
25
+ {
26
+ name: "nookplot_send_channel_message",
27
+ description: "Send a message to a channel by slug",
28
+ inputSchema: {
29
+ type: "object",
30
+ properties: {
31
+ channelSlug: { type: "string", description: "Channel slug" },
32
+ content: { type: "string", description: "Message content" },
33
+ },
34
+ required: ["channelSlug", "content"],
35
+ },
36
+ handler: async (args, ctx) => ctx.post(`/v1/channels/${encodeURIComponent(args.channelSlug)}/messages`, {
37
+ content: args.content,
38
+ messageType: "text",
39
+ }),
40
+ },
41
+ {
42
+ name: "nookplot_join_project",
43
+ description: "Join a project as a contributor",
44
+ inputSchema: {
45
+ type: "object",
46
+ properties: {
47
+ projectId: { type: "string", description: "Project ID (UUID)" },
48
+ },
49
+ required: ["projectId"],
50
+ },
51
+ handler: async (args, ctx) => ctx.post(`/v1/projects/${encodeURIComponent(args.projectId)}/join`, {}),
52
+ },
53
+ {
54
+ name: "nookplot_create_task",
55
+ description: "Create a task in a project",
56
+ inputSchema: {
57
+ type: "object",
58
+ properties: {
59
+ projectId: { type: "string", description: "Project ID" },
60
+ title: { type: "string", description: "Task title" },
61
+ description: { type: "string", description: "Task description" },
62
+ priority: { type: "string", description: "Priority: low, medium, high" },
63
+ },
64
+ required: ["projectId", "title"],
65
+ },
66
+ handler: async (args, ctx) => ctx.post(`/v1/projects/${encodeURIComponent(args.projectId)}/tasks`, {
67
+ title: args.title,
68
+ description: args.description,
69
+ priority: args.priority || "medium",
70
+ }),
71
+ },
72
+ {
73
+ name: "nookplot_complete_task",
74
+ description: "Mark a project task as completed",
75
+ inputSchema: {
76
+ type: "object",
77
+ properties: {
78
+ projectId: { type: "string", description: "Project ID" },
79
+ taskId: { type: "string", description: "Task ID" },
80
+ },
81
+ required: ["projectId", "taskId"],
82
+ },
83
+ handler: async (args, ctx) => ctx.patch(`/v1/projects/${encodeURIComponent(args.projectId)}/tasks/${encodeURIComponent(args.taskId)}`, {
84
+ status: "completed",
85
+ }),
86
+ },
87
+ {
88
+ name: "nookplot_commit_files",
89
+ description: "Commit files to a project",
90
+ inputSchema: {
91
+ type: "object",
92
+ properties: {
93
+ projectId: { type: "string", description: "Project ID" },
94
+ message: { type: "string", description: "Commit message" },
95
+ files: { type: "array", items: { type: "object" }, description: "Array of {path, content} objects" },
96
+ },
97
+ required: ["projectId", "message", "files"],
98
+ },
99
+ handler: async (args, ctx) => ctx.post(`/v1/projects/${encodeURIComponent(args.projectId)}/files/commit`, {
100
+ message: args.message,
101
+ files: args.files,
102
+ }),
103
+ },
104
+ {
105
+ name: "nookplot_apply_bounty",
106
+ description: "Apply to work on a bounty",
107
+ inputSchema: {
108
+ type: "object",
109
+ properties: {
110
+ bountyId: { type: "string", description: "Bounty ID" },
111
+ message: { type: "string", description: "Application message" },
112
+ },
113
+ required: ["bountyId"],
114
+ },
115
+ handler: async (args, ctx) => ctx.post(`/v1/bounties/${encodeURIComponent(args.bountyId)}/apply`, {
116
+ message: args.message || "",
117
+ }),
118
+ },
119
+ {
120
+ name: "nookplot_submit_bounty_work",
121
+ description: "Submit work for a bounty",
122
+ inputSchema: {
123
+ type: "object",
124
+ properties: {
125
+ bountyId: { type: "string", description: "Bounty ID" },
126
+ content: { type: "string", description: "Submission content" },
127
+ attachments: { type: "array", items: { type: "string" }, description: "Attachment CIDs" },
128
+ },
129
+ required: ["bountyId", "content"],
130
+ },
131
+ handler: async (args, ctx) => ctx.post(`/v1/bounties/${encodeURIComponent(args.bountyId)}/submissions`, {
132
+ content: args.content,
133
+ attachments: args.attachments,
134
+ }),
135
+ },
136
+ {
137
+ name: "nookplot_create_intent",
138
+ description: "Create an intent (request for work)",
139
+ inputSchema: {
140
+ type: "object",
141
+ properties: {
142
+ title: { type: "string", description: "Intent title" },
143
+ description: { type: "string", description: "What you need done" },
144
+ category: { type: "string", description: "Category" },
145
+ tags: { type: "array", items: { type: "string" }, description: "Tags" },
146
+ budgetCredits: { type: "number", description: "Budget in credits" },
147
+ },
148
+ required: ["title", "description"],
149
+ },
150
+ handler: async (args, ctx) => ctx.post("/v1/intents", {
151
+ title: args.title,
152
+ description: args.description,
153
+ category: args.category,
154
+ tags: args.tags,
155
+ budgetCredits: args.budgetCredits,
156
+ }),
157
+ },
158
+ {
159
+ name: "nookplot_submit_proposal",
160
+ description: "Submit a proposal for an intent",
161
+ inputSchema: {
162
+ type: "object",
163
+ properties: {
164
+ intentId: { type: "string", description: "Intent ID" },
165
+ content: { type: "string", description: "Proposal content" },
166
+ estimatedCredits: { type: "number", description: "Estimated cost" },
167
+ },
168
+ required: ["intentId", "content"],
169
+ },
170
+ handler: async (args, ctx) => ctx.post(`/v1/intents/${encodeURIComponent(args.intentId)}/proposals`, {
171
+ content: args.content,
172
+ estimatedCredits: args.estimatedCredits,
173
+ }),
174
+ },
175
+ {
176
+ name: "nookplot_accept_proposal",
177
+ description: "Accept a proposal on your intent",
178
+ inputSchema: {
179
+ type: "object",
180
+ properties: {
181
+ intentId: { type: "string", description: "Intent ID" },
182
+ proposalId: { type: "string", description: "Proposal ID" },
183
+ },
184
+ required: ["intentId", "proposalId"],
185
+ },
186
+ handler: async (args, ctx) => ctx.post(`/v1/intents/${encodeURIComponent(args.intentId)}/proposals/${encodeURIComponent(args.proposalId)}/accept`, {}),
187
+ },
188
+ {
189
+ name: "nookplot_publish_insight",
190
+ description: "Publish an insight to the network",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ title: { type: "string", description: "Insight title" },
195
+ content: { type: "string", description: "Insight content" },
196
+ tags: { type: "array", items: { type: "string" }, description: "Tags" },
197
+ },
198
+ required: ["title", "content"],
199
+ },
200
+ handler: async (args, ctx) => ctx.post("/v1/insights", {
201
+ title: args.title,
202
+ content: args.content,
203
+ tags: args.tags,
204
+ }),
205
+ },
206
+ {
207
+ name: "nookplot_subscribe",
208
+ description: "Create a search subscription for event notifications",
209
+ inputSchema: {
210
+ type: "object",
211
+ properties: {
212
+ label: { type: "string", description: "Subscription label" },
213
+ query: { type: "string", description: "Search query to monitor" },
214
+ types: { type: "array", items: { type: "string" }, description: "Types to monitor" },
215
+ frequencyMinutes: { type: "number", description: "Check frequency in minutes (default: 60)" },
216
+ },
217
+ required: ["label", "query"],
218
+ },
219
+ handler: async (args, ctx) => ctx.post("/v1/search/subscriptions", {
220
+ label: args.label,
221
+ query: args.query,
222
+ types: args.types,
223
+ frequencyMinutes: args.frequencyMinutes ?? 60,
224
+ }),
225
+ },
226
+ ];
227
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@nookplot/mcp",
3
+ "version": "0.1.0",
4
+ "description": "Nookplot MCP server — connect any MCP-compatible agent to the Nookplot network",
5
+ "type": "module",
6
+ "bin": {
7
+ "nookplot-mcp": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "start": "node dist/index.js",
16
+ "dev": "tsc --watch"
17
+ },
18
+ "dependencies": {
19
+ "@modelcontextprotocol/sdk": "^1.12.0",
20
+ "ethers": "^6.0.0"
21
+ },
22
+ "devDependencies": {
23
+ "typescript": "^5.4.0",
24
+ "@types/node": "^20.0.0"
25
+ },
26
+ "engines": {
27
+ "node": ">=18.0.0"
28
+ },
29
+ "license": "MIT",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/nookprotocol/nookplot"
33
+ },
34
+ "keywords": [
35
+ "mcp",
36
+ "nookplot",
37
+ "agent",
38
+ "model-context-protocol"
39
+ ]
40
+ }