@cyanheads/ensembl-mcp-server 0.3.0 → 0.4.1

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 (30) hide show
  1. package/AGENTS.md +2 -2
  2. package/CLAUDE.md +2 -2
  3. package/Dockerfile +10 -6
  4. package/LICENSE +1 -1
  5. package/README.md +2 -2
  6. package/changelog/0.4.x/0.4.0.md +20 -0
  7. package/changelog/0.4.x/0.4.1.md +30 -0
  8. package/changelog/template.md +5 -3
  9. package/dist/mcp-server/prompts/definitions/gene-dossier.prompt.d.ts.map +1 -1
  10. package/dist/mcp-server/prompts/definitions/gene-dossier.prompt.js +6 -3
  11. package/dist/mcp-server/prompts/definitions/gene-dossier.prompt.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/get-sequence.tool.d.ts +5 -0
  13. package/dist/mcp-server/tools/definitions/get-sequence.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/get-sequence.tool.js +35 -21
  15. package/dist/mcp-server/tools/definitions/get-sequence.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/predict-variant.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/predict-variant.tool.js +31 -12
  18. package/dist/mcp-server/tools/definitions/predict-variant.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/query-region.tool.d.ts +3 -1
  20. package/dist/mcp-server/tools/definitions/query-region.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/query-region.tool.js +25 -8
  22. package/dist/mcp-server/tools/definitions/query-region.tool.js.map +1 -1
  23. package/dist/services/ensembl/ensembl-service.d.ts +2 -1
  24. package/dist/services/ensembl/ensembl-service.d.ts.map +1 -1
  25. package/dist/services/ensembl/ensembl-service.js +23 -2
  26. package/dist/services/ensembl/ensembl-service.js.map +1 -1
  27. package/dist/services/ensembl/types.d.ts +12 -0
  28. package/dist/services/ensembl/types.d.ts.map +1 -1
  29. package/package.json +9 -7
  30. package/server.json +3 -3
package/AGENTS.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** ensembl-mcp-server
4
- **Version:** 0.3.0
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
4
+ **Version:** 0.4.1
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** ensembl-mcp-server
4
- **Version:** 0.3.0
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
4
+ **Version:** 0.4.1
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
package/Dockerfile CHANGED
@@ -4,15 +4,17 @@
4
4
  # This stage installs all dependencies (including dev), builds the TypeScript
5
5
  # source code into JavaScript, and prepares the production assets.
6
6
  # ==============================================================================
7
- FROM oven/bun:1.3 AS build
7
+ FROM oven/bun:1.3.14 AS build
8
8
 
9
9
  WORKDIR /usr/src/app
10
10
 
11
11
  # Copy dependency manifests for optimized layer caching
12
12
  COPY package.json bun.lock ./
13
13
 
14
- # Install all dependencies (including dev dependencies for building)
15
- RUN bun install --frozen-lockfile
14
+ # Install all dependencies (including dev dependencies for building).
15
+ # The BuildKit cache mount persists Bun's global package cache across builds.
16
+ RUN --mount=type=cache,target=/root/.bun/install/cache \
17
+ bun install --frozen-lockfile --ignore-scripts
16
18
 
17
19
  # Copy the rest of the source code
18
20
  COPY . .
@@ -28,7 +30,7 @@ RUN bun run build
28
30
  # application. It uses a slim base image and only includes production
29
31
  # dependencies and build artifacts.
30
32
  # ==============================================================================
31
- FROM oven/bun:1.3-slim AS production
33
+ FROM oven/bun:1.3.14-slim AS production
32
34
 
33
35
  WORKDIR /usr/src/app
34
36
 
@@ -49,13 +51,15 @@ COPY package.json bun.lock ./
49
51
 
50
52
  # Install only production dependencies, ignoring any lifecycle scripts (like 'prepare')
51
53
  # that are not needed in the final production image.
52
- RUN bun install --production --frozen-lockfile --ignore-scripts
54
+ RUN --mount=type=cache,target=/root/.bun/install/cache \
55
+ bun install --production --frozen-lockfile --ignore-scripts
53
56
 
54
57
  # Conditionally install OpenTelemetry optional peer dependencies (Tier 3).
55
58
  # These are not bundled by default to keep the base image lean. Enable at build time
56
59
  # with: docker build --build-arg OTEL_ENABLED=true
57
60
  ARG OTEL_ENABLED=true
58
- RUN if [ "$OTEL_ENABLED" = "true" ]; then \
61
+ RUN --mount=type=cache,target=/root/.bun/install/cache \
62
+ if [ "$OTEL_ENABLED" = "true" ]; then \
59
63
  bun add @hono/otel \
60
64
  @opentelemetry/instrumentation-http \
61
65
  @opentelemetry/exporter-metrics-otlp-http \
package/LICENSE CHANGED
@@ -186,7 +186,7 @@ Apache License
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2025 Casey Hand @cyanheads
189
+ Copyright 2026 Casey Hand @cyanheads
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.3.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/ensembl-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/ensembl-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/ensembl-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.11-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.4.1-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/ensembl-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/ensembl-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/ensembl-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -235,7 +235,7 @@ MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
235
235
 
236
236
  ### Prerequisites
237
237
 
