@cyanheads/protein-mcp-server 0.7.0 → 0.8.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.
- package/AGENTS.md +2 -2
- package/CLAUDE.md +2 -2
- package/README.md +6 -4
- package/changelog/0.8.x/0.8.0.md +22 -0
- package/dist/mcp-server/tools/definitions/find-similar.tool.d.ts +9 -0
- package/dist/mcp-server/tools/definitions/find-similar.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-similar.tool.js +88 -24
- package/dist/mcp-server/tools/definitions/find-similar.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-annotations.tool.d.ts +11 -1
- package/dist/mcp-server/tools/definitions/get-annotations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-annotations.tool.js +32 -2
- package/dist/mcp-server/tools/definitions/get-annotations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-structure.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-structure.tool.js +14 -4
- package/dist/mcp-server/tools/definitions/get-structure.tool.js.map +1 -1
- package/dist/services/foldseek/foldseek-service.d.ts +12 -1
- package/dist/services/foldseek/foldseek-service.d.ts.map +1 -1
- package/dist/services/foldseek/foldseek-service.js +17 -12
- package/dist/services/foldseek/foldseek-service.js.map +1 -1
- package/dist/services/rcsb/rcsb-service.d.ts +31 -1
- package/dist/services/rcsb/rcsb-service.d.ts.map +1 -1
- package/dist/services/rcsb/rcsb-service.js +113 -22
- package/dist/services/rcsb/rcsb-service.js.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** protein-mcp-server
|
|
4
|
-
**Version:** 0.
|
|
4
|
+
**Version:** 0.8.0
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.12.7`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/server` ^2.0.0
|
|
@@ -63,7 +63,7 @@ export const getAnnotations = tool('protein_get_annotations', {
|
|
|
63
63
|
{
|
|
64
64
|
reason: 'no_uniprot_mapping',
|
|
65
65
|
code: JsonRpcErrorCode.NotFound,
|
|
66
|
-
when: 'A PDB ID
|
|
66
|
+
when: 'A supplied PDB ID resolved to no usable UniProt cross-reference.',
|
|
67
67
|
recovery: 'Pass a UniProt accession directly, or use protein_search_structures to find a modeled protein chain.',
|
|
68
68
|
},
|
|
69
69
|
],
|
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** protein-mcp-server
|
|
4
|
-
**Version:** 0.
|
|
4
|
+
**Version:** 0.8.0
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.12.7`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/server` ^2.0.0
|
|
@@ -63,7 +63,7 @@ export const getAnnotations = tool('protein_get_annotations', {
|
|
|
63
63
|
{
|
|
64
64
|
reason: 'no_uniprot_mapping',
|
|
65
65
|
code: JsonRpcErrorCode.NotFound,
|
|
66
|
-
when: 'A PDB ID
|
|
66
|
+
when: 'A supplied PDB ID resolved to no usable UniProt cross-reference.',
|
|
67
67
|
recovery: 'Pass a UniProt accession directly, or use protein_search_structures to find a modeled protein chain.',
|
|
68
68
|
},
|
|
69
69
|
],
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/protein-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/protein-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -64,7 +64,7 @@ Fetch structures with metadata and coordinate-file URLs, resolving across provid
|
|
|
64
64
|
- Per-ID partial success — unresolved IDs are listed in `failed[]`, not a batch-level error
|
|
65
65
|
- Batch cap disclosure — `requested` is the original request length and `processed` the count after the cap, so IDs dropped beyond the cap are visible rather than silently discarded; every advisory (cap, partial failure, coordinate overflow, failed inlining) is joined into one `notice`
|
|
66
66
|
- Records served by the RCSB entry endpoint also carry `polymerEntities` (with both `authAsymIds` and `labelAsymIds`), `ligands`, `molecularWeight`, and `releaseDate`
|
|
67
|
-
- `include_coords` inlines coordinate content, subject to the response budget: a batch over budget returns a per-structure size outline you can re-call with `sections: [ids]`, and a single file over budget is withheld with a pointer to its `coordinateUrls` (a `sections` re-call would return the same bytes).
|
|
67
|
+
- `include_coords` inlines coordinate content, subject to the response budget: a batch over budget returns a per-structure size outline you can re-call with `sections: [ids]`, and a single file over budget is withheld with a pointer to its `coordinateUrls` (a `sections` re-call would return the same bytes). A `sections` re-call is not re-gated — `structuredContent` carries the named payload whole at any size, while the token-bounded text surface withholds anything over the budget and points at `coordinateUrls` instead of truncating it
|
|
68
68
|
- Every response carries an `attribution` block naming the upstream data licenses and citations (see [Upstream data licensing](#upstream-data-licensing))
|
|
69
69
|
|
|
70
70
|
---
|
|
@@ -75,9 +75,10 @@ Find structurally or evolutionarily related proteins, by sequence or by fold.
|
|
|
75
75
|
|
|
76
76
|
- `by: sequence` runs a synchronous RCSB mmseqs2 search; `by: structure` runs an asynchronous Foldseek search against experimental and predicted databases
|
|
77
77
|
- Query from a raw one-letter sequence, a PDB ID, or a UniProt accession
|
|
78
|
-
-
|
|
78
|
+
- Both modes accept `start` with `limit` and report `totalCount`, echoing `start` and returning `nextStart` while another page remains
|
|
79
79
|
- Foldseek targets default to `pdb100` + `afdb50`; override via `databases` (e.g. `afdb-swissprot`, `BFVD`)
|
|
80
|
-
- Async jobs that exceed the poll budget return `status: computing` with a `ticketId` — re-call with `ticket_id` set to that value to poll the same job instead of resubmitting
|
|
80
|
+
- Async jobs that exceed the poll budget return `status: computing` with a `ticketId` — re-call with `ticket_id` set to that value to poll the same job instead of resubmitting. A completed structure search returns the same ticket, so a new `start` pages the finished job without resubmitting the structure
|
|
81
|
+
- Each mode reads only its own controls — `sequence`, `max_evalue` and `min_identity` under `by: sequence`; `ticket_id` and `databases` under `by: structure`; `pdb_id`, `uniprot`, `start` and `limit` shared — and a field the selected mode cannot consume is rejected rather than ignored
|
|
81
82
|
- Each hit names the engine and source database it came from
|
|
82
83
|
|
|
83
84
|
---
|
|
@@ -87,6 +88,7 @@ Find structurally or evolutionarily related proteins, by sequence or by fold.
|
|
|
87
88
|
Ligand discovery and binding-site analysis across the PDB.
|
|
88
89
|
|
|
89
90
|
- `mode: find_ligand` resolves a name or formula to chemical component IDs with formula, weight, SMILES, and InChIKey
|
|
91
|
+
- A formula-shaped `query` matches on exact composition — spaced (`C29 H31 N7 O`) or unspaced (`C29H31N7O`), either resolves the same component; anything else, a component ID included, matches on name and synonyms and is ranked by deposition frequency
|
|
90
92
|
- `mode: structures_with_ligand` returns PDB entries containing a ligand by exact component ID
|
|
91
93
|
- `mode: structures_with_ligand` accepts `start` with `limit` and returns `nextStart` while another page remains
|
|
92
94
|
- `mode: binding_site` returns the protein residues lining a ligand's pocket in a structure, with contact distances
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "protein_find_similar rejects fields the selected by mode can't consume and paginates completed structure searches with a re-usable ticket; protein_get_annotations reclassifies a missing or malformed identifier as InvalidParams; plus RCSB GraphQL, ligand-formula, and get_structure text-surface fixes."
|
|
3
|
+
breaking: true
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.8.0 — 2026-09-09
|
|
8
|
+
|
|
9
|
+
## Added
|
|
10
|
+
|
|
11
|
+
- **`protein_find_similar`** (`by: "structure"`) reports `totalCount`/`start`/`nextStart` on a completed Foldseek search, and a complete response now carries `ticketId` so a finished job can be re-paged with a new `start` instead of resubmitted ([#53](https://github.com/cyanheads/protein-mcp-server/issues/53)).
|
|
12
|
+
|
|
13
|
+
## Changed
|
|
14
|
+
|
|
15
|
+
- **`protein_find_similar`** rejects an input field the selected `by` mode can't consume — `sequence`/`max_evalue`/`min_identity` under `by: "structure"`, `ticket_id`/a non-empty `databases` under `by: "sequence"` — under a new `mode_mismatched_field` reason, instead of silently dropping it ([#57](https://github.com/cyanheads/protein-mcp-server/issues/57)).
|
|
16
|
+
- **`protein_get_annotations`** rejects a missing identifier or a malformed `uniprot` accession as `InvalidParams` (`missing_identifier`/`invalid_accession`), instead of `NotFound`/`no_uniprot_mapping` ([#46](https://github.com/cyanheads/protein-mcp-server/issues/46)).
|
|
17
|
+
|
|
18
|
+
## Fixed
|
|
19
|
+
|
|
20
|
+
- **`RcsbService.graphql()`** throws on a non-empty `errors` array even when `data` is also present, instead of returning the partial payload as an ordinary sparse record ([#48](https://github.com/cyanheads/protein-mcp-server/issues/48)).
|
|
21
|
+
- **`protein_track_ligands`** (`mode: find_ligand`) routes a formula-shaped `query` (spaced or unspaced Hill notation) through RCSB's `chemical`/`formula` terminal instead of the name/synonym search, falling back to the name search when the formula terminal matches nothing ([#50](https://github.com/cyanheads/protein-mcp-server/issues/50)).
|
|
22
|
+
- **`protein_get_structure`**'s text surface no longer truncates inlined coordinates to a 2,000-character prefix — a structure under the response budget renders whole, one over it gets the same withheld marker the batch-overflow gate already renders ([#59](https://github.com/cyanheads/protein-mcp-server/issues/59)).
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* proteins. by:sequence runs a synchronous RCSB mmseqs2 search; by:structure runs
|
|
4
4
|
* an async Foldseek search against experimental + predicted databases (submit →
|
|
5
5
|
* poll → bounded timeout, returning "still computing" rather than blocking).
|
|
6
|
+
* Both modes page their results the same way (totalCount / start / nextStart),
|
|
7
|
+
* and a completed structure job returns its ticket so it can be re-paged instead
|
|
8
|
+
* of resubmitted. Fields the selected mode cannot consume are rejected, not
|
|
9
|
+
* ignored.
|
|
6
10
|
* @module mcp-server/tools/definitions/find-similar.tool
|
|
7
11
|
*/
|
|
8
12
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
@@ -52,6 +56,11 @@ export declare const findSimilar: import("@cyanheads/mcp-ts-core").ToolDefinitio
|
|
|
52
56
|
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
53
57
|
readonly when: "None of sequence, pdb_id, or uniprot was provided.";
|
|
54
58
|
readonly recovery: "Provide a raw sequence, a PDB entry ID, or a UniProt accession to search from.";
|
|
59
|
+
}, {
|
|
60
|
+
readonly reason: "mode_mismatched_field";
|
|
61
|
+
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
62
|
+
readonly when: "An input field only the other by mode consumes was supplied: sequence, max_evalue or min_identity under by:\"structure\"; ticket_id or a non-empty databases list under by:\"sequence\".";
|
|
63
|
+
readonly recovery: "Drop the field, or switch by to the mode that reads it — sequence, max_evalue and min_identity apply to by:\"sequence\"; ticket_id and databases apply to by:\"structure\".";
|
|
55
64
|
}, {
|
|
56
65
|
readonly reason: "no_sequence";
|
|
57
66
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-similar.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-similar.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"find-similar.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-similar.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAA6B,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8HjE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFtB,CAAC"}
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* proteins. by:sequence runs a synchronous RCSB mmseqs2 search; by:structure runs
|
|
4
4
|
* an async Foldseek search against experimental + predicted databases (submit →
|
|
5
5
|
* poll → bounded timeout, returning "still computing" rather than blocking).
|
|
6
|
+
* Both modes page their results the same way (totalCount / start / nextStart),
|
|
7
|
+
* and a completed structure job returns its ticket so it can be re-paged instead
|
|
8
|
+
* of resubmitted. Fields the selected mode cannot consume are rejected, not
|
|
9
|
+
* ignored.
|
|
6
10
|
* @module mcp-server/tools/definitions/find-similar.tool
|
|
7
11
|
*/
|
|
8
12
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
@@ -51,7 +55,7 @@ const inputSchema = z.object({
|
|
|
51
55
|
.int()
|
|
52
56
|
.min(0)
|
|
53
57
|
.default(0)
|
|
54
|
-
.describe('Zero-based result offset
|
|
58
|
+
.describe('Zero-based result offset. Pages a by:sequence search, and a completed by:structure job when re-called with its ticket_id.'),
|
|
55
59
|
});
|
|
56
60
|
const outputSchema = z.object({
|
|
57
61
|
by: z.enum(['sequence', 'structure']).describe('Echoed similarity axis.'),
|
|
@@ -62,7 +66,7 @@ const outputSchema = z.object({
|
|
|
62
66
|
ticketId: z
|
|
63
67
|
.string()
|
|
64
68
|
.optional()
|
|
65
|
-
.describe('Async job ticket ID
|
|
69
|
+
.describe('Async job ticket ID (by:structure). Present while status is computing, and also on a complete response — re-call with ticket_id plus a different start/limit to page the same finished job instead of resubmitting.'),
|
|
66
70
|
hits: z
|
|
67
71
|
.array(z
|
|
68
72
|
.object({
|
|
@@ -97,25 +101,17 @@ const outputSchema = z.object({
|
|
|
97
101
|
.describe('Similar proteins, best first.'),
|
|
98
102
|
});
|
|
99
103
|
const enrichmentShape = {
|
|
100
|
-
totalCount: z
|
|
101
|
-
|
|
102
|
-
.optional()
|
|
103
|
-
.describe('Total upstream matches before pagination (by:sequence).'),
|
|
104
|
-
start: z.number().optional().describe('Zero-based offset of the sequence-result page.'),
|
|
104
|
+
totalCount: z.number().optional().describe('Total upstream matches before pagination.'),
|
|
105
|
+
start: z.number().optional().describe('Zero-based offset of the returned result page.'),
|
|
105
106
|
nextStart: z
|
|
106
107
|
.number()
|
|
107
108
|
.optional()
|
|
108
|
-
.describe('Offset for the next
|
|
109
|
+
.describe('Offset for the next result page; absent on the final or past-end page.'),
|
|
109
110
|
notice: z.string().optional().describe('Advisory note (still computing, empty results).'),
|
|
110
111
|
};
|
|
111
112
|
export const findSimilar = tool('protein_find_similar', {
|
|
112
113
|
title: 'protein-mcp-server: find similar',
|
|
113
|
-
description:
|
|
114
|
-
'sequence-similarity search (synchronous) over a sequence — supplied directly, or pulled from a PDB ID ' +
|
|
115
|
-
'or UniProt accession. by:"structure" runs a Foldseek fold-similarity search (asynchronous) against ' +
|
|
116
|
-
'experimental and predicted databases; if the job is still computing when the poll budget elapses, the ' +
|
|
117
|
-
'response reports status "computing" with a ticket — re-call with ticket_id set to that value to resume ' +
|
|
118
|
-
'the same job instead of resubmitting. Output names the engine and database each hit came from.',
|
|
114
|
+
description: `Find structurally or evolutionarily related proteins. by:"sequence" runs an RCSB mmseqs2 sequence-similarity search (synchronous) over a sequence — supplied directly, or pulled from a PDB ID or UniProt accession. by:"structure" runs a Foldseek fold-similarity search (asynchronous) against experimental and predicted databases; if the job is still computing when the poll budget elapses, the response reports status "computing" with a ticket — re-call with ticket_id set to that value to resume the same job instead of resubmitting, and a complete response carries the same ticket so a finished job can be re-paged with a different start. Each mode reads only its own controls: sequence, max_evalue and min_identity belong to by:"sequence"; ticket_id and databases belong to by:"structure"; pdb_id, uniprot, start and limit are shared. A field the selected mode cannot consume is rejected rather than silently ignored. Output names the engine and database each hit came from.`,
|
|
119
115
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
120
116
|
errors: [
|
|
121
117
|
{
|
|
@@ -124,6 +120,12 @@ export const findSimilar = tool('protein_find_similar', {
|
|
|
124
120
|
when: 'None of sequence, pdb_id, or uniprot was provided.',
|
|
125
121
|
recovery: 'Provide a raw sequence, a PDB entry ID, or a UniProt accession to search from.',
|
|
126
122
|
},
|
|
123
|
+
{
|
|
124
|
+
reason: 'mode_mismatched_field',
|
|
125
|
+
code: JsonRpcErrorCode.InvalidParams,
|
|
126
|
+
when: 'An input field only the other by mode consumes was supplied: sequence, max_evalue or min_identity under by:"structure"; ticket_id or a non-empty databases list under by:"sequence".',
|
|
127
|
+
recovery: 'Drop the field, or switch by to the mode that reads it — sequence, max_evalue and min_identity apply to by:"sequence"; ticket_id and databases apply to by:"structure".',
|
|
128
|
+
},
|
|
127
129
|
{
|
|
128
130
|
reason: 'no_sequence',
|
|
129
131
|
code: JsonRpcErrorCode.NotFound,
|
|
@@ -147,16 +149,20 @@ export const findSimilar = tool('protein_find_similar', {
|
|
|
147
149
|
input: inputSchema,
|
|
148
150
|
output: outputSchema,
|
|
149
151
|
enrichment: enrichmentShape,
|
|
150
|
-
|
|
152
|
+
// `async` so the pre-dispatch guard rejects rather than throwing synchronously
|
|
153
|
+
// out of the call itself — every failure on this tool reaches the caller the
|
|
154
|
+
// same way.
|
|
155
|
+
async handler(input, ctx) {
|
|
151
156
|
const cfg = getServerConfig();
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
157
|
+
rejectModeMismatchedFields(input, ctx);
|
|
158
|
+
return input.by === 'sequence'
|
|
159
|
+
? await runSequence(input, ctx)
|
|
160
|
+
: await runStructure(input, cfg.asyncPollTimeoutMs, ctx);
|
|
155
161
|
},
|
|
156
162
|
format: (result) => {
|
|
157
163
|
const lines = [`## ${result.engine} (by:${result.by}) — ${result.status}`];
|
|
158
164
|
if (result.ticketId)
|
|
159
|
-
lines.push(`**Ticket:** ${result.ticketId} — re-call with ticket_id to resume.`);
|
|
165
|
+
lines.push(`**Ticket:** ${result.ticketId} — re-call with ticket_id to resume or re-page this job.`);
|
|
160
166
|
for (const h of result.hits) {
|
|
161
167
|
lines.push(`\n### ${h.id} _(${h.source})_`);
|
|
162
168
|
if (h.title)
|
|
@@ -224,8 +230,10 @@ async function runStructure(input, timeoutMs, ctx) {
|
|
|
224
230
|
const foldseek = getFoldseekService();
|
|
225
231
|
let outcome;
|
|
226
232
|
if (input.ticket_id) {
|
|
227
|
-
// Resume path: poll the existing ticket, skipping coordinate resolution +
|
|
228
|
-
|
|
233
|
+
// Resume path: poll the existing ticket, skipping coordinate resolution +
|
|
234
|
+
// submit. A completed ticket is idempotent upstream, so a re-call with a new
|
|
235
|
+
// start/limit pages the same finished job instead of running a second search.
|
|
236
|
+
outcome = await foldseek.resume({ ticketId: input.ticket_id, limit: input.limit, start: input.start, timeoutMs }, ctx);
|
|
229
237
|
}
|
|
230
238
|
else {
|
|
231
239
|
const { content, fileName } = await resolveCoordinateFile(input, ctx);
|
|
@@ -235,6 +243,7 @@ async function runStructure(input, timeoutMs, ctx) {
|
|
|
235
243
|
databases: input.databases && input.databases.length > 0 ? input.databases : DEFAULT_FOLDSEEK_DBS,
|
|
236
244
|
mode: FOLDSEEK_MODE,
|
|
237
245
|
limit: input.limit,
|
|
246
|
+
start: input.start,
|
|
238
247
|
timeoutMs,
|
|
239
248
|
}, ctx);
|
|
240
249
|
}
|
|
@@ -258,12 +267,28 @@ async function runStructure(input, timeoutMs, ctx) {
|
|
|
258
267
|
hits: [],
|
|
259
268
|
};
|
|
260
269
|
}
|
|
261
|
-
|
|
262
|
-
|
|
270
|
+
// Same paging contract the sequence branch emits: the completed job's full hit
|
|
271
|
+
// count plus the offsets needed to walk it, computed from the hit array the
|
|
272
|
+
// service already parsed — no extra upstream call.
|
|
273
|
+
ctx.enrich.total(outcome.total);
|
|
274
|
+
const nextStart = input.start + outcome.hits.length;
|
|
275
|
+
ctx.enrich({
|
|
276
|
+
start: input.start,
|
|
277
|
+
...(nextStart < outcome.total ? { nextStart } : {}),
|
|
278
|
+
});
|
|
279
|
+
// An empty page has two unrelated causes now that `start` pages a completed
|
|
280
|
+
// job, and they need opposite next moves: no hits at all means widen the
|
|
281
|
+
// databases, while a start past the end means ask for a lower offset.
|
|
282
|
+
if (outcome.hits.length === 0) {
|
|
283
|
+
ctx.enrich.notice(outcome.total === 0
|
|
284
|
+
? 'Foldseek returned no fold-similar hits in the selected databases.'
|
|
285
|
+
: `start ${input.start} is past the end of this job's ${outcome.total} hits. Re-call with a lower start to read a populated page.`);
|
|
286
|
+
}
|
|
263
287
|
return {
|
|
264
288
|
by: 'structure',
|
|
265
289
|
engine: 'Foldseek',
|
|
266
290
|
status: 'complete',
|
|
291
|
+
ticketId: outcome.ticketId,
|
|
267
292
|
hits: outcome.hits.map((h) => ({
|
|
268
293
|
id: h.pdbId ?? h.uniprotAccession ?? h.target,
|
|
269
294
|
source: h.targetType === 'alphafold' ? 'predicted' : 'experimental',
|
|
@@ -275,6 +300,38 @@ async function runStructure(input, timeoutMs, ctx) {
|
|
|
275
300
|
})),
|
|
276
301
|
};
|
|
277
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Reject an input field the selected `by` mode cannot consume. Each branch reads
|
|
305
|
+
* only its own subset — `runSequence` alone reads sequence/max_evalue/
|
|
306
|
+
* min_identity, `runStructure` alone reads ticket_id/databases — so a field
|
|
307
|
+
* supplied for the other mode would be dropped silently, making an unfiltered
|
|
308
|
+
* search look filtered or an unscoped one look scoped. Guarded here rather than
|
|
309
|
+
* by a Zod refine so the rejection carries `data.reason` and a recovery hint
|
|
310
|
+
* naming the mode that accepts the field. `start` and `limit` are shared by both
|
|
311
|
+
* modes and are never read here; an empty `databases` array matches
|
|
312
|
+
* `runStructure`'s own fallback and is treated as omitted.
|
|
313
|
+
*/
|
|
314
|
+
function rejectModeMismatchedFields(input, ctx) {
|
|
315
|
+
const offenders = (input.by === 'structure'
|
|
316
|
+
? [
|
|
317
|
+
input.sequence ? 'sequence' : null,
|
|
318
|
+
typeof input.max_evalue === 'number' ? 'max_evalue' : null,
|
|
319
|
+
typeof input.min_identity === 'number' ? 'min_identity' : null,
|
|
320
|
+
]
|
|
321
|
+
: [
|
|
322
|
+
typeof input.ticket_id === 'string' ? 'ticket_id' : null,
|
|
323
|
+
input.databases && input.databases.length > 0 ? 'databases' : null,
|
|
324
|
+
]).filter((field) => field !== null);
|
|
325
|
+
if (offenders.length === 0)
|
|
326
|
+
return;
|
|
327
|
+
const accepting = input.by === 'structure' ? 'sequence' : 'structure';
|
|
328
|
+
const plural = offenders.length > 1;
|
|
329
|
+
throw ctx.fail('mode_mismatched_field', `by:"${input.by}" does not consume ${offenders.join(', ')}.`, {
|
|
330
|
+
recovery: {
|
|
331
|
+
hint: `${offenders.join(', ')} ${plural ? 'are' : 'is'} only read under by:"${accepting}". Drop ${plural ? 'them' : 'it'}, or set by:"${accepting}" to apply ${plural ? 'them' : 'it'}.`,
|
|
332
|
+
},
|
|
333
|
+
});
|
|
334
|
+
}
|
|
278
335
|
/** Resolve a query sequence from a direct sequence, PDB ID, or UniProt accession. */
|
|
279
336
|
async function resolveSequence(input, ctx) {
|
|
280
337
|
if (input.sequence)
|
|
@@ -313,7 +370,14 @@ async function resolveCoordinateFile(input, ctx) {
|
|
|
313
370
|
fileName: `${input.uniprot.toUpperCase()}.pdb`,
|
|
314
371
|
};
|
|
315
372
|
}
|
|
316
|
-
|
|
373
|
+
// The declared recovery hint offers a raw sequence, which by:"structure"
|
|
374
|
+
// rejects outright — this branch names only the two identifiers that mode can
|
|
375
|
+
// actually derive coordinates from.
|
|
376
|
+
throw ctx.fail('missing_query', 'by:structure requires a pdb_id or uniprot accession to derive coordinates.', {
|
|
377
|
+
recovery: {
|
|
378
|
+
hint: 'Provide pdb_id (e.g. 1CRN) or uniprot (e.g. P69905); by:"structure" derives coordinates from an identifier, never from a raw sequence.',
|
|
379
|
+
},
|
|
380
|
+
});
|
|
317
381
|
}
|
|
318
382
|
function fetchCoordinateText(url, ctx) {
|
|
319
383
|
return fetchText(url, ctx, {
|
|
@@ -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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"}
|
|
@@ -64,9 +64,19 @@ export declare const getAnnotations: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
64
64
|
homepage: z.ZodString;
|
|
65
65
|
}, z.core.$strip>>;
|
|
66
66
|
}, z.core.$strip>, readonly [{
|
|
67
|
+
readonly reason: "missing_identifier";
|
|
68
|
+
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
69
|
+
readonly when: "Neither uniprot nor pdb_id was supplied, so there is no protein to look up.";
|
|
70
|
+
readonly recovery: "Provide uniprot (e.g. P69905) or pdb_id (e.g. 4HHB) — either one identifies the protein.";
|
|
71
|
+
}, {
|
|
72
|
+
readonly reason: "invalid_accession";
|
|
73
|
+
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
74
|
+
readonly when: "The supplied uniprot value is not a syntactically valid UniProt accession.";
|
|
75
|
+
readonly recovery: "Pass a UniProt accession in its 6- or 10-character form (e.g. P69905, A0A024R161), or supply pdb_id instead.";
|
|
76
|
+
}, {
|
|
67
77
|
readonly reason: "no_uniprot_mapping";
|
|
68
78
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
69
|
-
readonly when: "A PDB ID
|
|
79
|
+
readonly when: "A supplied PDB ID resolved to no usable UniProt cross-reference (e.g. a nucleic-acid-only entry).";
|
|
70
80
|
readonly recovery: "Pass a UniProt accession directly, or use protein_search_structures to find a structure with a modeled protein chain.";
|
|
71
81
|
}, {
|
|
72
82
|
readonly reason: "chain_not_found";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-annotations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-annotations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwEjE,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"get-annotations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-annotations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwEjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8SzB,CAAC"}
|
|
@@ -72,10 +72,22 @@ export const getAnnotations = tool('protein_get_annotations', {
|
|
|
72
72
|
'an "attribution" block with the upstream data licenses and citations.',
|
|
73
73
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
74
74
|
errors: [
|
|
75
|
+
{
|
|
76
|
+
reason: 'missing_identifier',
|
|
77
|
+
code: JsonRpcErrorCode.InvalidParams,
|
|
78
|
+
when: 'Neither uniprot nor pdb_id was supplied, so there is no protein to look up.',
|
|
79
|
+
recovery: 'Provide uniprot (e.g. P69905) or pdb_id (e.g. 4HHB) — either one identifies the protein.',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
reason: 'invalid_accession',
|
|
83
|
+
code: JsonRpcErrorCode.InvalidParams,
|
|
84
|
+
when: 'The supplied uniprot value is not a syntactically valid UniProt accession.',
|
|
85
|
+
recovery: 'Pass a UniProt accession in its 6- or 10-character form (e.g. P69905, A0A024R161), or supply pdb_id instead.',
|
|
86
|
+
},
|
|
75
87
|
{
|
|
76
88
|
reason: 'no_uniprot_mapping',
|
|
77
89
|
code: JsonRpcErrorCode.NotFound,
|
|
78
|
-
when: 'A PDB ID
|
|
90
|
+
when: 'A supplied PDB ID resolved to no usable UniProt cross-reference (e.g. a nucleic-acid-only entry).',
|
|
79
91
|
recovery: 'Pass a UniProt accession directly, or use protein_search_structures to find a structure with a modeled protein chain.',
|
|
80
92
|
},
|
|
81
93
|
{
|
|
@@ -147,6 +159,21 @@ export const getAnnotations = tool('protein_get_annotations', {
|
|
|
147
159
|
async handler(input, ctx) {
|
|
148
160
|
const uniprot = getUniProtService();
|
|
149
161
|
const rcsb = getRcsbService();
|
|
162
|
+
// Reject unusable input up front, before any upstream call: a caller that
|
|
163
|
+
// omitted both parameters or mistyped an accession has an input problem, not a
|
|
164
|
+
// lookup that found nothing, and the two are different next moves. Guarded
|
|
165
|
+
// here rather than by a Zod refine so the rejection carries `data.reason` and
|
|
166
|
+
// the declared recovery hint.
|
|
167
|
+
if (!input.uniprot && !input.pdb_id) {
|
|
168
|
+
throw ctx.fail('missing_identifier', 'Provide uniprot (e.g. P69905) or pdb_id (e.g. 4HHB).', {
|
|
169
|
+
...ctx.recoveryFor('missing_identifier'),
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
if (input.uniprot && !isUniProtAccession(input.uniprot)) {
|
|
173
|
+
throw ctx.fail('invalid_accession', `"${input.uniprot}" is not a valid UniProt accession.`, {
|
|
174
|
+
...ctx.recoveryFor('invalid_accession'),
|
|
175
|
+
});
|
|
176
|
+
}
|
|
150
177
|
let accession = input.uniprot?.toUpperCase();
|
|
151
178
|
let resolvedFrom;
|
|
152
179
|
let ambiguity;
|
|
@@ -181,8 +208,11 @@ export const getAnnotations = tool('protein_get_annotations', {
|
|
|
181
208
|
}
|
|
182
209
|
}
|
|
183
210
|
}
|
|
211
|
+
// Both checks below are upstream-resolution outcomes now: an absent or
|
|
212
|
+
// malformed `uniprot` input was rejected before any lookup ran, so reaching
|
|
213
|
+
// either means a supplied pdb_id resolved to nothing usable.
|
|
184
214
|
if (!accession) {
|
|
185
|
-
throw ctx.fail('no_uniprot_mapping', '
|
|
215
|
+
throw ctx.fail('no_uniprot_mapping', 'The supplied PDB ID carries no UniProt-mapped protein chain.', { ...ctx.recoveryFor('no_uniprot_mapping') });
|
|
186
216
|
}
|
|
187
217
|
if (!isUniProtAccession(accession)) {
|
|
188
218
|
throw ctx.fail('no_uniprot_mapping', `"${accession}" is not a valid UniProt accession.`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-annotations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-annotations.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-annotations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-annotations.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-structure.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-structure.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8GjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-structure.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-structure.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8GjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkUvB,CAAC"}
|
|
@@ -268,8 +268,10 @@ export const getStructure = tool('protein_get_structure', {
|
|
|
268
268
|
};
|
|
269
269
|
},
|
|
270
270
|
format: (result) => {
|
|
271
|
-
//
|
|
272
|
-
// structured surface
|
|
271
|
+
// Structures whose payload the batch-overflow gate already purged from the
|
|
272
|
+
// structured surface. Their `coordinates` is gone, so the per-structure
|
|
273
|
+
// length check below reads 0 and cannot recognize them — this set is what
|
|
274
|
+
// still earns them the withheld marker instead of silent omission.
|
|
273
275
|
const withheld = new Set(result.overflow?.sections.map((s) => s.id) ?? []);
|
|
274
276
|
const lines = [`## Structures (${result.structures.length})`];
|
|
275
277
|
for (const s of result.structures) {
|
|
@@ -325,12 +327,20 @@ export const getStructure = tool('protein_get_structure', {
|
|
|
325
327
|
lines.push(`**Coordinates:** ${urls.join(' · ')}`);
|
|
326
328
|
if (s.paeDocUrl)
|
|
327
329
|
lines.push(`**PAE:** ${s.paeDocUrl}`);
|
|
328
|
-
|
|
330
|
+
// One length rule for every structure carrying coordinates, whether or not
|
|
331
|
+
// the overflow index names it: whole under the budget, otherwise the
|
|
332
|
+
// withheld marker plus the URL pointer above — never a truncated prefix.
|
|
333
|
+
// A `sections` re-call is deliberately not re-gated on the structured
|
|
334
|
+
// surface (the caller named the exact bytes), so this is the one path where
|
|
335
|
+
// the two surfaces carry different payloads; they still agree on *state*,
|
|
336
|
+
// because the token-bounded text surface discloses the omission and points
|
|
337
|
+
// at a working retrieval route instead of silently cutting the content off.
|
|
338
|
+
if (withheld.has(s.id) || (s.coordinates?.length ?? 0) > DEFAULT_OUTLINE_BUDGET_BYTES) {
|
|
329
339
|
lines.push('**Coordinates withheld** — over the inline budget; see the URLs above.');
|
|
330
340
|
}
|
|
331
341
|
else if (s.coordinates) {
|
|
332
342
|
lines.push(`**Inlined ${s.coordinateFormat ?? 'coordinates'} (${s.coordinates.length} bytes):**`);
|
|
333
|
-
lines.push('```', s.coordinates
|
|
343
|
+
lines.push('```', s.coordinates, '```');
|
|
334
344
|
}
|
|
335
345
|
}
|
|
336
346
|
if (result.failed.length > 0) {
|