@plur-ai/mcp 0.1.0 → 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.
Files changed (2) hide show
  1. package/dist/index.js +36 -1
  2. package/package.json +3 -2
package/dist/index.js CHANGED
@@ -71,6 +71,41 @@ function getToolDefinitions() {
71
71
  };
72
72
  }
73
73
  },
74
+ {
75
+ name: "plur.recall.hybrid",
76
+ description: "Hybrid search \u2014 BM25 + local embeddings merged via Reciprocal Rank Fusion. No API calls, fully local. Best default for most use cases.",
77
+ inputSchema: {
78
+ type: "object",
79
+ properties: {
80
+ query: { type: "string", description: "Search query to find relevant engrams" },
81
+ scope: { type: "string", description: "Filter by scope (also includes global)" },
82
+ domain: { type: "string", description: "Filter by domain prefix" },
83
+ limit: { type: "number", description: "Max results to return (default 20)" },
84
+ min_strength: { type: "number", description: "Minimum retrieval strength (0-1)" }
85
+ },
86
+ required: ["query"]
87
+ },
88
+ handler: async (args, plur) => {
89
+ const results = await plur.recallHybrid(args.query, {
90
+ scope: args.scope,
91
+ domain: args.domain,
92
+ limit: args.limit,
93
+ min_strength: args.min_strength
94
+ });
95
+ return {
96
+ results: results.map((e) => ({
97
+ id: e.id,
98
+ statement: e.statement,
99
+ type: e.type,
100
+ scope: e.scope,
101
+ domain: e.domain,
102
+ retrieval_strength: e.activation.retrieval_strength
103
+ })),
104
+ count: results.length,
105
+ mode: "hybrid"
106
+ };
107
+ }
108
+ },
74
109
  {
75
110
  name: "plur.inject",
76
111
  description: "Get a scored context injection for a task \u2014 returns directives and considerations within token budget",
@@ -289,7 +324,7 @@ async function createServer(plur) {
289
324
  const instance = plur ?? new Plur();
290
325
  const tools = getToolDefinitions();
291
326
  const server = new Server(
292
- { name: "plur-mcp", version: "0.1.0" },
327
+ { name: "plur-mcp", version: "0.2.0" },
293
328
  { capabilities: { tools: {} } }
294
329
  );
295
330
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plur-ai/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "plur-mcp": "dist/index.js"
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "@modelcontextprotocol/sdk": "^1.12.0",
14
14
  "zod": "^3.23.0",
15
- "@plur-ai/core": "0.1.0"
15
+ "@plur-ai/core": "0.2.0"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "^25.5.0"
@@ -38,6 +38,7 @@
38
38
  "exports": {
39
39
  ".": {
40
40
  "import": "./dist/index.js",
41
+ "require": "./dist/index.js",
41
42
  "types": "./dist/index.d.ts"
42
43
  }
43
44
  },