@functional-systems/lambdadb-mcp 0.1.4-dev.13 → 0.1.4-dev.15

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/CHANGELOG.md CHANGED
@@ -16,12 +16,12 @@
16
16
 
17
17
  - Pin the LambdaDB TypeScript SDK to 0.7.0 and expose all 49 fixed lowercase
18
18
  analyzer presets in collection-tool guidance; preserve analyzer serialization.
19
- - Add optional per-query managed reranking to the MCP schema and SDK request path,
19
+ - Add optional per-query native reranking to the MCP schema and SDK request path,
20
20
  preserving omission/null, distinct sizes, custom criteria, envelope scores and
21
21
  status metadata, including document downloads. Retain SDK validation and errors.
22
22
  - Extend local and installed-package contracts for analyzer expansion and reranking;
23
23
  update the opt-in live analyzer check to cover all 49 names.
24
- - Add a separate opt-in managed-reranking live suite for real default/custom
24
+ - Add a separate opt-in native reranking live suite for real default/custom
25
25
  inference, empty candidates, omitted/null behavior and docsUrl envelope
26
26
  preservation, with owned-resource cleanup and no fixed relevance expectations.
27
27
  - Native SDK usage is unchanged; no Qdrant mapping exists in this server. Supporting
package/CONTRIBUTING.md CHANGED
@@ -8,7 +8,7 @@ changes outside the PR. Use a dedicated worktree when another checkout is in use
8
8
 
9
9
  Use Node.js 22.14.0 or newer. CI verifies the exact minimum 22.14.0 and current
10
10
  22.x and 24.x LTS releases. Node 20 is end-of-life and is no longer supported.
