@cyanheads/protein-mcp-server 0.5.2 → 0.6.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 (35) hide show
  1. package/AGENTS.md +5 -5
  2. package/CLAUDE.md +5 -5
  3. package/README.md +10 -5
  4. package/changelog/0.5.x/0.5.3.md +20 -0
  5. package/changelog/0.6.x/0.6.0.md +34 -0
  6. package/dist/mcp-server/tools/definitions/_schemas.d.ts +15 -0
  7. package/dist/mcp-server/tools/definitions/_schemas.d.ts.map +1 -1
  8. package/dist/mcp-server/tools/definitions/_schemas.js +46 -2
  9. package/dist/mcp-server/tools/definitions/_schemas.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/analyze-collection.tool.d.ts +3 -7
  11. package/dist/mcp-server/tools/definitions/analyze-collection.tool.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/analyze-collection.tool.js +43 -21
  13. package/dist/mcp-server/tools/definitions/analyze-collection.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/find-similar.tool.d.ts +3 -0
  15. package/dist/mcp-server/tools/definitions/find-similar.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/find-similar.tool.js +20 -3
  17. package/dist/mcp-server/tools/definitions/find-similar.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/search-structures.tool.d.ts +11 -2
  19. package/dist/mcp-server/tools/definitions/search-structures.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/search-structures.tool.js +81 -13
  21. package/dist/mcp-server/tools/definitions/search-structures.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/track-ligands.tool.d.ts +3 -0
  23. package/dist/mcp-server/tools/definitions/track-ligands.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/track-ligands.tool.js +21 -2
  25. package/dist/mcp-server/tools/definitions/track-ligands.tool.js.map +1 -1
  26. package/dist/services/rcsb/facets.d.ts +20 -1
  27. package/dist/services/rcsb/facets.d.ts.map +1 -1
  28. package/dist/services/rcsb/facets.js +36 -3
  29. package/dist/services/rcsb/facets.js.map +1 -1
  30. package/dist/services/rcsb/rcsb-service.d.ts +2 -0
  31. package/dist/services/rcsb/rcsb-service.d.ts.map +1 -1
  32. package/dist/services/rcsb/rcsb-service.js +5 -5
  33. package/dist/services/rcsb/rcsb-service.js.map +1 -1
  34. package/package.json +8 -8
  35. package/server.json +3 -3
@@ -46,6 +46,12 @@ const inputSchema = z.object({
46
46
  .optional()
47
47
  .describe('Minimum sequence identity 0–1 (by:sequence). Default 0.'),
48
48
  limit: z.number().int().min(1).max(100).default(25).describe('Maximum hits to return (1–100).'),
49
+ start: z
50
+ .number()
51
+ .int()
52
+ .min(0)
53
+ .default(0)
54
+ .describe('Zero-based result offset (by:sequence only).'),
49
55
  });
