@cyanheads/interpro-mcp-server 0.1.2 → 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.
- package/AGENTS.md +39 -14
- package/CLAUDE.md +39 -14
- package/Dockerfile +9 -1
- package/README.md +92 -107
- package/changelog/0.1.x/0.1.3.md +24 -0
- package/changelog/0.2.x/0.2.0.md +31 -0
- package/dist/config/server-config.d.ts +13 -0
- package/dist/config/server-config.d.ts.map +1 -0
- package/dist/config/server-config.js +19 -0
- package/dist/config/server-config.js.map +1 -0
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.d.ts +89 -2
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.js +80 -5
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.d.ts +59 -0
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.js +139 -5
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.d.ts +21 -2
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.js +99 -23
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.d.ts +133 -0
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.js +128 -0
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.d.ts +171 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.js +290 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-list-reference.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/interpro-list-reference.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.d.ts +168 -0
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.js +187 -0
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.d.ts +6 -0
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.js +11 -2
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.js.map +1 -1
- package/dist/services/interpro/format.d.ts.map +1 -1
- package/dist/services/interpro/format.js +8 -17
- package/dist/services/interpro/format.js.map +1 -1
- package/dist/services/interpro/http-adapter.d.ts +11 -2
- package/dist/services/interpro/http-adapter.d.ts.map +1 -1
- package/dist/services/interpro/http-adapter.js +67 -9
- package/dist/services/interpro/http-adapter.js.map +1 -1
- package/dist/services/interpro/interpro-service.d.ts +1 -1
- package/dist/services/interpro/interpro-service.d.ts.map +1 -1
- package/dist/services/interpro/interpro-service.js +6 -24
- package/dist/services/interpro/interpro-service.js.map +1 -1
- package/dist/services/interpro/reference.d.ts.map +1 -1
- package/dist/services/interpro/reference.js +23 -2
- package/dist/services/interpro/reference.js.map +1 -1
- package/dist/services/interpro/schemas.d.ts +16 -0
- package/dist/services/interpro/schemas.d.ts.map +1 -1
- package/dist/services/interpro/schemas.js +13 -0
- package/dist/services/interpro/schemas.js.map +1 -1
- package/dist/services/interpro/structure-schemas.d.ts +116 -0
- package/dist/services/interpro/structure-schemas.d.ts.map +1 -0
- package/dist/services/interpro/structure-schemas.js +74 -0
- package/dist/services/interpro/structure-schemas.js.map +1 -0
- package/dist/services/sequence-scan/scan-output.d.ts +94 -0
- package/dist/services/sequence-scan/scan-output.d.ts.map +1 -0
- package/dist/services/sequence-scan/scan-output.js +174 -0
- package/dist/services/sequence-scan/scan-output.js.map +1 -0
- package/dist/services/sequence-scan/scan-schemas.d.ts +112 -0
- package/dist/services/sequence-scan/scan-schemas.d.ts.map +1 -0
- package/dist/services/sequence-scan/scan-schemas.js +97 -0
- package/dist/services/sequence-scan/scan-schemas.js.map +1 -0
- package/dist/services/sequence-scan/sequence-scan-service.d.ts +119 -0
- package/dist/services/sequence-scan/sequence-scan-service.d.ts.map +1 -0
- package/dist/services/sequence-scan/sequence-scan-service.js +453 -0
- package/dist/services/sequence-scan/sequence-scan-service.js.map +1 -0
- package/dist/services/sequence-scan/sequence.d.ts +32 -0
- package/dist/services/sequence-scan/sequence.d.ts.map +1 -0
- package/dist/services/sequence-scan/sequence.js +63 -0
- package/dist/services/sequence-scan/sequence.js.map +1 -0
- package/package.json +10 -7
- package/server.json +18 -4
- package/skills/interpro-guide/SKILL.md +72 -0
|
@@ -22,7 +22,20 @@ const QuerySchema = z.object({
|
|
|
22
22
|
.boolean()
|
|
23
23
|
.optional()
|
|
24
24
|
.describe('Applied fragment annotation filter; omitted includes both groups.'),
|
|
25
|
+
architectureId: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('Applied lowercase Pfam architecture grouping identifier.'),
|
|
29
|
+
proteomeId: z.string().optional().describe('Applied uppercase UniProt proteome accession.'),
|
|
25
30
|
});
|
|
31
|
+
const ProteomesSchema = z
|
|
32
|
+
.array(z
|
|
33
|
+
.object({
|
|
34
|
+
accession: z.string().describe('Proteome accession as upstream writes it, lowercase.'),
|
|
35
|
+
})
|
|
36
|
+
.catchall(JsonValueSchema)
|
|
37
|
+
.describe('Complete proteome record.'))
|
|
38
|
+
.describe('Complete records of the selected proteome, preserved verbatim.');
|
|
26
39
|
const ProteinResultSchema = z
|
|
27
40
|
.object({
|
|
28
41
|
metadata: ProteinMetadataSchema.describe('Complete sparse protein summary.'),
|
|
@@ -59,10 +72,27 @@ const ProteinResultSchema = z
|
|
|
59
72
|
})
|
|
60
73
|
.catchall(JsonValueSchema)
|
|
61
74
|
.describe('Complete protein discovery record.');
|
|
75
|
+
const ProteomeResultSchema = ProteinResultSchema.extend({ proteomes: ProteomesSchema }).describe('Complete proteome-filtered protein discovery record.');
|
|
76
|
+
const ArchitectureResultSchema = ProteinResultSchema.extend({
|
|
77
|
+
entries: ProteinResultSchema.shape.entries.optional(),
|
|
78
|
+
taxa: ProteinResultSchema.shape.taxa.optional(),
|
|
79
|
+
proteomes: ProteomesSchema.optional(),
|
|
80
|
+
});
|
|
81
|
+
const Availability = z.enum(['available', 'unavailable']);
|
|
82
|
+
const availability = (details) => details === undefined ? 'unavailable' : 'available';
|
|
83
|
+
const ArchitectureOutputSchema = ArchitectureResultSchema.extend({
|
|
84
|
+
detailAvailability: z
|
|
85
|
+
.object({
|
|
86
|
+
entries: Availability.describe('Whether upstream supplied entry records.'),
|
|
87
|
+
taxa: Availability.describe('Whether upstream supplied taxon records.'),
|
|
88
|
+
proteomes: Availability.optional().describe('Whether upstream supplied proteome records; present only when proteomeId is set.'),
|
|
89
|
+
})
|
|
90
|
+
.describe('Absent details are unavailable, rather than biologically empty.'),
|
|
91
|
+
}).describe('Complete architecture-filtered protein record with explicit detail availability.');
|
|
62
92
|
/** Discover proteins without fetching per-protein metadata. */
|
|
63
93
|
export const interproFindProteinsByDomain = tool('interpro_find_proteins_by_domain', {
|
|
64
94
|
title: 'Find proteins by domain',
|
|
65
|
-
description: 'Find UniProt proteins carrying an InterPro or member signature. Defaults to reviewed human proteins; reviewedOnly=false includes
|
|
95
|
+
description: 'Find UniProt proteins carrying an InterPro or member signature. Defaults to reviewed human proteins; reviewedOnly=false includes all review statuses in the chosen taxon. Optional isFragment filters fragment annotations; false does not prove sequence completeness. architectureId intersects the provider Pfam grouping with these selections, without implying functional equivalence; metadata-only hits disclose unavailable entry and taxon details without per-protein requests. proteomeId intersects one UniProt proteome, such as protein.proteome from interpro_get_protein_domains, with every selection including taxonId.',
|
|
66
96
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
67
97
|
auth: ['tool:interpro_find_proteins_by_domain:read'],
|
|
68
98
|
input: z.object({
|
|
@@ -82,17 +112,32 @@ export const interproFindProteinsByDomain = tool('interpro_find_proteins_by_doma
|
|
|
82
112
|
.boolean()
|
|
83
113
|
.optional()
|
|
84
114
|
.describe('Select fragment annotations: true for fragments, false for proteins not annotated as fragments; omit to include both. False does not establish sequence completeness.'),
|
|
115
|
+
architectureId: optionalString(z
|
|
116
|
+
.string()
|
|
117
|
+
.trim()
|
|
118
|
+
.regex(/^[a-fA-F0-9]{40}$/)
|
|
119
|
+
.toLowerCase()).describe('Optional 40-character hexadecimal Pfam architecture grouping ID from protein.ida_accession; grouping does not establish functional equivalence.'),
|
|
120
|
+
proteomeId: optionalString(z
|
|
121
|
+
.string()
|
|
122
|
+
.trim()
|
|
123
|
+
.max(11)
|
|
124
|
+
.regex(/^[Uu][Pp][0-9]{9}$/)
|
|
125
|
+
.toUpperCase()).describe('Optional UniProt proteome accession, UP followed by 9 digits, such as protein.proteome from interpro_get_protein_domains. taxonId still applies, including its 9606 default: set taxonId to the mapped protein.source_organism.taxId or an ancestor, or no proteins match.'),
|
|
85
126
|
limit: z
|
|
86
127
|
.number()
|
|
87
128
|
.int()
|
|
88
129
|
.min(1)
|
|
89
130
|
.default(20)
|
|
90
131
|
.describe('Positive integer page size; values above 50 are clamped to 50 with a notice; defaults to 20.'),
|
|
91
|
-
cursor: optionalString(z.string().trim().max(4096)).describe('Opaque nextCursor with unchanged target, taxonId, reviewedOnly, and
|
|
132
|
+
cursor: optionalString(z.string().trim().max(4096)).describe('Opaque nextCursor with unchanged target, taxonId, reviewedOnly, isFragment, architectureId, and proteomeId selection; limit may change.'),
|
|
92
133
|
}),
|
|
93
134
|
output: z.object({
|
|
94
135
|
query: QuerySchema.describe('Applied canonical target and selection, including defaults.'),
|
|
95
|
-
proteins: z
|
|
136
|
+
proteins: z
|
|
137
|
+
.array(z
|
|
138
|
+
.union([ProteinResultSchema, ProteomeResultSchema, ArchitectureOutputSchema])
|
|
139
|
+
.describe('Ordinary protein details, with proteome records when proteomeId is set, or an architecture-filtered record with detail availability.'))
|
|
140
|
+
.describe('Complete upstream protein records; architecture mode discloses unavailable details.'),
|
|
96
141
|
page: PageSchema.describe('Page coverage and continuation.'),
|
|
97
142
|
sourceUrl: z.string().describe('Official API source URL.'),
|
|
98
143
|
}),
|
|
@@ -163,9 +208,32 @@ export const interproFindProteinsByDomain = tool('interpro_find_proteins_by_doma
|
|
|
163
208
|
taxonId: input.taxonId,
|
|
164
209
|
reviewedOnly: input.reviewedOnly,
|
|
165
210
|
...(input.isFragment !== undefined ? { isFragment: input.isFragment } : {}),
|
|
211
|
+
...(input.architectureId !== undefined ? { architectureId: input.architectureId } : {}),
|
|
212
|
+
...(input.proteomeId !== undefined ? { proteomeId: input.proteomeId } : {}),
|
|
166
213
|
};
|
|
167
214
|
const cursor = decodeCursor(input.cursor, 'interpro_find_proteins_by_domain', query);
|
|
168
215
|
const service = getInterproService();
|
|
216
|
+
const rowSchema = input.architectureId
|
|
217
|
+
? ArchitectureResultSchema.refine((row) => {
|
|
218
|
+
const fields = row.extra_fields;
|
|
219
|
+
return (!fields ||
|
|
220
|
+
typeof fields !== 'object' ||
|
|
221
|
+
Array.isArray(fields) ||
|
|
222
|
+
fields.ida_id === undefined ||
|
|
223
|
+
fields.ida_id === null ||
|
|
224
|
+
fields.ida_id === input.architectureId);
|
|
225
|
+
}, 'A supplied architecture identifier must match the requested grouping.').transform((row) => Object.assign({}, row, {
|
|
226
|
+
detailAvailability: {
|
|
227
|
+
entries: availability(row.entries),
|
|
228
|
+
taxa: availability(row.taxa),
|
|
229
|
+
...(input.proteomeId !== undefined
|
|
230
|
+
? { proteomes: availability(row.proteomes) }
|
|
231
|
+
: {}),
|
|
232
|
+
},
|
|
233
|
+
}))
|
|
234
|
+
: input.proteomeId
|
|
235
|
+
? ProteomeResultSchema
|
|
236
|
+
: ProteinResultSchema;
|
|
169
237
|
const response = await service.request(service.begin(ctx), [
|
|
170
238
|
'protein',
|
|
171
239
|
query.reviewedOnly ? 'reviewed' : 'uniprot',
|
|
@@ -175,7 +243,14 @@ export const interproFindProteinsByDomain = tool('interpro_find_proteins_by_doma
|
|
|
175
243
|
'taxonomy',
|
|
176
244
|
'uniprot',
|
|
177
245
|
query.taxonId,
|
|
178
|
-
|
|
246
|
+
...(query.proteomeId ? ['proteome', 'uniprot', query.proteomeId] : []),
|
|
247
|
+
], {
|
|
248
|
+
page_size: limit,
|
|
249
|
+
cursor,
|
|
250
|
+
extra_fields: input.architectureId ? 'is_fragment,ida_id' : 'is_fragment',
|
|
251
|
+
is_fragment: query.isFragment,
|
|
252
|
+
ida: input.architectureId,
|
|
253
|
+
}, listSchema(rowSchema), {
|
|
179
254
|
continuation: cursor !== undefined,
|
|
180
255
|
missing: {
|
|
181
256
|
reason: 'entry_not_found',
|
|
@@ -198,7 +273,7 @@ export const interproFindProteinsByDomain = tool('interpro_find_proteins_by_doma
|
|
|
198
273
|
ctx.enrich.total(page.total);
|
|
199
274
|
ctx.enrich.echo(JSON.stringify(query));
|
|
200
275
|
if (!proteins.length)
|
|
201
|
-
notices.push(`No proteins matched the applied entry and selection. Retry interpro_find_proteins_by_domain with reviewedOnly=false or another taxonId${input.isFragment !== undefined ? ', or omit isFragment to include both fragment annotation groups' : ''}; use interpro_get_entry to verify the accession.`);
|
|
276
|
+
notices.push(`No proteins matched the applied entry and selection. Retry interpro_find_proteins_by_domain with reviewedOnly=false or another taxonId${input.isFragment !== undefined ? ', or omit isFragment to include both fragment annotation groups' : ''}; use interpro_get_entry to verify the accession.${query.proteomeId ? ` taxonId ${query.taxonId} still applies with proteomeId ${query.proteomeId}: set taxonId to protein.source_organism.taxId from interpro_get_protein_domains for a protein in that proteome, or an ancestor taxon, and confirm proteomeId against its protein.proteome.` : ''}`);
|
|
202
277
|
if (next) {
|
|
203
278
|
notices.push(pageGuidance('interpro_find_proteins_by_domain', 'proteins', limit, MAX_LIMIT));
|
|
204
279
|
ctx.enrich.truncated({ shown: proteins.length, cap: limit, guidance: notices.join(' ') });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpro-find-proteins-by-domain.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpro-find-proteins-by-domain.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,19 @@ export declare const interproGetEntry: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
25
25
|
ssf: "ssf";
|
|
26
26
|
}>>, unknown>;
|
|
27
27
|
includeThumbnail: z.ZodDefault<z.ZodBoolean>;
|
|
28
|
+
sections: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
29
|
+
counters: "counters";
|
|
30
|
+
cross_references: "cross_references";
|
|
31
|
+
description: "description";
|
|
32
|
+
go_terms: "go_terms";
|
|
33
|
+
hierarchy: "hierarchy";
|
|
34
|
+
literature: "literature";
|
|
35
|
+
member_databases: "member_databases";
|
|
36
|
+
overlaps_with: "overlaps_with";
|
|
37
|
+
wikipedia: "wikipedia";
|
|
38
|
+
}>>>;
|
|
39
|
+
overlapLimit: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
overlapOffset: z.ZodOptional<z.ZodNumber>;
|
|
28
41
|
}, z.core.$strip>, z.ZodObject<{
|
|
29
42
|
accession: z.ZodString;
|
|
30
43
|
sourceDatabase: z.ZodEnum<{
|
|
@@ -55,7 +68,52 @@ export declare const interproGetEntry: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
55
68
|
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
56
69
|
url: z.ZodString;
|
|
57
70
|
sourceUrl: z.ZodString;
|
|
71
|
+
sections: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
72
|
+
counters: "counters";
|
|
73
|
+
cross_references: "cross_references";
|
|
74
|
+
description: "description";
|
|
75
|
+
go_terms: "go_terms";
|
|
76
|
+
hierarchy: "hierarchy";
|
|
77
|
+
literature: "literature";
|
|
78
|
+
member_databases: "member_databases";
|
|
79
|
+
overlaps_with: "overlaps_with";
|
|
80
|
+
wikipedia: "wikipedia";
|
|
81
|
+
}>>>;
|
|
82
|
+
omittedSections: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
83
|
+
counters: "counters";
|
|
84
|
+
cross_references: "cross_references";
|
|
85
|
+
description: "description";
|
|
86
|
+
go_terms: "go_terms";
|
|
87
|
+
hierarchy: "hierarchy";
|
|
88
|
+
literature: "literature";
|
|
89
|
+
member_databases: "member_databases";
|
|
90
|
+
overlaps_with: "overlaps_with";
|
|
91
|
+
wikipedia: "wikipedia";
|
|
92
|
+
}>>>;
|
|
93
|
+
overlapsPage: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
94
|
+
available: z.ZodLiteral<true>;
|
|
95
|
+
total: z.ZodNumber;
|
|
96
|
+
offset: z.ZodNumber;
|
|
97
|
+
returned: z.ZodNumber;
|
|
98
|
+
hasMore: z.ZodBoolean;
|
|
99
|
+
nextOffset: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
101
|
+
available: z.ZodLiteral<false>;
|
|
102
|
+
offset: z.ZodNumber;
|
|
103
|
+
}, z.core.$strip>], "available">>;
|
|
58
104
|
}, z.core.$strip>, readonly [{
|
|
105
|
+
readonly reason: "overlap_limit_required";
|
|
106
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
107
|
+
readonly when: "overlapOffset is supplied without overlapLimit.";
|
|
108
|
+
readonly retryable: false;
|
|
109
|
+
readonly recovery: "Supply overlapLimit to enable paging, or omit overlapOffset for full overlaps.";
|
|
110
|
+
}, {
|
|
111
|
+
readonly reason: "overlaps_not_selected";
|
|
112
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
113
|
+
readonly when: "Overlap paging is requested but sections excludes overlaps_with.";
|
|
114
|
+
readonly retryable: false;
|
|
115
|
+
readonly recovery: "Include overlaps_with in sections or omit sections, then retry with overlapLimit.";
|
|
116
|
+
}, {
|
|
59
117
|
readonly reason: "database_mismatch";
|
|
60
118
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
61
119
|
readonly when: "Explicit database conflicts with accession routing.";
|
|
@@ -126,6 +184,7 @@ export declare const interproGetEntry: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
126
184
|
readonly recovery: 'Wait for retryAfter when supplied, then repeat the same tool with fewer concurrent calls.';
|
|
127
185
|
readonly thrownBy: 'service';
|
|
128
186
|
}], {
|
|
187
|
+
readonly totalCount: z.ZodOptional<z.ZodNumber>;
|
|
129
188
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
130
189
|
}>;
|
|
131
190
|
//# sourceMappingURL=interpro-get-entry.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpro-get-entry.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-entry.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"interpro-get-entry.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-entry.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAuDjE,wEAAwE;AACxE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2O3B,CAAC"}
|
|
@@ -10,10 +10,45 @@ import { getInterproService } from '../../../services/interpro/interpro-service.
|
|
|
10
10
|
import { resolveEntry } from '../../../services/interpro/routing.js';
|
|
11
11
|
import { AccessionSchema, detailSchema, EntryDetailMetadataSchema, EntryMetadataSchema, optionalString, SourceDatabaseSchema, } from '../../../services/interpro/schemas.js';
|
|
12
12
|
import { UPSTREAM_ERRORS } from '../../../services/interpro/upstream-errors.js';
|
|
13
|
+
const SECTIONS = [
|
|
14
|
+
'description',
|
|
15
|
+
'hierarchy',
|
|
16
|
+
'member_databases',
|
|
17
|
+
'go_terms',
|
|
18
|
+
'literature',
|
|
19
|
+
'cross_references',
|
|
20
|
+
'wikipedia',
|
|
21
|
+
'counters',
|
|
22
|
+
'overlaps_with',
|
|
23
|
+
];
|
|
24
|
+
const SectionSchema = z.enum(SECTIONS);
|
|
25
|
+
const OverlapsPageSchema = z.discriminatedUnion('available', [
|
|
26
|
+
z
|
|
27
|
+
.object({
|
|
28
|
+
available: z.literal(true).describe('Overlap array was supplied.'),
|
|
29
|
+
total: z.number().int().nonnegative().describe('Complete upstream overlap count.'),
|
|
30
|
+
offset: z.number().int().nonnegative().describe('Requested record offset.'),
|
|
31
|
+
returned: z.number().int().nonnegative().describe('Complete records returned.'),
|
|
32
|
+
hasMore: z.boolean().describe('More overlap records remain.'),
|
|
33
|
+
nextOffset: z
|
|
34
|
+
.number()
|
|
35
|
+
.int()
|
|
36
|
+
.nonnegative()
|
|
37
|
+
.optional()
|
|
38
|
+
.describe('Next offset when more records remain.'),
|
|
39
|
+
})
|
|
40
|
+
.describe('Page of complete upstream overlap records.'),
|
|
41
|
+
z
|
|
42
|
+
.object({
|
|
43
|
+
available: z.literal(false).describe('Overlap array was not supplied.'),
|
|
44
|
+
offset: z.number().int().nonnegative().describe('Requested record offset.'),
|
|
45
|
+
})
|
|
46
|
+
.describe('Overlap paging unavailable for a missing or null source section.'),
|
|
47
|
+
]);
|
|
13
48
|
/** Retrieve one complete entry with deterministic accession routing. */
|
|
14
49
|
export const interproGetEntry = tool('interpro_get_entry', {
|
|
15
50
|
title: 'InterPro entry metadata',
|
|
16
|
-
description: 'Retrieve one InterPro or member-database entry
|
|
51
|
+
description: 'Retrieve one InterPro or member-database entry with full metadata by default. Select optional sections while retaining core and unknown metadata, or supply overlapLimit to page whole overlap records in upstream order; offsets are not a snapshot across calls.',
|
|
17
52
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
18
53
|
auth: ['tool:interpro_get_entry:read'],
|
|
19
54
|
input: z.object({
|
|
@@ -23,21 +58,68 @@ export const interproGetEntry = tool('interpro_get_entry', {
|
|
|
23
58
|
.boolean()
|
|
24
59
|
.default(false)
|
|
25
60
|
.describe('Include each Wikipedia thumbnail image, base64 data often hundreds of KB; defaults to false.'),
|
|
61
|
+
sections: z
|
|
62
|
+
.array(SectionSchema.describe('Optional metadata section to retain.'))
|
|
63
|
+
.optional()
|
|
64
|
+
.describe('Retain these named sections and all core or unknown metadata; omitted means full detail, and an empty array retains core metadata only.'),
|
|
65
|
+
overlapLimit: z
|
|
66
|
+
.number()
|
|
67
|
+
.int()
|
|
68
|
+
.positive()
|
|
69
|
+
.max(Number.MAX_SAFE_INTEGER)
|
|
70
|
+
.optional()
|
|
71
|
+
.describe('Positive safe integer number of whole overlap records; supplying it enables overlap paging.'),
|
|
72
|
+
overlapOffset: z
|
|
73
|
+
.number()
|
|
74
|
+
.int()
|
|
75
|
+
.nonnegative()
|
|
76
|
+
.max(Number.MAX_SAFE_INTEGER)
|
|
77
|
+
.optional()
|
|
78
|
+
.describe('Nonnegative safe integer overlap offset; requires overlapLimit, defaults to zero.'),
|
|
26
79
|
}),
|
|
27
80
|
output: z.object({
|
|
28
81
|
accession: z.string().describe('Canonical requested accession.'),
|
|
29
82
|
sourceDatabase: SourceDatabaseSchema,
|
|
30
|
-
entry: EntryDetailMetadataSchema.describe('
|
|
83
|
+
entry: EntryDetailMetadataSchema.describe('Upstream metadata after explicit section selection and overlap paging, with readable descriptionText when description is retained; raw description shapes and sparse annotations survive. Wikipedia thumbnails are omitted unless includeThumbnail is true.'),
|
|
31
84
|
url: z.string().describe('Canonical InterPro website URL.'),
|
|
32
85
|
sourceUrl: z.string().describe('Official API source URL.'),
|
|
86
|
+
sections: z
|
|
87
|
+
.array(SectionSchema.describe('Retained optional section.'))
|
|
88
|
+
.optional()
|
|
89
|
+
.describe('Canonical selected sections, when explicitly selected.'),
|
|
90
|
+
omittedSections: z
|
|
91
|
+
.array(SectionSchema.describe('Omitted source section.'))
|
|
92
|
+
.optional()
|
|
93
|
+
.describe('Named sections actually removed from upstream metadata.'),
|
|
94
|
+
overlapsPage: OverlapsPageSchema.optional().describe('Explicit overlap paging state; unavailable arrays have no fabricated total.'),
|
|
33
95
|
}),
|
|
34
96
|
enrichment: {
|
|
97
|
+
totalCount: z
|
|
98
|
+
.number()
|
|
99
|
+
.int()
|
|
100
|
+
.nonnegative()
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('Total upstream overlap records when explicit paging has an available array.'),
|
|
35
103
|
notice: z
|
|
36
104
|
.string()
|
|
37
105
|
.optional()
|
|
38
|
-
.describe('
|
|
106
|
+
.describe('Section selection, overlap page continuation or availability, and omitted Wikipedia thumbnail guidance.'),
|
|
39
107
|
},
|
|
40
108
|
errors: [
|
|
109
|
+
{
|
|
110
|
+
reason: 'overlap_limit_required',
|
|
111
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
112
|
+
when: 'overlapOffset is supplied without overlapLimit.',
|
|
113
|
+
retryable: false,
|
|
114
|
+
recovery: 'Supply overlapLimit to enable paging, or omit overlapOffset for full overlaps.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
reason: 'overlaps_not_selected',
|
|
118
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
119
|
+
when: 'Overlap paging is requested but sections excludes overlaps_with.',
|
|
120
|
+
retryable: false,
|
|
121
|
+
recovery: 'Include overlaps_with in sections or omit sections, then retry with overlapLimit.',
|
|
122
|
+
},
|
|
41
123
|
{
|
|
42
124
|
reason: 'database_mismatch',
|
|
43
125
|
code: JsonRpcErrorCode.ValidationError,
|
|
@@ -81,14 +163,64 @@ export const interproGetEntry = tool('interpro_get_entry', {
|
|
|
81
163
|
...UPSTREAM_ERRORS,
|
|
82
164
|
],
|
|
83
165
|
async handler(input, ctx) {
|
|
166
|
+
if (input.overlapOffset !== undefined && input.overlapLimit === undefined)
|
|
167
|
+
throw ctx.fail('overlap_limit_required');
|
|
168
|
+
if (input.overlapLimit !== undefined &&
|
|
169
|
+
input.sections &&
|
|
170
|
+
!input.sections.includes('overlaps_with'))
|
|
171
|
+
throw ctx.fail('overlaps_not_selected');
|
|
84
172
|
const target = resolveEntry(input.accession, input.sourceDatabase);
|
|
85
173
|
const service = getInterproService();
|
|
86
174
|
const response = await service.request(service.begin(ctx), ['entry', target.sourceDatabase, target.accession], {}, detailSchema(EntryMetadataSchema), { missing: { reason: 'entry_not_found', ...target } });
|
|
87
175
|
if (!response.data)
|
|
88
176
|
throw ctx.fail('upstream_shape_invalid', 'Entry metadata response is missing.');
|
|
89
|
-
const
|
|
177
|
+
const sourceMetadata = response.data.metadata;
|
|
178
|
+
const selected = input.sections === undefined
|
|
179
|
+
? undefined
|
|
180
|
+
: SECTIONS.filter((section) => input.sections?.includes(section));
|
|
181
|
+
const omittedSections = selected === undefined
|
|
182
|
+
? undefined
|
|
183
|
+
: SECTIONS.filter((section) => !selected.includes(section) && Object.hasOwn(sourceMetadata, section));
|
|
184
|
+
const projected = { ...sourceMetadata };
|
|
185
|
+
for (const section of omittedSections ?? [])
|
|
186
|
+
delete projected[section];
|
|
187
|
+
const notices = [];
|
|
188
|
+
if (selected)
|
|
189
|
+
notices.push(`Selected sections: ${JSON.stringify(selected)}; omitted source sections: ${JSON.stringify(omittedSections)}. Core and unknown metadata are retained.`);
|
|
190
|
+
let overlapsPage;
|
|
191
|
+
if (input.overlapLimit !== undefined) {
|
|
192
|
+
const offset = input.overlapOffset ?? 0;
|
|
193
|
+
const overlaps = projected.overlaps_with;
|
|
194
|
+
if (overlaps === undefined || overlaps === null) {
|
|
195
|
+
overlapsPage = { available: false, offset };
|
|
196
|
+
notices.push('Overlap paging is unavailable because upstream overlaps_with is missing or null; no total is known.');
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
if (!Array.isArray(overlaps))
|
|
200
|
+
throw ctx.fail('upstream_shape_invalid', 'Entry overlaps_with is not an array.');
|
|
201
|
+
const slice = overlaps.slice(offset, offset + Math.min(input.overlapLimit, overlaps.length));
|
|
202
|
+
projected.overlaps_with = slice;
|
|
203
|
+
const nextOffset = offset + slice.length;
|
|
204
|
+
const hasMore = nextOffset < overlaps.length;
|
|
205
|
+
ctx.enrich.total(overlaps.length);
|
|
206
|
+
overlapsPage = {
|
|
207
|
+
available: true,
|
|
208
|
+
total: overlaps.length,
|
|
209
|
+
offset,
|
|
210
|
+
returned: slice.length,
|
|
211
|
+
hasMore,
|
|
212
|
+
...(hasMore ? { nextOffset } : {}),
|
|
213
|
+
};
|
|
214
|
+
notices.push(`Overlap page returned ${slice.length} of ${overlaps.length} records at offset ${offset}.`);
|
|
215
|
+
if (hasMore)
|
|
216
|
+
notices.push(`Continue with interpro_get_entry ${JSON.stringify({ ...target, includeThumbnail: input.includeThumbnail, ...(selected ? { sections: selected } : {}), overlapLimit: input.overlapLimit, overlapOffset: nextOffset })}.`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const { metadata, notice } = projectWikipediaThumbnails(projected, input.includeThumbnail, 'interpro_get_entry');
|
|
90
220
|
if (notice)
|
|
91
|
-
|
|
221
|
+
notices.push(notice);
|
|
222
|
+
if (notices.length)
|
|
223
|
+
ctx.enrich.notice(notices.join(' '));
|
|
92
224
|
const readable = descriptionText(metadata.description);
|
|
93
225
|
const entry = normalizeImages(metadata);
|
|
94
226
|
if (readable)
|
|
@@ -98,6 +230,8 @@ export const interproGetEntry = tool('interpro_get_entry', {
|
|
|
98
230
|
entry,
|
|
99
231
|
url: `https://www.ebi.ac.uk/interpro/entry/${target.sourceDatabase}/${encodeURIComponent(target.accession)}/`,
|
|
100
232
|
sourceUrl: response.sourceUrl,
|
|
233
|
+
...(selected ? { sections: selected, omittedSections } : {}),
|
|
234
|
+
...(overlapsPage ? { overlapsPage } : {}),
|
|
101
235
|
};
|
|
102
236
|
},
|
|
103
237
|
format: formatInterpro,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpro-get-entry.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-entry.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,eAAe,EACf,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAEzE,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE;IACzD,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"interpro-get-entry.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-entry.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare const interproGetProteinDomains: import("@cyanheads/mcp-ts-core")
|
|
|
9
9
|
accession: z.ZodString;
|
|
10
10
|
residuePosition: z.ZodOptional<z.ZodNumber>;
|
|
11
11
|
includeExtraFeatures: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
includeResidueAnnotations: z.ZodDefault<z.ZodBoolean>;
|
|
12
13
|
cursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
13
14
|
}, z.core.$strip>, z.ZodObject<{
|
|
14
15
|
accession: z.ZodString;
|
|
@@ -23,6 +24,7 @@ export declare const interproGetProteinDomains: import("@cyanheads/mcp-ts-core")
|
|
|
23
24
|
scientificName: z.ZodString;
|
|
24
25
|
fullName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
26
|
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
27
|
+
proteome: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26
28
|
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
27
29
|
matches: z.ZodArray<z.ZodObject<{
|
|
28
30
|
metadata: z.ZodObject<{
|
|
@@ -69,9 +71,24 @@ export declare const interproGetProteinDomains: import("@cyanheads/mcp-ts-core")
|
|
|
69
71
|
score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
70
72
|
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
71
73
|
}, z.core.$catchall<z.ZodJSONSchema>>>>;
|
|
74
|
+
residueAnnotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
75
|
+
accession: z.ZodString;
|
|
76
|
+
source_database: z.ZodString;
|
|
77
|
+
locations: z.ZodArray<z.ZodObject<{
|
|
78
|
+
fragments: z.ZodArray<z.ZodObject<{
|
|
79
|
+
start: z.ZodNumber;
|
|
80
|
+
end: z.ZodNumber;
|
|
81
|
+
'dc-status': z.ZodOptional<z.ZodString>;
|
|
82
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
83
|
+
representative: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
84
|
+
model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
85
|
+
score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
86
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
87
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>>;
|
|
72
88
|
selection: z.ZodObject<{
|
|
73
89
|
residuePosition: z.ZodOptional<z.ZodNumber>;
|
|
74
90
|
includeExtraFeatures: z.ZodBoolean;
|
|
91
|
+
includeResidueAnnotations: z.ZodOptional<z.ZodLiteral<true>>;
|
|
75
92
|
}, z.core.$strip>;
|
|
76
93
|
coverage: z.ZodObject<{
|
|
77
94
|
totalMatches: z.ZodNumber;
|
|
@@ -79,6 +96,8 @@ export declare const interproGetProteinDomains: import("@cyanheads/mcp-ts-core")
|
|
|
79
96
|
returnedMatches: z.ZodNumber;
|
|
80
97
|
totalFeatures: z.ZodOptional<z.ZodNumber>;
|
|
81
98
|
returnedFeatures: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
totalResidueAnnotations: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
returnedResidueAnnotations: z.ZodOptional<z.ZodNumber>;
|
|
82
101
|
complete: z.ZodBoolean;
|
|
83
102
|
hasMore: z.ZodBoolean;
|
|
84
103
|
nextCursor: z.ZodOptional<z.ZodString>;
|
|
@@ -88,9 +107,9 @@ export declare const interproGetProteinDomains: import("@cyanheads/mcp-ts-core")
|
|
|
88
107
|
}, z.core.$strip>, readonly [{
|
|
89
108
|
readonly reason: "retry_deadline_exceeded";
|
|
90
109
|
readonly code: JsonRpcErrorCode.Timeout;
|
|
91
|
-
readonly when: "The shared fifty-second budget expires across
|
|
110
|
+
readonly when: "The shared fifty-second budget expires across metadata, match pages, extra features, and residue rules.";
|
|
92
111
|
readonly retryable: true;
|
|
93
|
-
readonly recovery: "Retry interpro_get_protein_domains after waiting; omit
|
|
112
|
+
readonly recovery: "Retry interpro_get_protein_domains after waiting; omit optional annotations when they are not needed.";
|
|
94
113
|
readonly thrownBy: "service";
|
|
95
114
|
}, {
|
|
96
115
|
readonly reason: "invalid_cursor";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpro-get-protein-domains.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-protein-domains.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"interpro-get-protein-domains.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-protein-domains.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAmLjE,gGAAgG;AAChG,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoYpC,CAAC"}
|