11
- The runtime dependencies permit older Node versions (MCP SDK 1.29.0 declares
11
+ The runtime dependencies permit older Node versions (MCP SDK 1.31.0 declares
12
12
  Node >=18), but that is not a promise to support end-of-life runtimes. The
13
13
  22.14.0 floor also aligns with the CLI and npm's OIDC publishing runtime floor.
14
14
  See the [Node release schedule](https://nodejs.org/en/about/previous-releases)
package/README.md CHANGED
@@ -21,7 +21,7 @@ reproducibility or the default stable channel for initial setup. See
21
21
 
22
22
  [MCP 0.1.3](https://github.com/lambdadb/lambdadb-mcp/releases/tag/v0.1.3) is the
23
23
  published stable release with SDK 0.8.0, Bayesian hybrid search and native
24
- embedding configuration, alongside managed reranking and all 49 text analyzers.
24
+ embedding configuration, alongside native reranking and all 49 text analyzers.
25
25
  This synchronization starts the next `0.1.4-dev.1` source base; check npm for the
26
26
  current published dev version. Use exact stable version `0.1.3` for reproducible
27
27
  installed execution.
@@ -55,7 +55,9 @@ configurations for reproducibility. `@dev`, `@rc` and unqualified (`latest`) res
55
55
  different release channels; installed copies do not update themselves.
56
56
 
57
57
  The server uses stdio: stdout contains only MCP JSON-RPC messages, diagnostics go
58
- to stderr, and stdin closure/SIGINT/SIGTERM ends the process. Running it without an
58
+ to stderr, and stdin closure/SIGINT/SIGTERM ends the process. The MCP SDK limits
59
+ the stdio receive buffer to 10 MiB and closes the transport if that limit is
60
+ exceeded; keep incoming JSON-RPC messages below it. Running it without an
59
61
  MCP client waits for protocol input. See the [MCP transport specification](https://modelcontextprotocol.io/specification/2025-11-25/basic/transports).
60
62
 
61
63
  ## Project Structure
@@ -104,8 +106,8 @@ Optional write tools:
104
106
 
105
107
  ## API contract and tool inputs
106
108
 
107
- The LambdaDB SDK is pinned to `@functional-systems/lambdadb@0.8.0`, checked against
108
- the published package and [v0.8.0 release](https://github.com/lambdadb/lambdadb-typescript-client/releases/tag/v0.8.0).
109
+ The LambdaDB SDK is pinned to `@functional-systems/lambdadb@0.8.1`, checked against
110
+ the published package and [v0.8.1 release](https://github.com/lambdadb/lambdadb-typescript-client/releases/tag/v0.8.1).
109
111
  This dependency update applies to builds containing this change. Publishing the SDK
110
112
  alone does not update previously published or installed MCP packages.
111
113
 
@@ -230,7 +232,7 @@ integer candidate budgets unchanged, and leaves Bayesian structure, bounds and
230
232
  cross-field validation to the server, retaining service errors. No query defaults,
231
233
  weights or candidate counts are inserted by MCP. Bayesian scores are heuristic
232
234
  fusion scores; applied reranking preserves them in `retrievalScore` and retains
233
- all rerank status metadata, including through SDK-managed `docsUrl` downloads.
235
+ all rerank status metadata, including when the SDK downloads documents from `docsUrl`.
234
236
 
235
237
  The [Bayesian contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.8.0/docs/bayesian-search.md)
236
238
  and native embedding additions below are pinned to backend
@@ -274,8 +276,8 @@ Bayesian example above. For example, call `lambdadb_query_collection` with:
274
276
  }
275
277
  ```
276
278
 
277
- Native dimensions and similarity are optional and belong inside `embedding`.
278
- MCP does not infer a flag, provider, model or native dimensions/similarity default.
279
+ Native embedding dimensions and similarity are optional and belong inside `embedding`.
280
+ MCP does not infer a flag, provider, model or native embedding dimensions/similarity default.
279
281
  The SDK rejects `managedEmbedding: false` with `embedding`, and native embedding
280
282
  with top-level dimensions/similarity. Caller-provided vectors continue to use
281
283
  top-level dimensions/similarity. Free-form nested object configurations retain
@@ -283,12 +285,14 @@ server validation. For older servers, explicitly add `managedEmbedding: true`
283
285
  beside `type`; it is preserved. Normalized collection metadata may still contain
284
286
  that true flag. See the [native embedding contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.8.0/docs/native-embeddings.md).
285
287
 
286
- ### Optional managed reranking
288
+ <a id="optional-managed-reranking"></a>
289
+
290
+ ### Optional native reranking
287
291
 
288
292
  `lambdadb_query_collection` accepts per-query `rerank`; omission or `null`
289
293
  preserves existing searches. Collection creation has no rerank setting.
290
- LambdaDB manages provider credentials; only the existing project API key is needed.
291
- See the [managed reranking contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.7.0/docs/managed-reranking.md).
294
+ LambdaDB supplies provider credentials; only the existing project API key is needed.
295
+ See the [native reranking contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.7.0/docs/managed-reranking.md).
292
296
 
293
297
  ```json
294
298
  {
@@ -433,7 +437,7 @@ temporary collection in cleanup, and verifies that the collection is absent.
433
437
  Branch/Tag/Alias setup and collection cleanup use the SDK directly because these
434
438
  operations are not exposed as MCP tools. This test is separate from `npm run check`.
435
439
 
436
- Managed reranking has a separate live suite because it requires an enabled
440
+ Native reranking has a separate live suite because it requires an enabled
437
441
  `typesafe` / `jev-1.13.0` model and can incur inference cost. Use the same explicitly
438
442
  authorized development project and write opt-in, with an additional inference opt-in:
439
443
 
@@ -454,8 +458,8 @@ suite does not deliberately induce failures or verify search quality, load,
454
458
  production deployment or billing readiness. These live suites are outside default
455
459
  checks and credential-free CI.
456
460
 
457
- Bayesian/native embedding verification also requires explicit managed inference
458
- opt-in for OpenAI embeddings and TypeSafe reranking:
461
+ Bayesian/native embedding verification also requires explicit inference
462
+ opt-in for native embedding with OpenAI and native reranking with TypeSafe:
459
463
 
460
464
  ```bash
461
465
  LAMBDADB_RUN_LIVE_TESTS=1 LAMBDADB_RUN_LIVE_RERANK_TESTS=1 LAMBDADB_LIVE_CONFIRM_PROJECT=YOUR_DEV_PROJECT npm run test:live:bayesian
package/RELEASING.md CHANGED
@@ -34,7 +34,7 @@ A downloaded stable tarball matched registry integrity, source commit and SDK
34
34
  0.7.0 and passed 31 clean-consumer stdio tests. Provenance statement repository,
35
35
  workflow, tag, source commit and subject digest matched the publication.
36
36
 
37
- SDK 0.7.0 adds 49 fixed text analyzer presets and optional per-query managed
37
+ SDK 0.7.0 adds 49 fixed text analyzer presets and optional per-query native
38
38
  reranking. Read-only defaults and explicit write opt-in remain. See
39
39
  `docs/validation/2026-10-04-0.1.2.md` for separate candidate, authorized
40
40
  source-build live, published dev and published stable evidence. Do not repeat the
@@ -46,7 +46,7 @@ while `latest` stays on 0.1.2 until an explicitly authorized stable release.
46
46
  Do not merge stable version metadata directly into develop.
47
47
 
48
48
  Live suites require explicit designation of a development project. Reranking
49
- also requires managed inference opt-in; no Jev API key is required. Live contract
49
+ also requires native reranking inference opt-in; no Jev API key is required. Live contract
50
50
  checks do not establish production deployment, search quality, load/failure
51
51
  coverage or billing readiness. Supporting backend deployment/model availability
52
52
  and keyword-index requirements remain; existing collections/indexes are not migrated.
@@ -23,7 +23,7 @@ const rerankSchema = z.strictObject({
23
23
  .describe("Omitted/null defaults to error. returnOriginal covers only eligible provider failures."),
24
24
  criteria: z.array(z.string().min(1)).min(2).max(10).meta({ uniqueItems: true }).nullable().optional()
25
25
  .describe("Distinct nonblank descriptions from lowest to highest relevance, at most 2 KiB each and 8 KiB total UTF-8. Omitted/null uses defaults.")
26
- }).nullable().optional().describe("Optional per-query managed reranking; requires a scoring query and positive size, forbids sort. LambdaDB manages provider credentials.");
26
+ }).nullable().optional().describe("Optional per-query native reranking; requires a scoring query and positive size, forbids sort. LambdaDB supplies provider credentials.");
27
27
  export function registerReadTools(server, config) {
28
28
  server.registerTool("lambdadb_list_collections", {
29
29
  title: "List Collections",
@@ -68,7 +68,7 @@ export function registerReadTools(server, config) {
68
68
  });
69
69
  server.registerTool("lambdadb_query_collection", {
70
70
  title: "Query Collection",
71
- description: "Search documents with optional Bayesian hybrid search, managed reranking and keyword facet counts across all matches. Omit query for match-all; size: 0 requires facets and forbids reranking. Reranking requires a scoring query and forbids sort; it does not enable vector/hybrid facets. Applied envelope score is an evaluation score, retrievalScore preserves search score, and rerank metadata reports status. Features require a supporting server; facets require newly built keyword indexes.",
71
+ description: "Search documents with optional Bayesian hybrid search, native reranking and keyword facet counts across all matches. Omit query for match-all; size: 0 requires facets and forbids reranking. Reranking requires a scoring query and forbids sort; it does not enable vector/hybrid facets. Applied envelope score is an evaluation score, retrievalScore preserves search score, and rerank metadata reports status. Features require a supporting server; facets require newly built keyword indexes.",
72
72
  annotations: {
73
73
  readOnlyHint: true,
74
74
  openWorldHint: false
@@ -6,13 +6,13 @@ import { jsonResult, nameSchema, partitionFilterSchema } from "./shared.js";
6
6
  export function registerWriteTools(server, config) {
7
7
  server.registerTool("lambdadb_create_collection", {
8
8
  title: "Create Collection",
9
- description: `Create a new collection in the configured project. Fixed lowercase text analyzer presets: ${Object.values(Analyzer).join(", ")}. Omitted analyzers uses standard; custom pipelines/options are unsupported. The keyword text analyzer is distinct from the keyword field type. Keyword indexes built on a supporting server support facets. Native vector fields accept embedding without managedEmbedding; explicit managedEmbedding: true remains supported for older servers.`,
9
+ description: `Create a new collection in the configured project. Fixed lowercase text analyzer presets: ${Object.values(Analyzer).join(", ")}. Omitted analyzers uses standard; custom pipelines/options are unsupported. The keyword text analyzer is distinct from the keyword field type. Keyword indexes built on a supporting server support facets. Native embedding vector fields accept embedding without managedEmbedding; explicit managedEmbedding: true remains supported for older servers.`,
10
10
  annotations: {
11
11
  openWorldHint: false
12
12
  },
13
13
  inputSchema: z.strictObject({
14
14
  collectionName: nameSchema,
15
- indexConfigs: z.record(z.string(), z.any()).refine((value) => Object.keys(value).length > 0, "indexConfigs must contain at least one field.").describe("Field configurations validated by the SDK/server. Native vectors: {type: 'vector', embedding: {provider, model, sourceField, dimensions?, similarity?}}; declare sourceField as text. Native dimensions/similarity belong inside embedding, never at the field top level. Do not combine embedding with managedEmbedding: false. Legacy true is preserved; no provider/model or native defaults are inferred. Caller-provided vectors retain top-level dimensions/similarity."),
15
+ indexConfigs: z.record(z.string(), z.any()).refine((value) => Object.keys(value).length > 0, "indexConfigs must contain at least one field.").describe("Field configurations validated by the SDK/server. Native embedding vectors: {type: 'vector', embedding: {provider, model, sourceField, dimensions?, similarity?}}; declare sourceField as text. Native embedding dimensions/similarity belong inside embedding, never at the field top level. Do not combine embedding with managedEmbedding: false. Legacy true is preserved; no provider/model or native embedding defaults are inferred. Caller-provided vectors retain top-level dimensions/similarity."),
16
16
  description: z.string().max(255).optional(),
17
17
  tags: z.record(z.string().regex(/^[A-Za-z0-9_.-]{1,63}$/), z.string().min(1).max(127).regex(/^[^:#,]+$/))
18
18
  .refine((value) => Object.keys(value).length <= 5, "At most five tags are allowed.")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@functional-systems/lambdadb-mcp",
3
- "version": "0.1.4-dev.13",
3
+ "version": "0.1.4-dev.15",
4
4
  "private": false,
5
5
  "description": "MCP server for LambdaDB data plane",
6
6
  "type": "module",
@@ -24,8 +24,8 @@
24
24
  "test:package": "node scripts/test-package.mjs"
25
25
  },
26
26
  "dependencies": {
27
- "@functional-systems/lambdadb": "0.8.0",
28
- "@modelcontextprotocol/sdk": "1.29.0",
27
+ "@functional-systems/lambdadb": "0.8.1",
28
+ "@modelcontextprotocol/sdk": "1.31.0",
29
29
  "zod": "^4.1.12"
30
30
  },
31
31
  "devDependencies": {
@@ -62,5 +62,5 @@
62
62
  "access": "public",
63
63
  "registry": "https://registry.npmjs.org"
64
64
  },
65
- "gitHead": "f61b3a9a3b8ce34001292d21e5fdce301534c940"
65
+ "gitHead": "752fd825480556305f2a89025a0d87f5126b4d1b"
66
66
  }