50
56
  const outputSchema = z.object({
51
57
  by: z.enum(['sequence', 'structure']).describe('Echoed similarity axis.'),
@@ -95,6 +101,11 @@ const enrichmentShape = {
95
101
  .number()
96
102
  .optional()
97
103
  .describe('Total upstream matches before pagination (by:sequence).'),
104
+ start: z.number().optional().describe('Zero-based offset of the sequence-result page.'),
105
+ nextStart: z
106
+ .number()
107
+ .optional()
108
+ .describe('Offset for the next sequence-result page; absent on the final or past-end page.'),
98
109
  notice: z.string().optional().describe('Advisory note (still computing, empty results).'),
99
110
  };
100
111
  export const findSimilar = tool('protein_find_similar', {
@@ -139,7 +150,7 @@ export const findSimilar = tool('protein_find_similar', {
139
150
  handler(input, ctx) {
140
151
  const cfg = getServerConfig();
141
152
  if (input.by === 'sequence')
142
- return runSequence(input, cfg.facetBucketCap, ctx);
153
+ return runSequence(input, ctx);
143
154
  return runStructure(input, cfg.asyncPollTimeoutMs, ctx);
144
155
  },
145
156
  format: (result) => {
@@ -165,21 +176,27 @@ export const findSimilar = tool('protein_find_similar', {
165
176
  return [{ type: 'text', text: lines.join('\n') }];
166
177
  },
167
178
  });
168
- async function runSequence(input, enrichLimit, ctx) {
179
+ async function runSequence(input, ctx) {
169
180
  const rcsb = getRcsbService();
170
181
  const sequence = await resolveSequence(input, ctx);
171
182
  const result = await rcsb.searchSequence(sequence, {
172
183
  ...(typeof input.max_evalue === 'number' ? { maxEvalue: input.max_evalue } : {}),
173
184
  ...(typeof input.min_identity === 'number' ? { minIdentity: input.min_identity } : {}),
174
185
  limit: input.limit,
186
+ start: input.start,
175
187
  }, ctx);
176
- const entryIds = [...new Set(result.hits.map((h) => entryIdOf(h.id)))].slice(0, enrichLimit);
188
+ const entryIds = [...new Set(result.hits.map((h) => entryIdOf(h.id)))];
177
189
  const metaById = new Map();
178
190
  if (entryIds.length > 0) {
179
191
  for (const meta of await rcsb.getEntries(entryIds, ctx))
180
192
  metaById.set(meta.id, meta);
181
193
  }
182
194
  ctx.enrich.total(result.total);
195
+ const nextStart = input.start + result.hits.length;
196
+ ctx.enrich({
197
+ start: input.start,
198
+ ...(nextStart < result.total ? { nextStart } : {}),
199
+ });
183
200
  if (result.hits.length === 0)
184
201
  ctx.enrich.notice('No sequence-similar entries found. Lower min_identity or raise max_evalue.');
185
202
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"find-similar.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-similar.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-similar.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-similar.tool.ts"],"names":[],"mappings":"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"}
@@ -29,9 +29,11 @@ export declare const searchStructures: import("@cyanheads/mcp-ts-core").ToolDefi
29
29
  resolution: "resolution";
30
30
  }>>>;
31
31
  limit: z.ZodDefault<z.ZodNumber>;
32
+ start: z.ZodDefault<z.ZodNumber>;
32
33
  }, z.core.$strip>, z.ZodObject<{
33
34
  hits: z.ZodArray<z.ZodObject<{
34
35
  id: z.ZodString;
36
+ entityId: z.ZodOptional<z.ZodString>;
35
37
  source: z.ZodEnum<{
36
38
  experimental: "experimental";
37
39
  predicted: "predicted";
@@ -57,8 +59,13 @@ export declare const searchStructures: import("@cyanheads/mcp-ts-core").ToolDefi
57
59
  }, z.core.$strip>, readonly [{
58
60
  readonly reason: "no_criteria";
59
61
  readonly code: JsonRpcErrorCode.InvalidParams;
60
- readonly when: "No query, sequence, or organism was provided — nothing to search on.";
61
- readonly recovery: "Provide a free-text query, a protein sequence, or an organism name (filters alone are not enough).";
62
+ readonly when: "No query, sequence, organism, method, or maximum resolution was provided — nothing to search on.";
63
+ readonly recovery: "Provide a free-text query, protein sequence, organism name, experimental method, or maximum resolution.";
64
+ }, {
65
+ readonly reason: "sequence_modifier_without_sequence";
66
+ readonly code: JsonRpcErrorCode.InvalidParams;
67
+ readonly when: "min_identity or max_evalue was supplied with no sequence, so the threshold would never reach a sequence search.";
68
+ readonly recovery: "Add a sequence to run a similarity search these thresholds can filter, or drop min_identity and max_evalue and search on the remaining criteria.";
62
69
  }, {
63
70
  readonly reason: "duplicate_dimension";
64
71
  readonly code: JsonRpcErrorCode.InvalidParams;
@@ -66,6 +73,8 @@ export declare const searchStructures: import("@cyanheads/mcp-ts-core").ToolDefi
66
73
  readonly recovery: "List each facet dimension at most once; drop the repeated value and re-call.";
67
74
  }], {
68
75
  readonly totalCount: z.ZodNumber;
76
+ readonly start: z.ZodNumber;
77
+ readonly nextStart: z.ZodOptional<z.ZodNumber>;
69
78
  readonly effectiveQuery: z.ZodOptional<z.ZodString>;
70
79
  readonly notice: z.ZodOptional<z.ZodString>;
71
80
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"search-structures.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-structures.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqCjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoN3B,CAAC"}
1
+ {"version":3,"file":"search-structures.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-structures.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwDjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsR3B,CAAC"}
@@ -30,6 +30,24 @@ function isPredictedId(id) {
30
30
  function accessionFromCsm(id) {
31
31
  return /AF_AF([A-Z0-9]+?)F\d+$/i.exec(id)?.[1]?.toUpperCase();
32
32
  }
33
+ /**
34
+ * Advisory for the facet dimensions the bucket cap sliced, naming every one of
35
+ * them rather than the first. The cap here is fixed server-side with no per-call
36
+ * override, so the route to the long tail is another tool: every dimension this
37
+ * tool facets is also a `protein_analyze_collection` `group_by` value, and that
38
+ * tool takes a `bucket_limit` up to 500.
39
+ *
40
+ * A sequence search has no such route — `protein_analyze_collection` has no
41
+ * sequence input, so it cannot reproduce the result set the facet describes.
42
+ * Pointing there would hand back a different distribution under the same name,
43
+ * so that case is told to narrow the request instead.
44
+ */
45
+ function truncationNotice(dimensions, cap, sequenceSearch) {
46
+ const named = `${dimensions.join(' and ')} ${dimensions.length > 1 ? 'were' : 'was'} capped at ${cap} buckets`;
47
+ return sequenceSearch
48
+ ? `${named}. protein_analyze_collection cannot reproduce a sequence search, so narrow this request instead: drop sequence, or add organism, method, max_resolution, or query filters to shrink the distribution before the cap.`
49
+ : `${named}. Call protein_analyze_collection with ${dimensions.length > 1 ? 'each dimension' : 'that dimension'} in group_by and a bucket_limit above ${cap} (up to 500) to reach the long tail.`;
50
+ }
33
51
  export const searchStructures = tool('protein_search_structures', {
34
52
  title: 'protein-mcp-server: search structures',
35
53
  description: 'Search experimental (PDB) and predicted (computed-model) protein structures by free text, ' +
@@ -46,8 +64,14 @@ export const searchStructures = tool('protein_search_structures', {
46
64
  {
47
65
  reason: 'no_criteria',
48
66
  code: JsonRpcErrorCode.InvalidParams,
49
- when: 'No query, sequence, or organism was provided — nothing to search on.',
50
- recovery: 'Provide a free-text query, a protein sequence, or an organism name (filters alone are not enough).',
67
+ when: 'No query, sequence, organism, method, or maximum resolution was provided — nothing to search on.',
68
+ recovery: 'Provide a free-text query, protein sequence, organism name, experimental method, or maximum resolution.',
69
+ },
70
+ {
71
+ reason: 'sequence_modifier_without_sequence',
72
+ code: JsonRpcErrorCode.InvalidParams,
73
+ when: 'min_identity or max_evalue was supplied with no sequence, so the threshold would never reach a sequence search.',
74
+ recovery: 'Add a sequence to run a similarity search these thresholds can filter, or drop min_identity and max_evalue and search on the remaining criteria.',
51
75
  },
52
76
  {
53
77
  reason: 'duplicate_dimension',
@@ -83,12 +107,12 @@ export const searchStructures = tool('protein_search_structures', {
83
107
  .min(0)
84
108
  .max(1)
85
109
  .optional()
86
- .describe('Minimum sequence identity (0–1) for a sequence search. Default 0.'),
110
+ .describe('Minimum sequence identity (0–1) for a sequence search. Requires sequence — supplying it without one is rejected, since the threshold would never reach RCSB. Default 0.'),
87
111
  max_evalue: z
88
112
  .number()
89
113
  .positive()
90
114
  .optional()
91
- .describe('Maximum E-value for a sequence search. Default 1.'),
115
+ .describe('Maximum E-value for a sequence search. Requires sequence — supplying it without one is rejected, since the threshold would never reach RCSB. Default 1.'),
92
116
  content_type: z
93
117
  .enum(['experimental', 'predicted', 'all'])
94
118
  .default('all')
@@ -98,12 +122,22 @@ export const searchStructures = tool('protein_search_structures', {
98
122
  .optional()
99
123
  .describe('Optional dimensions to summarize as a facet breakdown alongside the hits. Each dimension at most once; repeating one is rejected.'),
100
124
  limit: z.number().int().min(1).max(100).default(25).describe('Maximum hits to return (1–100).'),
125
+ start: z
126
+ .number()
127
+ .int()
128
+ .min(0)
129
+ .default(0)
130
+ .describe('Zero-based result offset. Combine with limit to retrieve later pages.'),
101
131
  }),
102
132
  output: z.object({
103
133
  hits: z
104
134
  .array(z
105
135
  .object({
106
136
  id: z.string().describe('Structure identifier (PDB entry ID or computed-model ID).'),
137
+ entityId: z
138
+ .string()
139
+ .optional()
140
+ .describe('Matched polymer-entity ID for experimental sequence hits; id remains the chainable PDB entry ID.'),
107
141
  source: z
108
142
  .enum(['experimental', 'predicted'])
109
143
  .describe('Which universe the hit came from.'),
@@ -135,6 +169,11 @@ export const searchStructures = tool('protein_search_structures', {
135
169
  }),
136
170
  enrichment: {
137
171
  totalCount: z.number().describe('Total matches upstream before pagination.'),
172
+ start: z.number().describe('Zero-based offset of the returned page.'),
173
+ nextStart: z
174
+ .number()
175
+ .optional()
176
+ .describe('Offset for the next page; absent on the final or past-end page.'),
138
177
  effectiveQuery: z.string().optional().describe('Echoed text query for follow-up calls.'),
139
178
  notice: z
140
179
  .string()
@@ -142,11 +181,27 @@ export const searchStructures = tool('protein_search_structures', {
142
181
  .describe('Advisory note (empty results, predicted-search caveats, truncation, facet dimensions whose buckets cover materially less than totalCount). Carries every applicable advisory in one string.'),
143
182
  },
144
183
  async handler(input, ctx) {
145
- if (!input.query && !input.sequence && !input.organism) {
146
- throw ctx.fail('no_criteria', 'Provide a query, sequence, or organism to search on.', {
184
+ if (!input.query &&
185
+ !input.sequence &&
186
+ !input.organism &&
187
+ !input.method &&
188
+ typeof input.max_resolution !== 'number') {
189
+ throw ctx.fail('no_criteria', 'Provide a query, sequence, organism, method, or maximum resolution to search on.', {
147
190
  ...ctx.recoveryFor('no_criteria'),
148
191
  });
149
192
  }
193
+ // buildQuery() reads these two only inside its sequence branch, so without a
194
+ // sequence they never reach RCSB and the response looks like a filtered search
195
+ // that was never filtered. Rejected here rather than in the schema so the
196
+ // caller gets a data.reason and the declared recovery hint alongside -32602.
197
+ const sequenceModifiers = [
198
+ typeof input.min_identity === 'number' ? 'min_identity' : undefined,
199
+ typeof input.max_evalue === 'number' ? 'max_evalue' : undefined,
200
+ ].filter((name) => name !== undefined);
201
+ if (!input.sequence && sequenceModifiers.length > 0) {
202
+ const many = sequenceModifiers.length > 1;
203
+ throw ctx.fail('sequence_modifier_without_sequence', `${sequenceModifiers.join(' and ')} ${many ? 'are sequence-search thresholds' : 'is a sequence-search threshold'}, but this request has no sequence — ${many ? 'they' : 'it'} would never reach RCSB.`, { ...ctx.recoveryFor('sequence_modifier_without_sequence') });
204
+ }
150
205
  // RCSB collapses two identically-named facet requests into one raw facet, and
151
206
  // the attribute-keyed lookup maps both specs back onto it — a repeated
152
207
  // dimension would return the same breakdown twice and double-count on any sum.
@@ -168,6 +223,7 @@ export const searchStructures = tool('protein_search_structures', {
168
223
  ...(typeof input.max_evalue === 'number' ? { maxEvalue: input.max_evalue } : {}),
169
224
  contentType: CONTENT_TYPE_SCOPES[input.content_type],
170
225
  limit: input.limit,
226
+ start: input.start,
171
227
  }, ctx, facetSpecs);
172
228
  const experimentalIds = [
173
229
  ...new Set(result.hits.filter((h) => !isPredictedId(h.id)).map((h) => entryIdOf(h.id))),
@@ -177,18 +233,27 @@ export const searchStructures = tool('protein_search_structures', {
177
233
  for (const meta of await rcsb.getEntries(experimentalIds, ctx))
178
234
  metaById.set(meta.id, meta);
179
235
  }
180
- const hits = result.hits.map((h) => toHit(h, metaById));
236
+ const hits = result.hits.map((h) => toHit(h, metaById, Boolean(input.sequence)));
181
237
  const facets = result.facets?.map((f) => toFacetOutput(f, cfg.facetBucketCap, result.total));
182
238
  ctx.enrich.total(result.total);
239
+ const nextStart = input.start + hits.length;
240
+ ctx.enrich({
241
+ start: input.start,
242
+ ...(nextStart < result.total ? { nextStart } : {}),
243
+ });
183
244
  if (input.query)
184
245
  ctx.enrich.echo(input.query);
185
- // `notice` is a single last-wins field, so the zero-hit advice and one
186
- // fragment per under-covered facet dimension compose into ONE string.
246
+ // `notice` is a single last-wins field, so the zero-hit advice, the capped-facet
247
+ // advice, and one fragment per under-covered facet dimension compose into ONE string.
187
248
  const notices = [];
188
249
  if (hits.length === 0)
189
250
  notices.push(ZERO_HIT_NOTICE[input.content_type]);
190
- if (facets)
251
+ if (facets) {
252
+ const capped = facets.filter((f) => f.truncated).map((f) => f.dimension);
253
+ if (capped.length > 0)
254
+ notices.push(truncationNotice(capped, cfg.facetBucketCap, Boolean(input.sequence)));
191
255
  notices.push(...coverageNotices(facets, result.total));
256
+ }
192
257
  if (notices.length > 0)
193
258
  ctx.enrich.notice(notices.join(' '));
194
259
  return { hits, ...(facets ? { facets } : {}) };
@@ -200,6 +265,7 @@ export const searchStructures = tool('protein_search_structures', {
200
265
  if (h.title)
201
266
  lines.push(h.title);
202
267
  const meta = [
268
+ h.entityId ? `**Entity:** ${h.entityId}` : null,
203
269
  h.method ? `**Method:** ${h.method}` : null,
204
270
  typeof h.resolution === 'number' ? `**Resolution:** ${h.resolution} Å` : null,
205
271
  h.organism ? `**Organism:** ${h.organism}` : null,
@@ -217,7 +283,7 @@ export const searchStructures = tool('protein_search_structures', {
217
283
  },
218
284
  });
219
285
  /** Build one output hit, folding in enrichment metadata when available. */
220
- function toHit(hit, metaById) {
286
+ function toHit(hit, metaById, sequenceSearch) {
221
287
  if (isPredictedId(hit.id)) {
222
288
  const accession = accessionFromCsm(hit.id);
223
289
  return {
@@ -227,9 +293,11 @@ function toHit(hit, metaById) {
227
293
  ...(accession ? { uniprotAccession: accession } : {}),
228
294
  };
229
295
  }
230
- const meta = metaById.get(entryIdOf(hit.id));
296
+ const entryId = entryIdOf(hit.id);
297
+ const meta = metaById.get(entryId);
231
298
  return {
232
- id: hit.id,
299
+ id: sequenceSearch ? entryId : hit.id,
300
+ ...(sequenceSearch ? { entityId: hit.id } : {}),
233
301
  source: 'experimental',
234
302
  score: hit.score,
235
303
  ...(meta?.title ? { title: meta.title } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"search-structures.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-structures.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-structures.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-structures.tool.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare const trackLigands: import("@cyanheads/mcp-ts-core").ToolDefiniti
17
17
  comp_id: z.ZodOptional<z.ZodString>;
18
18
  pdb_id: z.ZodOptional<z.ZodString>;
19
19
  limit: z.ZodDefault<z.ZodNumber>;
20
+ start: z.ZodDefault<z.ZodNumber>;
20
21
  }, z.core.$strip>, z.ZodObject<{
21
22
  mode: z.ZodEnum<{
22
23
  binding_site: "binding_site";
@@ -59,6 +60,8 @@ export declare const trackLigands: import("@cyanheads/mcp-ts-core").ToolDefiniti
59
60
  readonly recovery: "Use mode \"find_ligand\" to resolve a name to a component ID first, then confirm the ligand is present in the structure via protein_get_structure.";
60
61
  }], {
61
62
  readonly totalCount: z.ZodOptional<z.ZodNumber>;
63
+ readonly start: z.ZodOptional<z.ZodNumber>;
64
+ readonly nextStart: z.ZodOptional<z.ZodNumber>;
62
65
  readonly resolvedCompId: z.ZodOptional<z.ZodString>;
63
66
  readonly notice: z.ZodOptional<z.ZodString>;
64
67
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"track-ligands.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/track-ligands.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0CjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuOvB,CAAC"}
1
+ {"version":3,"file":"track-ligands.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/track-ligands.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0CjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgQvB,CAAC"}
@@ -82,6 +82,12 @@ export const trackLigands = tool('protein_track_ligands', {
82
82
  .max(100)
83
83
  .default(25)
84
84
  .describe('Maximum results to return (1–100).'),
85
+ start: z
86
+ .number()
87
+ .int()
88
+ .min(0)
89
+ .default(0)
90
+ .describe('Zero-based result offset (mode structures_with_ligand only).'),
85
91
  }),
86
92
  output: z.object({
87
93
  mode: z
@@ -113,6 +119,14 @@ export const trackLigands = tool('protein_track_ligands', {
113
119
  .number()
114
120
  .optional()
115
121
  .describe('Total upstream matches before pagination (structures_with_ligand).'),
122
+ start: z
123
+ .number()
124
+ .optional()
125
+ .describe('Zero-based offset of the structures_with_ligand result page.'),
126
+ nextStart: z
127
+ .number()
128
+ .optional()
129
+ .describe('Offset for the next structures_with_ligand page; absent on the final or past-end page.'),
116
130
  resolvedCompId: z.string().optional().describe('The chemical component ID used to query.'),
117
131
  notice: z
118
132
  .string()
@@ -161,9 +175,14 @@ export const trackLigands = tool('protein_track_ligands', {
161
175
  throw ctx.fail('missing_param', 'mode structures_with_ligand requires a "comp_id".', {
162
176
  ...ctx.recoveryFor('missing_param'),
163
177
  });
164
- const result = await rcsb.searchByLigand(compId, { limit: input.limit }, ctx);
178
+ const result = await rcsb.searchByLigand(compId, { limit: input.limit, start: input.start }, ctx);
165
179
  ctx.enrich.total(result.total);
166
- ctx.enrich({ resolvedCompId: compId });
180
+ const nextStart = input.start + result.hits.length;
181
+ ctx.enrich({
182
+ resolvedCompId: compId,
183
+ start: input.start,
184
+ ...(nextStart < result.total ? { nextStart } : {}),
185
+ });
167
186
  // A valid component with zero containing structures is an empty result set,
168
187
  // not a not-found — mirrors protein_search_structures' empty-hits behavior.
169
188
  if (result.hits.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"track-ligands.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/track-ligands.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"track-ligands.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/track-ligands.tool.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,25 @@ export declare const FACET_DIMENSIONS: {
45
45
  export type FacetDimensionName = keyof typeof FACET_DIMENSIONS;
46
46
  /** All supported dimension names (for Zod enums). */
47
47
  export declare const FACET_DIMENSION_NAMES: [FacetDimensionName, ...FacetDimensionName[]];
48
- /** Build a {@link FacetSpec} for a dimension, with an optional interval override and nested child. */
48
+ /** The histogram / date-histogram dimensions, in enum order — the set an `interval` can reach. */
49
+ export declare const INTERVAL_DIMENSION_NAMES: ("method" | "molecular_weight" | "organism" | "polymer_type" | "release_year" | "resolution")[];
50
+ /**
51
+ * Which requested dimension can consume an `interval` override, or `undefined`
52
+ * when neither can. Compatibility is by value type rather than merely "not
53
+ * terms": a numeric bin width belongs to a `histogram` dimension, the `year`
54
+ * period to a `date_histogram` one. The primary position wins when both could
55
+ * take it, so an ambiguous override lands where the caller can predict.
56
+ */
57
+ export declare function intervalTarget(interval: number | string, dimension: FacetDimensionName, child?: FacetDimensionName): FacetDimensionName | undefined;
58
+ /**
59
+ * Build a {@link FacetSpec} for a dimension, with an optional interval override
60
+ * and nested child. The override reaches whichever of the two positions can
61
+ * consume it ({@link intervalTarget}) — RCSB honours a per-position `interval`
62
+ * on a nested facet, so a histogram child is not stuck on its default just
63
+ * because the parent aggregates by terms. The position that cannot consume it
64
+ * keeps its own default, and an override no position accepts is dropped rather
65
+ * than sent upstream; callers that must reject that case ask
66
+ * {@link intervalTarget} first.
67
+ */
49
68
  export declare function buildFacetSpec(dimension: FacetDimensionName, interval?: number | string, child?: FacetDimensionName): FacetSpec;
50
69
  //# sourceMappingURL=facets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../../src/services/rcsb/facets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAWnD,gFAAgF;AAChF,eAAO,MAAM,gBAAgB;;iBAEzB,SAAS,EAAE,cAAc;iBACzB,WAAW,EAAE,OAAO;iBACpB,KAAK,EAAE,qBAAqB;;;iBAG5B,SAAS,EAAE,kDAAkD;iBAC7D,WAAW,EAAE,OAAO;iBACpB,KAAK,EAAE,iBAAiB;;;iBAGxB,SAAS,EAAE,qCAAqC;iBAChD,WAAW,EAAE,OAAO;iBACpB,KAAK,EAAE,qBAAqB;;;iBAG5B,SAAS,EAAE,qCAAqC;iBAChD,WAAW,EAAE,WAAW;iBACxB,eAAe,EAAE,GAAG;iBACpB,KAAK,EAAE,gBAAgB;;;iBAGvB,SAAS,EAAE,0CAA0C;iBACrD,WAAW,EAAE,gBAAgB;iBAC7B,eAAe,EAAE,MAAM;iBACvB,KAAK,EAAE,cAAc;;;iBAGrB,SAAS,EAAE,kCAAkC;iBAC7C,WAAW,EAAE,WAAW;iBACxB,eAAe,EAAE,EAAE;iBACnB,KAAK,EAAE,wBAAwB;;CAEc,CAAC;AAElD,wCAAwC;AACxC,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,EAAoC,CACpE,kBAAkB,EAClB,GAAG,kBAAkB,EAAE,CACxB,CAAC;AAEF,sGAAsG;AACtG,wBAAgB,cAAc,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAC1B,KAAK,CAAC,EAAE,kBAAkB,GACzB,SAAS,CAYX"}
1
+ {"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../../src/services/rcsb/facets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAWnD,gFAAgF;AAChF,eAAO,MAAM,gBAAgB;;iBAEzB,SAAS,EAAE,cAAc;iBACzB,WAAW,EAAE,OAAO;iBACpB,KAAK,EAAE,qBAAqB;;;iBAG5B,SAAS,EAAE,kDAAkD;iBAC7D,WAAW,EAAE,OAAO;iBACpB,KAAK,EAAE,iBAAiB;;;iBAGxB,SAAS,EAAE,qCAAqC;iBAChD,WAAW,EAAE,OAAO;iBACpB,KAAK,EAAE,qBAAqB;;;iBAG5B,SAAS,EAAE,qCAAqC;iBAChD,WAAW,EAAE,WAAW;iBACxB,eAAe,EAAE,GAAG;iBACpB,KAAK,EAAE,gBAAgB;;;iBAGvB,SAAS,EAAE,0CAA0C;iBACrD,WAAW,EAAE,gBAAgB;iBAC7B,eAAe,EAAE,MAAM;iBACvB,KAAK,EAAE,cAAc;;;iBAGrB,SAAS,EAAE,kCAAkC;iBAC7C,WAAW,EAAE,WAAW;iBACxB,eAAe,EAAE,EAAE;iBACnB,KAAK,EAAE,wBAAwB;;CAEc,CAAC;AAElD,wCAAwC;AACxC,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,EAAoC,CACpE,kBAAkB,EAClB,GAAG,kBAAkB,EAAE,CACxB,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,iGAEpC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,SAAS,EAAE,kBAAkB,EAC7B,KAAK,CAAC,EAAE,kBAAkB,GACzB,kBAAkB,GAAG,SAAS,CAKhC;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAC1B,KAAK,CAAC,EAAE,kBAAkB,GACzB,SAAS,CAMX"}
@@ -42,8 +42,25 @@ export const FACET_DIMENSIONS = {
42
42
  };
43
43
  /** All supported dimension names (for Zod enums). */
44
44
  export const FACET_DIMENSION_NAMES = Object.keys(FACET_DIMENSIONS);
45
- /** Build a {@link FacetSpec} for a dimension, with an optional interval override and nested child. */
46
- export function buildFacetSpec(dimension, interval, child) {
45
+ /** The histogram / date-histogram dimensions, in enum order — the set an `interval` can reach. */
46
+ export const INTERVAL_DIMENSION_NAMES = FACET_DIMENSION_NAMES.filter((d) => FACET_DIMENSIONS[d].aggregation !== 'terms');
47
+ /**
48
+ * Which requested dimension can consume an `interval` override, or `undefined`
49
+ * when neither can. Compatibility is by value type rather than merely "not
50
+ * terms": a numeric bin width belongs to a `histogram` dimension, the `year`
51
+ * period to a `date_histogram` one. The primary position wins when both could
52
+ * take it, so an ambiguous override lands where the caller can predict.
53
+ */
54
+ export function intervalTarget(interval, dimension, child) {
55
+ const wanted = typeof interval === 'number' ? 'histogram' : 'date_histogram';
56
+ if (FACET_DIMENSIONS[dimension].aggregation === wanted)
57
+ return dimension;
58
+ if (child && FACET_DIMENSIONS[child].aggregation === wanted)
59
+ return child;
60
+ return undefined;
61
+ }
62
+ /** Build one position's {@link FacetSpec}, falling back to its default bin width or period. */
63
+ function specFor(dimension, interval) {
47
64
  const def = FACET_DIMENSIONS[dimension];
48
65
  const resolvedInterval = interval ?? def.defaultInterval;
49
66
  return {
@@ -53,7 +70,23 @@ export function buildFacetSpec(dimension, interval, child) {
53
70
  ...(def.aggregation !== 'terms' && resolvedInterval !== undefined
54
71
  ? { interval: resolvedInterval }
55
72
  : {}),
56
- ...(child ? { child: buildFacetSpec(child) } : {}),
73
+ };
74
+ }
75
+ /**
76
+ * Build a {@link FacetSpec} for a dimension, with an optional interval override
77
+ * and nested child. The override reaches whichever of the two positions can
78
+ * consume it ({@link intervalTarget}) — RCSB honours a per-position `interval`
79
+ * on a nested facet, so a histogram child is not stuck on its default just
80
+ * because the parent aggregates by terms. The position that cannot consume it
81
+ * keeps its own default, and an override no position accepts is dropped rather
82
+ * than sent upstream; callers that must reject that case ask
83
+ * {@link intervalTarget} first.
84
+ */
85
+ export function buildFacetSpec(dimension, interval, child) {
86
+ const target = interval === undefined ? undefined : intervalTarget(interval, dimension, child);
87
+ return {
88
+ ...specFor(dimension, target === dimension ? interval : undefined),
89
+ ...(child ? { child: specFor(child, target === child ? interval : undefined) } : {}),
57
90
  };
58
91
  }
59
92
  //# sourceMappingURL=facets.js.map