238
- - [Bun v1.3.11](https://bun.sh/) or higher (or Node.js v24+).
238
+ - [Bun v1.3.14](https://bun.sh/) or higher (or Node.js v24+).
239
239
  - No API key required — Ensembl REST is fully public.
240
240
 
241
241
  ### Installation
@@ -0,0 +1,20 @@
1
+ ---
2
+ summary: "ensembl_predict_variant accepts dbSNP rsIDs via a new VEP /id endpoint; ensembl_query_region exon rows carry parentId/rank; chromosome-name docs corrected; gene-dossier prompt's variant workflow now attributes impact to VEP"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.4.0 — 2026-07-03
8
+
9
+ ## Added
10
+
11
+ - **`ensembl_predict_variant` accepts dbSNP rsIDs** — third input format alongside HGVS and region+allele (e.g. `rs334`), routed to a new VEP `GET /vep/{species}/id/{id}` endpoint via the new `predictVariantId` service method. An rsID unknown to dbSNP surfaces as `not_found`; a malformed identifier as `invalid_notation`. ([#11](https://github.com/cyanheads/ensembl-mcp-server/issues/11))
12
+ - **`ensembl_query_region` exon features carry `parentId` and `rank`** — `parentId` (the `ENST…` parent transcript stable ID) and `rank` (1-based exon position within that transcript) explain why the same exon ID can appear on multiple rows: once per parent transcript it belongs to. ([#9](https://github.com/cyanheads/ensembl-mcp-server/issues/9))
13
+
14
+ ## Changed
15
+
16
+ - **Chromosome-name guidance corrected** in `ensembl_query_region` and `ensembl_predict_variant` (descriptions, input schemas, error recovery text, and the empty-result notice) — no longer states chr-prefixed names are unsupported. Ensembl normalizes chromosome names; canonical vertebrate output omits the `chr` prefix, but a `chr`-prefixed name (e.g. `chr13`) is also accepted. ([#10](https://github.com/cyanheads/ensembl-mcp-server/issues/10))
17
+
18
+ ## Fixed
19
+
20
+ - **`ensembl_gene_dossier` prompt's variant workflow corrected** — step 3 no longer claims `ensembl_query_region` can identify HIGH/MODERATE impact variants (query_region doesn't report functional impact); step 4 now attributes impact to VEP and offers a valid rsID example (`rs334`), consistent with the new rsID input support. ([#7](https://github.com/cyanheads/ensembl-mcp-server/issues/7))
@@ -0,0 +1,30 @@
1
+ ---
2
+ summary: "ensembl_get_sequence forwards expand_5prime/expand_3prime to stable-ID genomic lookups and accepts a bare chr:start-end region when species is set; mcp-ts-core 0.10.10 → 0.10.14 with a Bun supply-chain guard and Dockerfile hardening"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.4.1 — 2026-07-09
8
+
9
+ ## Added
10
+
11
+ - **`ensembl_get_sequence` accepts a bare `chr:start-end` region when `species` is set** — alongside the existing `species:chr:start-end` form, so region-mode input chains directly from `ensembl_lookup_gene`/`ensembl_query_region` coordinates without repackaging into a server-specific string. A bare region given without `species` throws the new `missing_species` `ValidationError`. ([#14](https://github.com/cyanheads/ensembl-mcp-server/issues/14))
12
+
13
+ ## Changed
14
+
15
+ - **`@cyanheads/mcp-ts-core` maintenance adoption** — 12 skills re-synced to the current framework set; see Dependencies for the version arrow.
16
+ - **Supply-chain guard** — `bunfig.toml` sets `install.minimumReleaseAge` (3 days, `@cyanheads/mcp-ts-core` excluded) and `install.security.scanner = "@socketsecurity/bun-security-scanner"`.
17
+ - **`devcheck.config.json`** outdated-package allowlist adds `@socketsecurity/bun-security-scanner`; `scripts/devcheck.ts`'s outdated check also skips any package held back by the `minimumReleaseAge` guard instead of flagging it as unexpected.
18
+ - **`Dockerfile`** pins `oven/bun:1.3.14` (was floating `1.3`), adds BuildKit cache mounts to both install stages, and runs the build-stage install with `--ignore-scripts`.
19
+ - **`.github/SECURITY.md`** and **`.gitattributes`** added; **`LICENSE`** copyright year 2025 → 2026.
20
+
21
+ ## Fixed
22
+
23
+ - **`ensembl_get_sequence` stable-ID genomic lookups now forward `expand_5prime`/`expand_3prime`** — previously only region-mode requests received these params, so a stable-ID call returned the same sequence length regardless of the requested expansion. `EnsemblService.getSequenceById` now accepts both params and gates them to `type=genomic` (Ensembl ignores them for cdna/cds/protein). ([#13](https://github.com/cyanheads/ensembl-mcp-server/issues/13))
24
+
25
+ ## Dependencies
26
+
27
+ - `@cyanheads/mcp-ts-core` `^0.10.10` → `^0.10.14`
28
+ - `tsc-alias` `^1.8.17` → `^1.9.0`
29
+ - `vitest` `^4.1.9` → `^4.1.10`
30
+ - `@socketsecurity/bun-security-scanner` `^1.1.2` added
@@ -15,9 +15,11 @@ summary: ""
15
15
  # usage. Flagged as `Breaking` in the rollup.
16
16
  breaking: false
17
17
 
18
- # Set `true` if this release contains any security fix. Pairs with the
19
- # `## Security` section below. Flagged as `Security` in the rollup so
20
- # users can triage upgrade urgency at a glance.
18
+ # Set `true` ONLY for a security fix in THIS project's own source code — a
19
+ # vulnerability or hardening in code you ship. A dependency or transitive CVE
20
+ # bump is routine maintenance, NOT a security release: record it under
21
+ # `## Dependencies` (with the advisory ID) and leave this `false`. When true,
22
+ # pairs with the `## Security` section below and flags `Security` in the rollup.
21
23
  security: false
22
24
 
23
25
  # Optional free-form notes for maintenance agents processing this release.
@@ -1 +1 @@
1
- {"version":3,"file":"gene-dossier.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/gene-dossier.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,wBAAwB;;;kBA2DnC,CAAC"}
1
+ {"version":3,"file":"gene-dossier.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/gene-dossier.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,wBAAwB;;;kBA8DnC,CAAC"}
@@ -33,9 +33,12 @@ export const ensemblGeneDossierPrompt = prompt('ensembl_gene_dossier', {
33
33
  `transcript ID from step 1 and type="protein". Record the amino acid sequence and its length.\n\n` +
34
34
  `3. **Find variants in the locus** — call \`ensembl_query_region\` with ` +
35
35
  `species="${args.species}", the gene's chromosomal region (chr:start-end from step 1), ` +
36
- `and feature=["variation"]. Identify any HIGH or MODERATE impact variants.\n\n` +
37
- `4. **Predict variant consequences** — for up to 3 high-impact variants found in step 3, ` +
38
- `call \`ensembl_predict_variant\` with the variant ID or HGVS notation. ` +
36
+ `and feature=["variation"]. Record the variant IDs (rsIDs), positions, consequence type, ` +
37
+ `and any clinical significance. Functional impact (HIGH/MODERATE/LOW) is not reported by ` +
38
+ `this step — it comes from VEP in step 4.\n\n` +
39
+ `4. **Predict variant consequences** — for up to 3 variants from step 3, ` +
40
+ `call \`ensembl_predict_variant\` with each variant's rsID (e.g. rs334), HGVS notation, ` +
41
+ `or region+allele. This step returns the functional impact. ` +
39
42
  `Record most_severe_consequence, impact, and clinical significance.\n\n` +
40
43
  `5. **Find cross-species orthologs** — call \`ensembl_get_homology\` with ` +
41
44
  `symbol="${args.gene_symbol}", species="${args.species}", and type="orthologues". ` +
@@ -1 +1 @@
1
- {"version":3,"file":"gene-dossier.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/gene-dossier.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,sBAAsB,EAAE;IACrE,WAAW,EACT,gGAAgG;QAChG,8FAA8F;QAC9F,0EAA0E;IAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CACP,oDAAoD;YAClD,4DAA4D,CAC/D;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CACP,wEAAwE;YACtE,6EAA6E,CAChF;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,0CAA0C,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,OAAO,KAAK;oBACtF,+DAA+D;oBAC/D,uEAAuE,IAAI,CAAC,WAAW,IAAI;oBAC3F,gBAAgB,IAAI,CAAC,OAAO,sCAAsC;oBAClE,qFAAqF;oBACrF,uDAAuD;oBACvD,uFAAuF;oBACvF,kGAAkG;oBAClG,yEAAyE;oBACzE,YAAY,IAAI,CAAC,OAAO,gEAAgE;oBACxF,+EAA+E;oBAC/E,0FAA0F;oBAC1F,yEAAyE;oBACzE,wEAAwE;oBACxE,2EAA2E;oBAC3E,WAAW,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,OAAO,6BAA6B;oBACnF,yFAAyF;oBACzF,wFAAwF;oBACxF,qDAAqD;oBACrD,gEAAgE;oBAChE,iFAAiF;oBACjF,iGAAiG;oBACjG,2DAA2D;oBAC3D,6EAA6E;oBAC7E,kFAAkF;oBAClF,kEAAkE;oBAClE,oEAAoE;oBACpE,6EAA6E;oBAC7E,4EAA4E;oBAC5E,uDAAuD;aAC1D;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"gene-dossier.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/gene-dossier.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,sBAAsB,EAAE;IACrE,WAAW,EACT,gGAAgG;QAChG,8FAA8F;QAC9F,0EAA0E;IAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CACP,oDAAoD;YAClD,4DAA4D,CAC/D;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CACP,wEAAwE;YACtE,6EAA6E,CAChF;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,0CAA0C,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,OAAO,KAAK;oBACtF,+DAA+D;oBAC/D,uEAAuE,IAAI,CAAC,WAAW,IAAI;oBAC3F,gBAAgB,IAAI,CAAC,OAAO,sCAAsC;oBAClE,qFAAqF;oBACrF,uDAAuD;oBACvD,uFAAuF;oBACvF,kGAAkG;oBAClG,yEAAyE;oBACzE,YAAY,IAAI,CAAC,OAAO,gEAAgE;oBACxF,0FAA0F;oBAC1F,0FAA0F;oBAC1F,8CAA8C;oBAC9C,0EAA0E;oBAC1E,yFAAyF;oBACzF,6DAA6D;oBAC7D,wEAAwE;oBACxE,2EAA2E;oBAC3E,WAAW,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,OAAO,6BAA6B;oBACnF,yFAAyF;oBACzF,wFAAwF;oBACxF,qDAAqD;oBACrD,gEAAgE;oBAChE,iFAAiF;oBACjF,iGAAiG;oBACjG,2DAA2D;oBAC3D,6EAA6E;oBAC7E,kFAAkF;oBAClF,kEAAkE;oBAClE,oEAAoE;oBACpE,6EAA6E;oBAC7E,4EAA4E;oBAC5E,uDAAuD;aAC1D;SACF;KACF;CACF,CAAC,CAAC"}
@@ -31,5 +31,10 @@ export declare const ensemblGetSequence: import("@cyanheads/mcp-ts-core").ToolDe
31
31
  readonly code: JsonRpcErrorCode.ValidationError;
32
32
  readonly when: "The requested sequence type is incompatible with the provided ID type.";
33
33
  readonly recovery: string;
34
+ }, {
35
+ readonly reason: "missing_species";
36
+ readonly code: JsonRpcErrorCode.ValidationError;
37
+ readonly when: "A bare chr:start-end region was given without a species.";
38
+ readonly recovery: string;
34
39
  }], undefined>;
35
40
  //# sourceMappingURL=get-sequence.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-sequence.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-sequence.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8K7B,CAAC"}
1
+ {"version":3,"file":"get-sequence.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-sequence.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8L7B,CAAC"}
@@ -12,17 +12,18 @@ export const ensemblGetSequence = tool('ensembl_get_sequence', {
12
12
  'Returns the sequence with its stable ID, molecule type, and character count — large sequences are ' +
13
13
  'returned in full but the length is stated so callers can budget context. The type parameter selects ' +
14
14
  'which sequence is fetched: genomic (default, includes introns), cdna (spliced transcript), ' +
15
- 'cds (coding sequence only), protein. For region mode, set id to the format species:chr:start-end ' +
16
- '(e.g. homo_sapiens:13:32315086-32400268) and set species. Protein sequences require a transcript or ' +
15
+ 'cds (coding sequence only), protein. For region mode, set id to a region — either ' +
16
+ 'species:chr:start-end (e.g. homo_sapiens:13:32315086-32400268) or a bare chr:start-end with ' +
17
+ 'species set (e.g. id 13:32315086-32400268, species homo_sapiens). Protein sequences require a transcript or ' +
17
18
  'protein stable ID (ENST…/ENSP…), not a gene ID — use ensembl_lookup_gene with expand_transcripts=true ' +
18
19
  'to get the canonical transcript ID first.',
19
20
  annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
20
21
  input: z.object({
21
22
  id: z
22
23
  .string()
23
- .describe('Ensembl stable ID (ENSG…, ENST…, ENSP…) or region in the format ' +
24
- 'species:chr:start-end (e.g. homo_sapiens:13:32315086-32400268) for region mode. ' +
25
- 'For genomic region queries, species is also required.'),
24
+ .describe('Ensembl stable ID (ENSG…, ENST…, ENSP…) or a genomic region for region mode. ' +
25
+ 'Region accepts species:chr:start-end (e.g. homo_sapiens:13:32315086-32400268) or a bare ' +
26
+ 'chr:start-end (e.g. 13:32315086-32400268) when the species field is set.'),
26
27
  type: z
27
28
  .enum(SEQUENCE_TYPES)
28
29
  .default('genomic')
@@ -35,7 +36,8 @@ export const ensemblGetSequence = tool('ensembl_get_sequence', {
35
36
  .string()
36
37
  .optional()
37
38
  .describe('Species in Ensembl internal format (e.g. homo_sapiens). ' +
38
- 'Required for region mode (when id is a species:chr:start-end string). ' +
39
+ 'Required for a bare chr:start-end region; optional for the species:chr:start-end form ' +
40
+ '(the embedded species is used when the field is omitted). ' +
39
41
  'Optional for stable ID lookups — Ensembl infers species from the ID prefix.'),
40
42
  expand_5prime: z
41
43
  .number()
@@ -82,26 +84,38 @@ export const ensemblGetSequence = tool('ensembl_get_sequence', {
82
84
  'Use ensembl_lookup_gene with expand_transcripts=true to find the canonical transcript ID, ' +
83
85
  'then request the protein or cds sequence from that transcript ID.',
84
86
  },
87
+ {
88
+ reason: 'missing_species',
89
+ code: JsonRpcErrorCode.ValidationError,
90
+ when: 'A bare chr:start-end region was given without a species.',
91
+ recovery: 'Set species (e.g. homo_sapiens) alongside the chr:start-end region, ' +
92
+ 'or use the combined species:chr:start-end id form.',
93
+ },
85
94
  ],
86
95
  async handler(input, ctx) {
87
96
  ctx.log.info('Fetching sequence', { id: input.id, type: input.type });
88
97
  const service = getEnsemblService();
89
- // Detect region mode: contains ":" after optional species prefix.
90
- // Scaffold/patch names carry dots (e.g. GL000220.1), so the chromosome
91
- // segment allows "." in addition to word characters.
92
- const regionPattern = /^[a-z_]+:[\w.]+:\d+-\d+$/i;
93
- const isRegion = regionPattern.test(input.id);
94
- if (isRegion) {
95
- // Parse "species:chr:start-end"
96
- const parts = input.id.split(':');
97
- if (parts.length !== 3) {
98
- throw ctx.fail('not_found', `Region format should be species:chr:start-end, got: ${input.id}`);
98
+ // Region mode accepts two id shapes:
99
+ // species:chr:start-end embedded species (e.g. homo_sapiens:13:32315086-32400268)
100
+ // chr:start-end bare region — the species field supplies the species
101
+ // Scaffold/patch names carry dots (e.g. GL000220.1), so the chromosome segment
102
+ // allows "." alongside word characters. Colon count is the discriminant: the two
103
+ // patterns are mutually exclusive (2 colons vs. 1), and a stable ID (ENSG…, no
104
+ // colon) matches neither, routing to stable-ID mode below.
105
+ const isPrefixedRegion = /^[a-z_]+:[\w.]+:\d+-\d+$/i.test(input.id);
106
+ const isBareRegion = /^[\w.]+:\d+-\d+$/.test(input.id);
107
+ if (isPrefixedRegion || isBareRegion) {
108
+ // For the prefixed form the species is the segment before the first colon and
109
+ // the region is everything after it; the bare form takes its species from the
110
+ // species field and uses the whole id as the region.
111
+ const firstColon = input.id.indexOf(':');
112
+ const species = input.species?.trim() || (isPrefixedRegion ? input.id.slice(0, firstColon) : undefined);
113
+ const region = isPrefixedRegion ? input.id.slice(firstColon + 1) : input.id;
114
+ if (!species) {
115
+ throw ctx.fail('missing_species', `Region ${input.id} needs a species — set species (e.g. homo_sapiens) or use the species:chr:start-end id form.`);
99
116
  }
100
- const [speciesFromId, chr, range] = parts;
101
- const speciesStr = input.species?.trim() || speciesFromId;
102
- const region = `${chr}:${range}`;
103
117
  const seq = await service
104
- .getSequenceByRegion(speciesStr, region, input.expand_5prime, input.expand_3prime, ctx)
118
+ .getSequenceByRegion(species, region, input.expand_5prime, input.expand_3prime, ctx)
105
119
  .catch((err) => {
106
120
  const msg = err instanceof Error ? err.message : String(err);
107
121
  if (/not found|invalid|no stable id/i.test(msg)) {
@@ -113,7 +127,7 @@ export const ensemblGetSequence = tool('ensembl_get_sequence', {
113
127
  }
114
128
  // Stable ID mode
115
129
  const seq = await service
116
- .getSequenceById(input.id.trim(), input.type, ctx)
130
+ .getSequenceById(input.id.trim(), input.type, input.expand_5prime, input.expand_3prime, ctx)
117
131
  .catch((err) => {
118
132
  const msg = err instanceof Error ? err.message : String(err);
119
133
  if (/protein.*gene|cds.*gene|type.*mismatch|incompatible/i.test(msg) ||
@@ -1 +1 @@
1
- {"version":3,"file":"get-sequence.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-sequence.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-sequence.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-sequence.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"predict-variant.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/predict-variant.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6GjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwMhC,CAAC"}
1
+ {"version":3,"file":"predict-variant.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/predict-variant.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6GjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6NhC,CAAC"}
@@ -90,22 +90,25 @@ const VepResultSchema = z.object({
90
90
  export const ensemblPredictVariant = tool('ensembl_predict_variant', {
91
91
  title: 'Predict Variant Effect',
92
92
  description: 'Predict the functional consequences of a sequence variant using the Ensembl Variant Effect Predictor (VEP). ' +
93
- 'Accepts HGVS notation (transcript-relative, e.g. ENST00000380152.8:c.2T>A, or genomic, ' +
94
- 'e.g. 13:g.32316462T>A) and also region+allele format (chr:start:end:strand/allele, ' +
95
- 'e.g. 1:65568:65568:1/T). Returns the most severe consequence term, affected transcripts and genes, ' +
93
+ 'Accepts three input formats: HGVS notation (transcript-relative, e.g. ENST00000380152.8:c.2T>A, ' +
94
+ 'or genomic, e.g. 13:g.32316462T>A); region+allele (chr:start:end:strand/allele, e.g. 1:65568:65568:1/T); ' +
95
+ 'and a dbSNP rsID (e.g. rs334). Returns the most severe consequence term, affected transcripts and genes, ' +
96
96
  'impact level (HIGH/MODERATE/LOW/MODIFIER), and any colocated known variants with clinical significance. ' +
97
97
  'HGVS input: provide the full notation including transcript version for best results. ' +
98
- 'Region+allele input: use Ensembl chromosome naming (no chr prefix for vertebrates).',
98
+ 'Region+allele input: Ensembl normalizes chromosome names and canonical vertebrate output omits the chr ' +
99
+ 'prefix (a chr-prefixed name is also accepted).',
99
100
  annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
100
101
  input: z.object({
101
102
  variant: z
102
103
  .string()
103
- .describe('Variant in one of two formats: ' +
104
+ .describe('Variant in one of three formats: ' +
104
105
  '(1) HGVS notation — transcript-relative: ENST00000380152.8:c.2T>A; ' +
105
106
  'genomic: 13:g.32316462T>A; ' +
106
- '(2) Region+allele: chr:start:end:strand/allele — e.g. 1:65568:65568:1/T. ' +
107
- 'For region+allele, strand is 1 (forward) or -1 (reverse); ' +
108
- 'chromosome names use no "chr" prefix for vertebrates.'),
107
+ '(2) Region+allele: chr:start:end:strand/allele — e.g. 1:65568:65568:1/T ' +
108
+ '(strand is 1 for forward or -1 for reverse); ' +
109
+ '(3) dbSNP rsID — e.g. rs334. ' +
110
+ 'Ensembl normalizes chromosome names; canonical vertebrate output omits the "chr" prefix, ' +
111
+ 'though a chr-prefixed name is also accepted.'),
109
112
  species: z
110
113
  .string()
111
114
  .default('homo_sapiens')
@@ -128,9 +131,8 @@ export const ensemblPredictVariant = tool('ensembl_predict_variant', {
128
131
  reason: 'invalid_notation',
129
132
  code: JsonRpcErrorCode.ValidationError,
130
133
  when: 'The variant notation is malformed or cannot be parsed by VEP.',
131
- recovery: 'Check HGVS format: transcript-relative uses ENST…:c.POSREF>ALT; ' +
132
- 'genomic uses CHR:g.POSREF>ALT. ' +
133
- 'Region+allele format is chr:start:end:strand/allele. ' +
134
+ recovery: 'Provide HGVS (transcript-relative ENST…:c.POSREF>ALT or genomic CHR:g.POSREF>ALT), ' +
135
+ 'region+allele (chr:start:end:strand/allele), or a dbSNP rsID (e.g. rs334). ' +
134
136
  'Verify the transcript version matches the current Ensembl release.',
135
137
  },
136
138
  {
@@ -144,8 +146,10 @@ export const ensemblPredictVariant = tool('ensembl_predict_variant', {
144
146
  async handler(input, ctx) {
145
147
  ctx.log.info('Predicting variant effect', { variant: input.variant, species: input.species });
146
148
  const service = getEnsemblService();
147
- // Detect region+allele format: chr:start:end:strand/allele
149
+ // Route by input format: region+allele (chr:start:end:strand/allele) → /region;
150
+ // else a dbSNP rsID (rs followed by digits) → /id; else HGVS notation → /hgvs.
148
151
  const regionAllelePattern = /^([^:]+):(\d+):(\d+):(-?1)\/(.+)$/;
152
+ const rsIdPattern = /^rs\d+$/i;
149
153
  const regionMatch = input.variant.match(regionAllelePattern);
150
154
  let results;
151
155
  if (regionMatch) {
@@ -163,6 +167,21 @@ export const ensemblPredictVariant = tool('ensembl_predict_variant', {
163
167
  throw err;
164
168
  });
165
169
  }
170
+ else if (rsIdPattern.test(input.variant)) {
171
+ results = await service
172
+ .predictVariantId(input.variant, input.species, ctx)
173
+ .catch((err) => {
174
+ const msg = err instanceof Error ? err.message : String(err);
175
+ // A well-formed rsID that dbSNP does not know reports "No variant found with ID …".
176
+ if (/not found|no variant|unknown variant/i.test(msg)) {
177
+ throw ctx.fail('not_found', `Variant identifier ${input.variant} not found in dbSNP.`);
178
+ }
179
+ if (/invalid|unrecognized|parse|malformed/i.test(msg)) {
180
+ throw ctx.fail('invalid_notation', `Invalid variant identifier "${input.variant}": ${msg}`);
181
+ }
182
+ throw err;
183
+ });
184
+ }
166
185
  else {
167
186
  results = await service
168
187
  .predictVariantHgvs(input.variant, input.species, ctx)
@@ -1 +1 @@
1
- {"version":3,"file":"predict-variant.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/predict-variant.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predict-variant.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/predict-variant.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7E,gBAAgB,EAAE,CAAC;SAChB,KAAK,CACJ,CAAC;SACE,MAAM,EAAE;SACR,QAAQ,CAAC,4EAA4E,CAAC,CAC1F;SACA,QAAQ,CAAC,0DAA0D,CAAC;IACvE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mGAAmG,CACpG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC7F,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC7E,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CAAC,oEAAoE,CAAC;KAClF,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;IAChG,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CAAC,uEAAuE,CAAC;QACpF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CAAC,sEAAsE,CAAC;KACpF,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF,CACxF;CACJ,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC1F,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,oBAAoB,EAAE,CAAC;SACpB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC,CAAC;SAC5F,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IAClF,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;SAC7E,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACxF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACtE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACnF,qBAAqB,EAAE,CAAC;SACrB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,2DAA2D,CAC9D;IACH,sBAAsB,EAAE,CAAC;SACtB,KAAK,CACJ,2BAA2B,CAAC,QAAQ,CAClC,6GAA6G,CAC9G,CACF;SACA,QAAQ,CACP,wFAAwF;QACtF,2FAA2F,CAC9F;IACH,iBAAiB,EAAE,CAAC;SACjB,KAAK,CACJ,sBAAsB,CAAC,QAAQ,CAC7B,sFAAsF,CACvF,CACF;SACA,QAAQ,CACP,8EAA8E;QAC5E,kCAAkC,CACrC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IACnE,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EACT,8GAA8G;QAC9G,kGAAkG;QAClG,2GAA2G;QAC3G,2GAA2G;QAC3G,0GAA0G;QAC1G,uFAAuF;QACvF,yGAAyG;QACzG,gDAAgD;IAClD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,mCAAmC;YACjC,qEAAqE;YACrE,6BAA6B;YAC7B,0EAA0E;YAC1E,+CAA+C;YAC/C,+BAA+B;YAC/B,2FAA2F;YAC3F,8CAA8C,CACjD;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CACP,+DAA+D;YAC7D,sDAAsD;YACtD,mFAAmF,CACtF;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,eAAe,CAAC,QAAQ,CACtB,6GAA6G,CAC9G,CACF;aACA,QAAQ,CACP,6DAA6D;YAC3D,oFAAoF,CACvF;QACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KAC/E,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACjF;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,+DAA+D;YACrE,QAAQ,EACN,qFAAqF;gBACrF,6EAA6E;gBAC7E,oEAAoE;SACvE;QACD;YACE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,6EAA6E;YACnF,QAAQ,EACN,4EAA4E;gBAC5E,8EAA8E;SACjF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAEpC,gFAAgF;QAChF,+EAA+E;QAC/E,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;QAChE,MAAM,WAAW,GAAG,UAAU,CAAC;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE7D,IAAI,OAAoB,CAAC;QACzB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,WAO3C,CAAC;YACF,OAAO,GAAG,MAAM,OAAO;iBACpB,oBAAoB,CACnB,GAAG,EACH,MAAM,CAAC,KAAK,CAAC,EACb,MAAM,CAAC,GAAG,CAAC,EACX,MAAM,CAAC,MAAM,CAAC,EACd,MAAM,EACN,KAAK,CAAC,OAAO,EACb,GAAG,CACJ;iBACA,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,uCAAuC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,mCAAmC,KAAK,CAAC,OAAO,MAAM,GAAG,EAAE,CAC5D,CAAC;gBACJ,CAAC;gBACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,GAAG,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,GAAG,MAAM,OAAO;iBACpB,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC;iBACnD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,oFAAoF;gBACpF,IAAI,uCAAuC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,uCAAuC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,+BAA+B,KAAK,CAAC,OAAO,MAAM,GAAG,EAAE,CACxD,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,OAAO;iBACpB,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,4CAA4C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3D,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,0BAA0B,KAAK,CAAC,OAAO,MAAM,GAAG,EAAE,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,uBAAuB,KAAK,CAAC,OAAO,KAAK;gBACvC,oFAAoF,CACvF,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEjC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,UAAU,UAAU,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEhG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACxD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CACR,iBAAiB,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjI,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC9C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;oBACrC,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;oBACrC,IAAI,EAAE,CAAC,YAAY;wBAAE,MAAM,IAAI,KAAK,EAAE,CAAC,YAAY,GAAG,CAAC;oBACvD,IAAI,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;wBACpC,MAAM,IAAI,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,CAAC;oBACD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;wBACtB,MAAM,IAAI,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,sBAAsB,CAAC,MAAM,MAAM,CAAC,CAAC;gBAClF,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC;oBAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;oBACpE,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,UAAU;wBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxE,KAAK,CAAC,IAAI,CACR,eAAe,EAAE,CAAC,MAAM,IAAI,SAAS,uBAAuB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;oBACF,IAAI,EAAE,CAAC,OAAO;wBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,CAAC,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnD,IAAI,EAAE,CAAC,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnD,IAAI,EAAE,CAAC,UAAU;wBAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;oBACnE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;wBACZ,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAU,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrF,CAAC;oBACD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAK,CAAC,IAAI,CACR,iBAAiB,EAAE,CAAC,QAAQ,CAAC,UAAU,YAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACnF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -8,11 +8,11 @@ export declare const ensemblQueryRegion: import("@cyanheads/mcp-ts-core").ToolDe
8
8
  species: z.ZodString;
9
9
  region: z.ZodString;
10
10
  feature: z.ZodDefault<z.ZodArray<z.ZodEnum<{
11
+ exon: "exon";
11
12
  gene: "gene";
12
13
  transcript: "transcript";
13
14
  variation: "variation";
14
15
  regulatory: "regulatory";
15
- exon: "exon";
16
16
  }>>>;
17
17
  biotype: z.ZodOptional<z.ZodString>;
18
18
  }, z.core.$strip>, z.ZodObject<{
@@ -28,6 +28,8 @@ export declare const ensemblQueryRegion: import("@cyanheads/mcp-ts-core").ToolDe
28
28
  description: z.ZodOptional<z.ZodString>;
29
29
  consequenceType: z.ZodOptional<z.ZodString>;
30
30
  clinicalSignificance: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ parentId: z.ZodOptional<z.ZodString>;
32
+ rank: z.ZodOptional<z.ZodNumber>;
31
33
  }, z.core.$strip>>;
32
34
  totalCount: z.ZodNumber;
33
35
  region: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"query-region.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-region.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8BjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+J7B,CAAC"}
1
+ {"version":3,"file":"query-region.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-region.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0CjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwK7B,CAAC"}
@@ -29,16 +29,28 @@ const FeatureSchema = z.object({
29
29
  .array(z.string().describe('A clinical significance term for this variant.'))
30
30
  .optional()
31
31
  .describe('Clinical significance terms for variation features (e.g. pathogenic, benign).'),
32
+ parentId: z
33
+ .string()
34
+ .optional()
35
+ .describe('Parent transcript ID (ENST…) for exon features. An exon is reported once per parent ' +
36
+ 'transcript it belongs to, so the same exon ID can appear on multiple rows that differ ' +
37
+ 'only by this field — not duplicates.'),
38
+ rank: z
39
+ .number()
40
+ .optional()
41
+ .describe('Position (1-based) of an exon within its parent transcript.'),
32
42
  });
33
43
  export const ensemblQueryRegion = tool('ensembl_query_region', {
34
44
  title: 'Query Genomic Region',
35
45
  description: 'Find genomic features overlapping a chromosomal region: genes, transcripts, variants, regulatory ' +
36
46
  'elements, or exons. Returns each feature with its stable ID, type, location, biotype, and name. ' +
37
47
  'Useful for "what\'s in this locus?" and for seeding follow-up lookups. Region format is chr:start-end ' +
38
- '(e.g. 13:32315086-32400268 for the BRCA2 locus). Chromosome names use Ensembl format — no "chr" ' +
39
- 'prefix for vertebrates (use 13 not chr13). The feature parameter defaults to gene only to prevent ' +
40
- 'overwhelming returns — requesting variation in an 85 kb region returns 44,000+ entries. Explicitly ' +
41
- 'include variation, regulatory, transcript, or exon only when needed.',
48
+ '(e.g. 13:32315086-32400268 for the BRCA2 locus). Ensembl normalizes chromosome names and canonical ' +
49
+ 'vertebrate output omits the chr prefix (13, not chr13); a chr-prefixed name like chr13 is also ' +
50
+ 'accepted. The feature parameter defaults to gene only to prevent overwhelming returns — requesting ' +
51
+ 'variation in an 85 kb region returns 44,000+ entries. Explicitly include variation, regulatory, ' +
52
+ 'transcript, or exon only when needed. Exon rows carry the parent transcript ID, so the same exon ' +
53
+ 'appears once per transcript it belongs to.',
42
54
  annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
43
55
  input: z.object({
44
56
  species: z
@@ -48,7 +60,8 @@ export const ensemblQueryRegion = tool('ensembl_query_region', {
48
60
  region: z
49
61
  .string()
50
62
  .describe('Genomic region in chr:start-end format (e.g. 13:32315086-32400268). ' +
51
- 'Chromosome names use Ensembl format — no "chr" prefix for vertebrates (13, not chr13). ' +
63
+ 'Ensembl normalizes chromosome names and canonical vertebrate output omits the chr prefix ' +
64
+ '(13, not chr13); a chr-prefixed name like chr13 is also accepted. ' +
52
65
  'For large regions (>100 kb), limit to gene feature type to avoid overwhelming results.'),
53
66
  feature: z
54
67
  .array(z
@@ -83,7 +96,8 @@ export const ensemblQueryRegion = tool('ensembl_query_region', {
83
96
  code: JsonRpcErrorCode.ValidationError,
84
97
  when: 'The region string could not be parsed or contains invalid coordinates.',
85
98
  recovery: 'Use the format chr:start-end (e.g. 13:32315086-32400268). ' +
86
- 'Chromosome names use Ensembl format with no "chr" prefix for vertebrates. ' +
99
+ 'Chromosome names normalize either way — canonical vertebrate names omit the chr prefix ' +
100
+ '(13, not chr13), but a chr-prefixed name is also accepted. ' +
87
101
  'Verify coordinates are within the chromosome bounds for the target assembly.',
88
102
  },
89
103
  {
@@ -117,8 +131,8 @@ export const ensemblQueryRegion = tool('ensembl_query_region', {
117
131
  });
118
132
  if (features.length === 0) {
119
133
  ctx.enrich.notice(`No ${input.feature.join(', ')} features found in ${input.region} for ${input.species}. ` +
120
- 'The region may be intergenic. Chromosome names use no "chr" prefix for vertebrates ' +
121
- '(e.g. 13, not chr13). Use ensembl_lookup_gene to confirm locus coordinates.');
134
+ 'The region may be intergenic, or the coordinates may not cover the intended locus. ' +
135
+ 'Use ensembl_lookup_gene to confirm the locus coordinates.');
122
136
  }
123
137
  else if (features.length > 1000) {
124
138
  ctx.enrich.notice(`Large result set (${features.length} features). ` +
@@ -149,6 +163,9 @@ export const ensemblQueryRegion = tool('ensembl_query_region', {
149
163
  if (f.biotype)
150
164
  lines.push(`**Biotype:** ${f.biotype}`);
151
165
  lines.push(`**Location:** ${f.chromosome}:${f.start}-${f.end}${f.strand != null ? ` strand:${f.strand} (${f.strand === -1 ? '-' : '+'})` : ''}`);
166
+ if (f.parentId) {
167
+ lines.push(`**Parent transcript:** ${f.parentId}${f.rank != null ? ` (exon rank ${f.rank})` : ''}`);
168
+ }
152
169
  if (f.description)
153
170
  lines.push(`**Description:** ${f.description}`);
154
171
  if (f.consequenceType)
@@ -1 +1 @@
1
- {"version":3,"file":"query-region.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-region.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-region.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-region.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAU,CAAC;AAEzF,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAC3F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACjF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACzE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACjF,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,oBAAoB,EAAE,CAAC;SACpB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC;SAC5E,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sFAAsF;QACpF,wFAAwF;QACxF,sCAAsC,CACzC;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE;IAC7D,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,mGAAmG;QACnG,kGAAkG;QAClG,wGAAwG;QACxG,qGAAqG;QACrG,iGAAiG;QACjG,qGAAqG;QACrG,kGAAkG;QAClG,mGAAmG;QACnG,4CAA4C;IAC9C,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,wEAAwE;YACtE,oDAAoD,CACvD;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CACP,sEAAsE;YACpE,2FAA2F;YAC3F,oEAAoE;YACpE,wFAAwF,CAC3F;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,IAAI,CAAC,aAAa,CAAC;aACnB,QAAQ,CACP,+EAA+E,CAChF,CACJ;aACA,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;aACjB,QAAQ,CACP,mDAAmD;YACjD,mFAAmF;YACnF,kFAAkF,CACrF;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8DAA8D;YAC5D,kFAAkF,CACrF;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CAAC;aACzF,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CACP,qFAAqF,CACtF;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACrD,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACpF;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,wEAAwE;YAC9E,QAAQ,EACN,4DAA4D;gBAC5D,yFAAyF;gBACzF,6DAA6D;gBAC7D,8EAA8E;SACjF;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,mDAAmD;YACzD,QAAQ,EACN,2FAA2F;SAC9F;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,OAAO;aAC3B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC;aAC3E,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IACE,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC7C,6DAA6D,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,CAAC;gBACD,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,KAAK,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;QAEL,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,OAAO,IAAI;gBACvF,qFAAqF;gBACrF,2DAA2D,CAC9D,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,qBAAqB,QAAQ,CAAC,MAAM,cAAc;gBAChD,gFAAgF,CACnF,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAEzD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAChD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CACR,iBAAiB,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrI,CAAC;YACF,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CACR,0BAA0B,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,CAAC,eAAe;gBAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -17,11 +17,12 @@ export declare class EnsemblService {
17
17
  lookupGenesBatch(ids: string[], expandTranscripts: boolean, ctx: Context): Promise<Map<string, GeneRecord>>;
18
18
  lookupSymbolsBatch(symbols: string[], species: string, expandTranscripts: boolean, ctx: Context): Promise<Map<string, GeneRecord>>;
19
19
  lookupTranscript(id: string, ctx: Context): Promise<TranscriptRecord>;
20
- getSequenceById(id: string, type: string, ctx: Context): Promise<SequenceRecord>;
20
+ getSequenceById(id: string, type: string, expand5prime: number, expand3prime: number, ctx: Context): Promise<SequenceRecord>;
21
21
  getSequenceByRegion(species: string, region: string, expand5prime: number, expand3prime: number, ctx: Context): Promise<SequenceRecord>;
22
22
  queryRegion(species: string, region: string, features: string[], biotype: string | undefined, ctx: Context): Promise<OverlapFeature[]>;
23
23
  predictVariantHgvs(notation: string, species: string, ctx: Context): Promise<VepRecord[]>;
24
24
  predictVariantRegion(chr: string, start: number, end: number, strand: number, allele: string, species: string, ctx: Context): Promise<VepRecord[]>;
25
+ predictVariantId(id: string, species: string, ctx: Context): Promise<VepRecord[]>;
25
26
  getHomologyBySymbol(symbol: string, species: string, type: string, targetSpecies: string | undefined, ctx: Context): Promise<HomologyResult>;
26
27
  getHomologyById(id: string, species: string, type: string, targetSpecies: string | undefined, ctx: Context): Promise<HomologyResult>;
27
28
  getXrefsById(id: string, dbname: string | undefined, ctx: Context): Promise<XrefEntry[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ensembl-service.d.ts","sourceRoot":"","sources":["../../../src/services/ensembl/ensembl-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EAEV,UAAU,EAEV,cAAc,EACd,cAAc,EASd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACV,MAAM,YAAY,CAAC;AAgKpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;YAM1C,SAAS;IAmFvB,OAAO,CAAC,cAAc;IAuBhB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,UAAU,CAAC;IAOhB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAOzF,gBAAgB,CACpB,GAAG,EAAE,MAAM,EAAE,EACb,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAc7B,kBAAkB,CACtB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAiB7B,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQrE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAMhF,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,cAAc,CAAC;IAYpB,WAAW,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,cAAc,EAAE,CAAC;IAWtB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOzF,oBAAoB,CACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,SAAS,EAAE,CAAC;IAUjB,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,cAAc,CAAC;IAOpB,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,cAAc,CAAC;IASpB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAUxF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAMtF;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAEnF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD"}
1
+ {"version":3,"file":"ensembl-service.d.ts","sourceRoot":"","sources":["../../../src/services/ensembl/ensembl-service.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,11 @@ function normalizeOverlapFeature(raw) {
74
74
  ...(raw.clinical_significance?.length && {
75
75
  clinicalSignificance: raw.clinical_significance,
76
76
  }),
77
+ // Parent + rank are exon-specific here: an exon's Parent is its transcript.
78
+ // Other overlap types reuse `Parent` with different semantics (a transcript's
79
+ // Parent is its gene), so scope these to exons to avoid mislabeling other modes.
80
+ ...(raw.feature_type === 'exon' && raw.Parent && { parentId: raw.Parent }),
81
+ ...(raw.feature_type === 'exon' && typeof raw.rank === 'number' && { rank: raw.rank }),
77
82
  };
78
83
  }
79
84
  function normalizeVep(raw) {
@@ -278,8 +283,17 @@ export class EnsemblService {
278
283
  return normalizeTranscript(raw);
279
284
  }
280
285
  // --- Sequence ---
281
- async getSequenceById(id, type, ctx) {
282
- const path = `/sequence/id/${encodeURIComponent(id)}?type=${encodeURIComponent(type)}`;
286
+ async getSequenceById(id, type, expand5prime, expand3prime, ctx) {
287
+ const params = [`type=${encodeURIComponent(type)}`];
288
+ // Ensembl only honors expansion when type=genomic; it is meaningless for
289
+ // cdna/cds/protein, so gate the params to avoid sending them where the API ignores them.
290
+ if (type === 'genomic') {
291
+ if (expand5prime > 0)
292
+ params.push(`expand_5prime=${expand5prime}`);
293
+ if (expand3prime > 0)
294
+ params.push(`expand_3prime=${expand3prime}`);
295
+ }
296
+ const path = `/sequence/id/${encodeURIComponent(id)}?${params.join('&')}`;
283
297
  const raw = await this.fetchWithRetry(path, ctx);
284
298
  return normalizeSequence(raw, type);
285
299
  }
@@ -322,6 +336,13 @@ export class EnsemblService {
322
336
  return [];
323
337
  return raw.map(normalizeVep);
324
338
  }
339
+ async predictVariantId(id, species, ctx) {
340
+ const path = `/vep/${encodeURIComponent(species)}/id/${encodeURIComponent(id)}`;
341
+ const raw = await this.fetchWithRetry(path, ctx);
342
+ if (!Array.isArray(raw))
343
+ return [];
344
+ return raw.map(normalizeVep);
345
+ }
325
346
  // --- Homology ---
326
347
  async getHomologyBySymbol(symbol, species, type, targetSpecies, ctx) {
327
348
  let path = `/homology/symbol/${encodeURIComponent(species)}/${encodeURIComponent(symbol)}?type=${encodeURIComponent(type)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"ensembl-service.js","sourceRoot":"","sources":["../../../src/services/ensembl/ensembl-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensembl-service.js","sourceRoot":"","sources":["../../../src/services/ensembl/ensembl-service.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,10 @@ export type RawOverlapFeature = {
80
80
  clinical_significance?: string[];
81
81
  alleles?: string[];
82
82
  source?: string;
83
+ /** Parent transcript stable ID (ENST…) for exon overlap rows. */
84
+ Parent?: string;
85
+ /** 1-based position of an exon within its parent transcript. */
86
+ rank?: number;
83
87
  };
84
88
  export type RawVepTranscriptConsequence = {
85
89
  transcript_id?: string;
@@ -227,6 +231,14 @@ export type OverlapFeature = {
227
231
  description?: string;
228
232
  consequenceType?: string;
229
233
  clinicalSignificance?: string[];
234
+ /**
235
+ * Parent transcript stable ID (ENST…) for exon features. The same exon ID
236
+ * appears once per parent transcript it belongs to, so this is the
237
+ * discriminator that explains repeated exon rows in a region query.
238
+ */
239
+ parentId?: string;
240
+ /** 1-based rank of an exon within its parent transcript. */
241
+ rank?: number;
230
242
  };
231
243
  export type VepConsequence = {
232
244
  transcriptId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ensembl/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ensembl/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/ensembl-mcp-server",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "mcpName": "io.github.cyanheads/ensembl-mcp-server",
5
5
  "description": "Look up genes, fetch sequences, predict variant consequences, find orthologs and cross-database xrefs via Ensembl REST via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -69,7 +69,7 @@
69
69
  "url": "https://github.com/cyanheads/ensembl-mcp-server/issues"
70
70
  },
71
71
  "homepage": "https://github.com/cyanheads/ensembl-mcp-server#readme",
72
- "author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/ensembl-mcp-server#readme)",
72
+ "author": "Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)",
73
73
  "funding": [
74
74
  {
75
75
  "type": "github",
@@ -81,7 +81,7 @@
81
81
  }
82
82
  ],
83
83
  "license": "Apache-2.0",
84
- "packageManager": "bun@1.3.11",
84
+ "packageManager": "bun@1.3.14",
85
85
  "engines": {
86
86
  "bun": ">=1.3.0",
87
87
  "node": ">=24.0.0"
@@ -90,17 +90,19 @@
90
90
  "access": "public"
91
91
  },
92
92
  "dependencies": {
93
- "@cyanheads/mcp-ts-core": "^0.10.10",
93
+ "@cyanheads/mcp-ts-core": "^0.10.14",
94
94
  "pino-pretty": "^13.1.3",
95
95
  "zod": "^4.4.3"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@biomejs/biome": "^2.5.0",
99
+ "@socketsecurity/bun-security-scanner": "^1.1.2",
99
100
  "@types/node": "^26.0.0",
100
101
  "depcheck": "^1.4.7",
101
102
  "ignore": "^7.0.5",
102
- "tsc-alias": "^1.8.17",
103
+ "tsc-alias": "^1.9.0",
103
104
  "typescript": "^6.0.3",
104
- "vitest": "^4.1.9"
105
- }
105
+ "vitest": "^4.1.10"
106
+ },
107
+ "trustedDependencies": ["@socketsecurity/bun-security-scanner"]
106
108
  }
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/ensembl-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.3.0",
9
+ "version": "0.4.1",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/ensembl-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.3.0",
22
+ "version": "0.4.1",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -55,7 +55,7 @@
55
55
  "registryBaseUrl": "https://registry.npmjs.org",
56
56
  "identifier": "@cyanheads/ensembl-mcp-server",
57
57
  "runtimeHint": "bun",
58
- "version": "0.3.0",
58
+ "version": "0.4.1",
59
59
  "packageArguments": [
60
60
  {
61
61
  "type": "positional",