@hivemindai/mcp-server 0.4.3 → 0.4.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.
@@ -0,0 +1,2 @@
1
+ export declare function doc(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doc.ts"],"names":[],"mappings":"AAIA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJvD"}
@@ -0,0 +1,144 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { HivemindClient } from "@hivemindai/sdk-ts";
3
+ import { readCredentials } from "../credentials.js";
4
+ export async function doc(args) {
5
+ const creds = readCredentials();
6
+ if (!creds) {
7
+ console.log("Not logged in. Run `hivemind login` to authenticate.");
8
+ process.exit(1);
9
+ }
10
+ const client = new HivemindClient({
11
+ apiKey: creds.api_key,
12
+ baseUrl: creds.api_url,
13
+ });
14
+ const subcommand = args[0];
15
+ if (!subcommand || subcommand === "--help") {
16
+ console.log(`
17
+ Usage: hivemind doc <subcommand>
18
+
19
+ Subcommands:
20
+ add <title> --content "..." | --file <path> Add a knowledge doc
21
+ list List all docs
22
+ search <query> Semantic search
23
+ get <doc_id> Get a specific doc
24
+ update <doc_id> [--title "..."] [--content "..."] [--file <path>]
25
+ delete <doc_id> Delete a doc
26
+ `.trim());
27
+ return;
28
+ }
29
+ try {
30
+ if (subcommand === "add") {
31
+ const title = args[1];
32
+ if (!title) {
33
+ console.error("Usage: hivemind doc add <title> --content \"...\" | --file <path>");
34
+ process.exit(1);
35
+ }
36
+ let content = getFlag(args, "--content");
37
+ const filePath = getFlag(args, "--file");
38
+ if (filePath) {
39
+ content = readFileSync(filePath, "utf-8");
40
+ }
41
+ if (!content) {
42
+ console.error("Provide content via --content or --file");
43
+ process.exit(1);
44
+ }
45
+ const tags = getFlag(args, "--tags")?.split(",").map((t) => t.trim());
46
+ const result = await client.addKnowledgeDoc({ title, content, tags });
47
+ console.log(`Document created: ${result.id}`);
48
+ return;
49
+ }
50
+ if (subcommand === "list") {
51
+ const result = await client.listKnowledgeDocs();
52
+ if (result.docs.length === 0) {
53
+ console.log("No knowledge documents found.");
54
+ return;
55
+ }
56
+ console.log(`Knowledge Base (${result.total} docs)\n`);
57
+ for (const d of result.docs) {
58
+ const tags = d.tags?.length ? ` [${d.tags.join(", ")}]` : "";
59
+ console.log(` ${d.id} ${d.title}${tags}`);
60
+ }
61
+ if (result.has_more) {
62
+ console.log("\n (more docs available)");
63
+ }
64
+ return;
65
+ }
66
+ if (subcommand === "search") {
67
+ const query = args[1];
68
+ if (!query) {
69
+ console.error("Usage: hivemind doc search <query>");
70
+ process.exit(1);
71
+ }
72
+ const result = await client.searchKnowledge(query);
73
+ if (result.docs.length === 0) {
74
+ console.log("No matching documents found.");
75
+ return;
76
+ }
77
+ console.log(`Search Results (${result.total})\n`);
78
+ for (const d of result.docs) {
79
+ const score = d._score !== undefined ? ` (${(d._score * 100).toFixed(0)}%)` : "";
80
+ console.log(` ${d.id} ${d.title}${score}`);
81
+ }
82
+ return;
83
+ }
84
+ if (subcommand === "get") {
85
+ const docId = args[1];
86
+ if (!docId) {
87
+ console.error("Usage: hivemind doc get <doc_id>");
88
+ process.exit(1);
89
+ }
90
+ const result = await client.getKnowledgeDoc(docId);
91
+ const d = result.doc;
92
+ const tags = d.tags?.length ? `\nTags: ${d.tags.join(", ")}` : "";
93
+ console.log(`${d.title}\nID: ${d.id}${tags}\nUpdated: ${d.updated_at}\n\n${d.content}`);
94
+ return;
95
+ }
96
+ if (subcommand === "update") {
97
+ const docId = args[1];
98
+ if (!docId) {
99
+ console.error("Usage: hivemind doc update <doc_id> [--title ...] [--content ...] [--file ...]");
100
+ process.exit(1);
101
+ }
102
+ const updateParams = {};
103
+ const title = getFlag(args, "--title");
104
+ if (title)
105
+ updateParams.title = title;
106
+ let content = getFlag(args, "--content");
107
+ const filePath = getFlag(args, "--file");
108
+ if (filePath)
109
+ content = readFileSync(filePath, "utf-8");
110
+ if (content)
111
+ updateParams.content = content;
112
+ const tagsStr = getFlag(args, "--tags");
113
+ if (tagsStr)
114
+ updateParams.tags = tagsStr.split(",").map((t) => t.trim());
115
+ const result = await client.updateKnowledgeDoc(docId, updateParams);
116
+ console.log(result.updated ? `Document ${docId} updated.` : `Document ${docId} not found.`);
117
+ return;
118
+ }
119
+ if (subcommand === "delete") {
120
+ const docId = args[1];
121
+ if (!docId) {
122
+ console.error("Usage: hivemind doc delete <doc_id>");
123
+ process.exit(1);
124
+ }
125
+ const result = await client.deleteKnowledgeDoc(docId);
126
+ console.log(result.deleted ? `Document ${docId} deleted.` : `Document ${docId} not found.`);
127
+ return;
128
+ }
129
+ console.error(`Unknown subcommand: ${subcommand}`);
130
+ console.error('Run "hivemind doc --help" for usage.');
131
+ process.exit(1);
132
+ }
133
+ catch (err) {
134
+ console.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
135
+ process.exit(1);
136
+ }
137
+ }
138
+ function getFlag(args, flag) {
139
+ const idx = args.indexOf(flag);
140
+ if (idx === -1 || idx + 1 >= args.length)
141
+ return undefined;
142
+ return args[idx + 1];
143
+ }
144
+ //# sourceMappingURL=doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.js","sourceRoot":"","sources":["../../../src/cli/commands/doc.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -6,6 +6,7 @@ import { switchOrg } from "./commands/switch.js";
6
6
  import { init } from "./commands/init.js";
7
7
  import { guard } from "./commands/guard.js";
8
8
  import { release } from "./commands/release.js";
9
+ import { doc } from "./commands/doc.js";
9
10
  const command = process.argv[2];
10
11
  const args = process.argv.slice(3);
11
12
  const commands = {
@@ -17,6 +18,7 @@ const commands = {
17
18
  init: (a) => init(a),
18
19
  guard: (a) => guard(a),
19
20
  release: () => release(),
21
+ doc: (a) => doc(a),
20
22
  };
21
23
  async function main() {
22
24
  if (!command || command === "--help" || command === "-h") {
@@ -30,6 +32,7 @@ Commands:
30
32
  status Show project status (active tasks, blockers)
31
33
  switch Switch to a different organization
32
34
  init Add Hivemind instructions to CLAUDE.md + set up hooks
35
+ doc Manage knowledge base docs (add, list, search, get, delete)
33
36
 
34
37
  Init options:
35
38
  --no-locks Skip file locking (for teams using separate branches)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,MAAM,QAAQ,GAAsD;IAClE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IACpB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IACzB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;CACzB,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBf,CAAC,IAAI,EAAE,CAAC,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,MAAM,QAAQ,GAAsD;IAClE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IACpB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IACzB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBf,CAAC,IAAI,EAAE,CAAC,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ import { registerTasksTool } from "./tools/tasks.js";
17
17
  import { registerContextTool } from "./tools/teams.js";
18
18
  import { registerTriggerTool } from "./tools/triggers.js";
19
19
  import { registerApprovalsTool } from "./tools/approvals.js";
20
+ import { registerKnowledgeTool } from "./tools/knowledge.js";
20
21
  async function main() {
21
22
  const config = loadConfig();
22
23
  let db;
@@ -79,6 +80,7 @@ async function main() {
79
80
  registerContextTool(server, config);
80
81
  registerTriggerTool(server, config, client);
81
82
  registerApprovalsTool(server, config, client);
83
+ registerKnowledgeTool(server, config, client);
82
84
  }
83
85
  const transport = new StdioServerTransport();
84
86
  await server.connect(transport);
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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"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { ServerConfig } from "../config.js";
3
+ import type { HivemindClient } from "@hivemindai/sdk-ts";
4
+ export declare function registerKnowledgeTool(server: McpServer, _config: ServerConfig, client?: HivemindClient): void;
5
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/knowledge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,cAAc,QAoNxB"}
@@ -0,0 +1,205 @@
1
+ import { z } from "zod";
2
+ export function registerKnowledgeTool(server, _config, client) {
3
+ server.tool("hivemind_knowledge", "Manage the knowledge base — curated docs and references that agents can look up. " +
4
+ "Actions: 'search' to find relevant docs, 'get' a specific doc, 'add' a new doc, " +
5
+ "'update' an existing doc, 'delete' a doc, 'list' all docs.", {
6
+ action: z
7
+ .enum(["search", "get", "add", "update", "delete", "list"])
8
+ .describe("Knowledge action to perform"),
9
+ // For search:
10
+ query: z
11
+ .string()
12
+ .optional()
13
+ .describe("Search query for semantic search (required for search)"),
14
+ // For get/update/delete:
15
+ doc_id: z
16
+ .string()
17
+ .optional()
18
+ .describe("Document ID (required for get, update, delete)"),
19
+ // For add/update:
20
+ title: z
21
+ .string()
22
+ .optional()
23
+ .describe("Document title (required for add)"),
24
+ content: z
25
+ .string()
26
+ .optional()
27
+ .describe("Document content (required for add)"),
28
+ tags: z
29
+ .array(z.string())
30
+ .optional()
31
+ .describe("Tags for categorization"),
32
+ // For list:
33
+ limit: z
34
+ .number()
35
+ .optional()
36
+ .describe("Max results to return (default 10 for search, 50 for list)"),
37
+ }, async (params) => {
38
+ if (!client) {
39
+ return {
40
+ content: [
41
+ {
42
+ type: "text",
43
+ text: "Knowledge base is only available in cloud mode.",
44
+ },
45
+ ],
46
+ };
47
+ }
48
+ if (params.action === "search") {
49
+ if (!params.query) {
50
+ return {
51
+ content: [
52
+ { type: "text", text: "Error: 'query' is required for search." },
53
+ ],
54
+ };
55
+ }
56
+ const result = await client.searchKnowledge(params.query, params.limit);
57
+ if (result.docs.length === 0) {
58
+ return {
59
+ content: [
60
+ { type: "text", text: "No matching documents found." },
61
+ ],
62
+ };
63
+ }
64
+ const lines = result.docs.map((d) => {
65
+ const tags = d.tags?.length ? ` [${d.tags.join(", ")}]` : "";
66
+ const score = d._score !== undefined ? ` (relevance: ${(d._score * 100).toFixed(0)}%)` : "";
67
+ return `### ${d.title}${tags}${score}\n**ID:** ${d.id}\n\n${d.content}`;
68
+ });
69
+ return {
70
+ content: [
71
+ {
72
+ type: "text",
73
+ text: `## Knowledge Search Results (${result.total})\n\n${lines.join("\n\n---\n\n")}`,
74
+ },
75
+ ],
76
+ };
77
+ }
78
+ if (params.action === "get") {
79
+ if (!params.doc_id) {
80
+ return {
81
+ content: [
82
+ { type: "text", text: "Error: 'doc_id' is required for get." },
83
+ ],
84
+ };
85
+ }
86
+ try {
87
+ const result = await client.getKnowledgeDoc(params.doc_id);
88
+ const d = result.doc;
89
+ const tags = d.tags?.length ? `\n**Tags:** ${d.tags.join(", ")}` : "";
90
+ return {
91
+ content: [
92
+ {
93
+ type: "text",
94
+ text: `## ${d.title}\n**ID:** ${d.id}${tags}\n**Updated:** ${d.updated_at}\n\n${d.content}`,
95
+ },
96
+ ],
97
+ };
98
+ }
99
+ catch {
100
+ return {
101
+ content: [
102
+ { type: "text", text: `Document '${params.doc_id}' not found.` },
103
+ ],
104
+ };
105
+ }
106
+ }
107
+ if (params.action === "add") {
108
+ if (!params.title || !params.content) {
109
+ return {
110
+ content: [
111
+ { type: "text", text: "Error: 'title' and 'content' are required for add." },
112
+ ],
113
+ };
114
+ }
115
+ const result = await client.addKnowledgeDoc({
116
+ title: params.title,
117
+ content: params.content,
118
+ tags: params.tags,
119
+ });
120
+ return {
121
+ content: [
122
+ {
123
+ type: "text",
124
+ text: `Document created: ${result.id}`,
125
+ },
126
+ ],
127
+ };
128
+ }
129
+ if (params.action === "update") {
130
+ if (!params.doc_id) {
131
+ return {
132
+ content: [
133
+ { type: "text", text: "Error: 'doc_id' is required for update." },
134
+ ],
135
+ };
136
+ }
137
+ const updateParams = {};
138
+ if (params.title)
139
+ updateParams.title = params.title;
140
+ if (params.content)
141
+ updateParams.content = params.content;
142
+ if (params.tags)
143
+ updateParams.tags = params.tags;
144
+ const result = await client.updateKnowledgeDoc(params.doc_id, updateParams);
145
+ return {
146
+ content: [
147
+ {
148
+ type: "text",
149
+ text: result.updated
150
+ ? `Document ${params.doc_id} updated.`
151
+ : `Document ${params.doc_id} not found.`,
152
+ },
153
+ ],
154
+ };
155
+ }
156
+ if (params.action === "delete") {
157
+ if (!params.doc_id) {
158
+ return {
159
+ content: [
160
+ { type: "text", text: "Error: 'doc_id' is required for delete." },
161
+ ],
162
+ };
163
+ }
164
+ const result = await client.deleteKnowledgeDoc(params.doc_id);
165
+ return {
166
+ content: [
167
+ {
168
+ type: "text",
169
+ text: result.deleted
170
+ ? `Document ${params.doc_id} deleted.`
171
+ : `Document ${params.doc_id} not found.`,
172
+ },
173
+ ],
174
+ };
175
+ }
176
+ if (params.action === "list") {
177
+ const result = await client.listKnowledgeDocs(params.limit);
178
+ if (result.docs.length === 0) {
179
+ return {
180
+ content: [
181
+ { type: "text", text: "No knowledge documents found." },
182
+ ],
183
+ };
184
+ }
185
+ const lines = result.docs.map((d) => {
186
+ const tags = d.tags?.length ? ` [${d.tags.join(", ")}]` : "";
187
+ return `- **${d.title}**${tags} (${d.id})\n Updated: ${d.updated_at}`;
188
+ });
189
+ return {
190
+ content: [
191
+ {
192
+ type: "text",
193
+ text: `## Knowledge Base (${result.total} docs)\n\n${lines.join("\n")}${result.has_more ? "\n\n_More docs available — use limit/offset._" : ""}`,
194
+ },
195
+ ],
196
+ };
197
+ }
198
+ return {
199
+ content: [
200
+ { type: "text", text: "Unknown action. Use search, get, add, update, delete, or list." },
201
+ ],
202
+ };
203
+ });
204
+ }
205
+ //# sourceMappingURL=knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/tools/knowledge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hivemindai/mcp-server",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "description": "MCP server for Hivemind — persistent event log for AI agent coordination",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,12 +13,6 @@
13
13
  "dist",
14
14
  "bin"
15
15
  ],
16
- "scripts": {
17
- "build": "tsc",
18
- "test": "vitest run",
19
- "lint": "eslint src/",
20
- "dev": "node --watch dist/index.js"
21
- },
22
16
  "keywords": [
23
17
  "mcp",
24
18
  "hivemind",
@@ -39,9 +33,15 @@
39
33
  "access": "public"
40
34
  },
41
35
  "dependencies": {
42
- "@hivemindai/core": "workspace:*",
43
- "@hivemindai/sdk-ts": "workspace:*",
44
36
  "@modelcontextprotocol/sdk": "^1.12.1",
45
- "zod": "^3.25.76"
37
+ "zod": "^3.25.76",
38
+ "@hivemindai/core": "0.1.8",
39
+ "@hivemindai/sdk-ts": "0.2.1"
40
+ },
41
+ "scripts": {
42
+ "build": "tsc",
43
+ "test": "vitest run",
44
+ "lint": "eslint src/",
45
+ "dev": "node --watch dist/index.js"
46
46
  }
47
- }
47
+ }