@cyanheads/pubchem-mcp-server 0.1.22 → 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/README.md +43 -8
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/resources/definitions/assay.resource.d.ts +9 -0
- package/dist/mcp-server/resources/definitions/assay.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/assay.resource.js +24 -0
- package/dist/mcp-server/resources/definitions/assay.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-bioactivity.resource.d.ts +9 -0
- package/dist/mcp-server/resources/definitions/compound-bioactivity.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-bioactivity.resource.js +28 -0
- package/dist/mcp-server/resources/definitions/compound-bioactivity.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-image.resource.d.ts +11 -0
- package/dist/mcp-server/resources/definitions/compound-image.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-image.resource.js +28 -0
- package/dist/mcp-server/resources/definitions/compound-image.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-safety.resource.d.ts +9 -0
- package/dist/mcp-server/resources/definitions/compound-safety.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-safety.resource.js +32 -0
- package/dist/mcp-server/resources/definitions/compound-safety.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-xrefs.resource.d.ts +9 -0
- package/dist/mcp-server/resources/definitions/compound-xrefs.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/compound-xrefs.resource.js +29 -0
- package/dist/mcp-server/resources/definitions/compound-xrefs.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/compound.resource.d.ts +9 -0
- package/dist/mcp-server/resources/definitions/compound.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/compound.resource.js +28 -0
- package/dist/mcp-server/resources/definitions/compound.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/index.d.ts +14 -0
- package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/index.js +19 -0
- package/dist/mcp-server/resources/definitions/index.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-bioactivity.tool.d.ts +9 -1
- package/dist/mcp-server/tools/definitions/get-bioactivity.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-bioactivity.tool.js +61 -4
- package/dist/mcp-server/tools/definitions/get-bioactivity.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.d.ts +38 -0
- package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.js +133 -0
- package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-compound-image.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/get-compound-image.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-compound-image.tool.js +9 -0
- package/dist/mcp-server/tools/definitions/get-compound-image.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.d.ts +32 -0
- package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.js +92 -0
- package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-compound-safety.tool.d.ts +22 -16
- package/dist/mcp-server/tools/definitions/get-compound-safety.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-compound-safety.tool.js +111 -69
- package/dist/mcp-server/tools/definitions/get-compound-safety.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-summary.tool.d.ts +5 -1
- package/dist/mcp-server/tools/definitions/get-summary.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-summary.tool.js +16 -1
- package/dist/mcp-server/tools/definitions/get-summary.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +94 -16
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/index.js +4 -0
- package/dist/mcp-server/tools/definitions/index.js.map +1 -1
- package/dist/services/pubchem/pubchem-client.d.ts +20 -1
- package/dist/services/pubchem/pubchem-client.d.ts.map +1 -1
- package/dist/services/pubchem/pubchem-client.js +175 -3
- package/dist/services/pubchem/pubchem-client.js.map +1 -1
- package/dist/services/pubchem/sdf-parser.d.ts +20 -0
- package/dist/services/pubchem/sdf-parser.d.ts.map +1 -0
- package/dist/services/pubchem/sdf-parser.js +55 -0
- package/dist/services/pubchem/sdf-parser.js.map +1 -0
- package/dist/services/pubchem/types.d.ts +44 -0
- package/dist/services/pubchem/types.d.ts.map +1 -1
- package/dist/services/pubchem/types.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +2 -2
- package/server.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-bioactivity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-bioactivity.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAC5D,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"get-bioactivity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-bioactivity.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Fetch the 3D conformer (atomic coordinates + bonds) for a PubChem compound.
|
|
3
|
+
* @module mcp-server/tools/definitions/get-compound-3d-structure
|
|
4
|
+
*/
|
|
5
|
+
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
export declare const getCompound3dStructure: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
8
|
+
cid: z.ZodNumber;
|
|
9
|
+
format: z.ZodDefault<z.ZodEnum<{
|
|
10
|
+
sdf: "sdf";
|
|
11
|
+
json: "json";
|
|
12
|
+
}>>;
|
|
13
|
+
includeAlternateConformerIds: z.ZodDefault<z.ZodBoolean>;
|
|
14
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
15
|
+
cid: z.ZodNumber;
|
|
16
|
+
conformerId: z.ZodOptional<z.ZodString>;
|
|
17
|
+
atomCount: z.ZodNumber;
|
|
18
|
+
bondCount: z.ZodNumber;
|
|
19
|
+
atoms: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
20
|
+
element: z.ZodString;
|
|
21
|
+
x: z.ZodNumber;
|
|
22
|
+
y: z.ZodNumber;
|
|
23
|
+
z: z.ZodNumber;
|
|
24
|
+
}, z.core.$strip>>>;
|
|
25
|
+
bonds: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
26
|
+
a1: z.ZodNumber;
|
|
27
|
+
a2: z.ZodNumber;
|
|
28
|
+
order: z.ZodNumber;
|
|
29
|
+
}, z.core.$strip>>>;
|
|
30
|
+
sdf: z.ZodOptional<z.ZodString>;
|
|
31
|
+
alternateConformerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
}, z.core.$strip>, readonly [{
|
|
33
|
+
readonly reason: "no_3d_structure";
|
|
34
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
35
|
+
readonly when: "PubChem has no computed 3D conformer for the requested CID";
|
|
36
|
+
readonly recovery: "Use pubchem_get_compound_image for the 2D structure, or verify the CID with pubchem_search_compounds.";
|
|
37
|
+
}], undefined>;
|
|
38
|
+
//# sourceMappingURL=get-compound-3d-structure.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-compound-3d-structure.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-3d-structure.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4JjC,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Fetch the 3D conformer (atomic coordinates + bonds) for a PubChem compound.
|
|
3
|
+
* @module mcp-server/tools/definitions/get-compound-3d-structure
|
|
4
|
+
*/
|
|
5
|
+
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { getPubChemClient } from '../../../services/pubchem/pubchem-client.js';
|
|
8
|
+
import { parseSdfV2000 } from '../../../services/pubchem/sdf-parser.js';
|
|
9
|
+
export const getCompound3dStructure = tool('pubchem_get_compound_3d_structure', {
|
|
10
|
+
title: 'Get Compound 3D Structure',
|
|
11
|
+
description: 'Get a compound\'s default 3D conformer — atomic coordinates and bonds — for one CID. format="json" (default) returns parsed atoms and bonds the model can reason over directly; format="sdf" returns the raw V2000 SDF text for passthrough to docking, rendering, or conformer tools. Optionally lists alternate conformer IDs. Not every compound has computed 3D coordinates (large molecules, mixtures, and some salts do not).',
|
|
12
|
+
annotations: {
|
|
13
|
+
readOnlyHint: true,
|
|
14
|
+
idempotentHint: true,
|
|
15
|
+
openWorldHint: true,
|
|
16
|
+
},
|
|
17
|
+
input: z.object({
|
|
18
|
+
cid: z
|
|
19
|
+
.number()
|
|
20
|
+
.int()
|
|
21
|
+
.positive()
|
|
22
|
+
.describe('PubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.'),
|
|
23
|
+
format: z
|
|
24
|
+
.enum(['sdf', 'json'])
|
|
25
|
+
.default('json')
|
|
26
|
+
.describe('Output format. "json" (default) returns parsed atoms and bonds. "sdf" returns the raw V2000 SDF text for passthrough to other tools.'),
|
|
27
|
+
includeAlternateConformerIds: z
|
|
28
|
+
.boolean()
|
|
29
|
+
.default(false)
|
|
30
|
+
.describe('List the IDs of additional computed conformers beyond the default. Adds one extra API call. Default: false.'),
|
|
31
|
+
}),
|
|
32
|
+
output: z.object({
|
|
33
|
+
cid: z.number().describe('PubChem Compound ID.'),
|
|
34
|
+
conformerId: z
|
|
35
|
+
.string()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe('Default (primary) conformer ID. Present when includeAlternateConformerIds is set.'),
|
|
38
|
+
atomCount: z.number().describe('Number of atoms in the conformer.'),
|
|
39
|
+
bondCount: z.number().describe('Number of bonds in the conformer.'),
|
|
40
|
+
atoms: z
|
|
41
|
+
.array(z
|
|
42
|
+
.object({
|
|
43
|
+
element: z.string().describe('Element symbol (e.g. "C", "O", "N").'),
|
|
44
|
+
x: z.number().describe('X coordinate (Angstroms).'),
|
|
45
|
+
y: z.number().describe('Y coordinate (Angstroms).'),
|
|
46
|
+
z: z.number().describe('Z coordinate (Angstroms).'),
|
|
47
|
+
})
|
|
48
|
+
.describe('Atom with 3D Cartesian coordinates.'))
|
|
49
|
+
.optional()
|
|
50
|
+
.describe('Parsed atoms. Populated when format="json".'),
|
|
51
|
+
bonds: z
|
|
52
|
+
.array(z
|
|
53
|
+
.object({
|
|
54
|
+
a1: z.number().describe('First atom index (1-based).'),
|
|
55
|
+
a2: z.number().describe('Second atom index (1-based).'),
|
|
56
|
+
order: z.number().describe('Bond order (1=single, 2=double, 3=triple, 4=aromatic).'),
|
|
57
|
+
})
|
|
58
|
+
.describe('Bond between two atoms.'))
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Parsed bonds. Populated when format="json".'),
|
|
61
|
+
sdf: z.string().optional().describe('Raw V2000 SDF text. Populated when format="sdf".'),
|
|
62
|
+
alternateConformerIds: z
|
|
63
|
+
.array(z.string())
|
|
64
|
+
.optional()
|
|
65
|
+
.describe('Conformer IDs beyond the default. Present when includeAlternateConformerIds is set and alternates exist.'),
|
|
66
|
+
}),
|
|
67
|
+
errors: [
|
|
68
|
+
{
|
|
69
|
+
reason: 'no_3d_structure',
|
|
70
|
+
code: JsonRpcErrorCode.NotFound,
|
|
71
|
+
when: 'PubChem has no computed 3D conformer for the requested CID',
|
|
72
|
+
recovery: 'Use pubchem_get_compound_image for the 2D structure, or verify the CID with pubchem_search_compounds.',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
async handler(input, ctx) {
|
|
76
|
+
const client = getPubChemClient();
|
|
77
|
+
// getSdf3d throws a typed no_3d_structure not-found when PubChem has no 3D record.
|
|
78
|
+
const sdf = await client.getSdf3d(input.cid);
|
|
79
|
+
const parsed = parseSdfV2000(sdf);
|
|
80
|
+
const out = { cid: input.cid, atomCount: parsed.atomCount, bondCount: parsed.bondCount };
|
|
81
|
+
if (input.format === 'json') {
|
|
82
|
+
out.atoms = parsed.atoms;
|
|
83
|
+
out.bonds = parsed.bonds;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
out.sdf = sdf;
|
|
87
|
+
}
|
|
88
|
+
if (input.includeAlternateConformerIds) {
|
|
89
|
+
const ids = await client.getConformerIds(input.cid);
|
|
90
|
+
if (ids[0]) {
|
|
91
|
+
out.conformerId = ids[0];
|
|
92
|
+
const alternates = ids.slice(1);
|
|
93
|
+
if (alternates.length > 0)
|
|
94
|
+
out.alternateConformerIds = alternates;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
ctx.log.info('3D structure fetched', {
|
|
98
|
+
cid: input.cid,
|
|
99
|
+
format: input.format,
|
|
100
|
+
atoms: parsed.atomCount,
|
|
101
|
+
bonds: parsed.bondCount,
|
|
102
|
+
});
|
|
103
|
+
return out;
|
|
104
|
+
},
|
|
105
|
+
format(result) {
|
|
106
|
+
const lines = [
|
|
107
|
+
`## 3D Structure — CID ${result.cid}`,
|
|
108
|
+
`Atoms: ${result.atomCount} | Bonds: ${result.bondCount}`,
|
|
109
|
+
];
|
|
110
|
+
if (result.conformerId)
|
|
111
|
+
lines.push(`Default conformer: ${result.conformerId}`);
|
|
112
|
+
if (result.alternateConformerIds && result.alternateConformerIds.length > 0) {
|
|
113
|
+
lines.push(`Alternate conformers: ${result.alternateConformerIds.join(', ')}`);
|
|
114
|
+
}
|
|
115
|
+
if (result.atoms && result.atoms.length > 0) {
|
|
116
|
+
lines.push('', '**Atoms** (element: x, y, z):');
|
|
117
|
+
for (const a of result.atoms) {
|
|
118
|
+
lines.push(` ${a.element}: ${a.x}, ${a.y}, ${a.z}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (result.bonds && result.bonds.length > 0) {
|
|
122
|
+
lines.push('', '**Bonds** (a1–a2, order):');
|
|
123
|
+
for (const b of result.bonds) {
|
|
124
|
+
lines.push(` ${b.a1}–${b.a2}, order ${b.order}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (result.sdf) {
|
|
128
|
+
lines.push('', '**SDF (V2000):**', '```', result.sdf.trimEnd(), '```');
|
|
129
|
+
}
|
|
130
|
+
return [{ type: 'text', text: lines.join('\n') }];
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=get-compound-3d-structure.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-compound-3d-structure.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-3d-structure.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/get-compound-image
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
export declare const getCompoundImage: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
8
|
cid: z.ZodNumber;
|
|
8
9
|
size: z.ZodDefault<z.ZodEnum<{
|
|
@@ -15,5 +16,10 @@ export declare const getCompoundImage: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
15
16
|
mimeType: z.ZodString;
|
|
16
17
|
width: z.ZodNumber;
|
|
17
18
|
height: z.ZodNumber;
|
|
18
|
-
}, z.core.$strip>,
|
|
19
|
+
}, z.core.$strip>, readonly [{
|
|
20
|
+
readonly reason: "cid_not_found";
|
|
21
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
22
|
+
readonly when: "PubChem returned 404 for the requested CID";
|
|
23
|
+
readonly recovery: "Verify the CID with pubchem_search_compounds before retrying.";
|
|
24
|
+
}], undefined>;
|
|
19
25
|
//# sourceMappingURL=get-compound-image.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-compound-image.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-image.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-compound-image.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-image.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;cA4D3B,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/get-compound-image
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
import { getPubChemClient } from '../../../services/pubchem/pubchem-client.js';
|
|
7
8
|
export const getCompoundImage = tool('pubchem_get_compound_image', {
|
|
8
9
|
title: 'Get Compound Image',
|
|
@@ -30,6 +31,14 @@ export const getCompoundImage = tool('pubchem_get_compound_image', {
|
|
|
30
31
|
width: z.number().describe('Image width in pixels.'),
|
|
31
32
|
height: z.number().describe('Image height in pixels.'),
|
|
32
33
|
}),
|
|
34
|
+
errors: [
|
|
35
|
+
{
|
|
36
|
+
reason: 'cid_not_found',
|
|
37
|
+
code: JsonRpcErrorCode.NotFound,
|
|
38
|
+
when: 'PubChem returned 404 for the requested CID',
|
|
39
|
+
recovery: 'Verify the CID with pubchem_search_compounds before retrying.',
|
|
40
|
+
},
|
|
41
|
+
],
|
|
33
42
|
async handler(input, ctx) {
|
|
34
43
|
const client = getPubChemClient();
|
|
35
44
|
const buffer = await client.getImage(input.cid, input.size);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-compound-image.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-image.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE;IACjE,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,iEAAiE;IAC9E,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACxB,OAAO,CAAC,OAAO,CAAC;aAChB,QAAQ,CAAC,uEAAuE,CAAC;KACrF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAClE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACvD,CAAC;
|
|
1
|
+
{"version":3,"file":"get-compound-image.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-image.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,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE;IACjE,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,iEAAiE;IAC9E,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACxB,OAAO,CAAC,OAAO,CAAC;aAChB,QAAQ,CAAC,uEAAuE,CAAC;KACrF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAClE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACvD,CAAC;IACF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,4CAA4C;YAClD,QAAQ,EAAE,+DAA+D;SAC1E;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAE9F,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnD,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO;YACL,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;YACtE;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,wBAAwB,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG;aAC9E;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Get drug-drug, drug-food, and chemical-target interactions for a compound.
|
|
3
|
+
* @module mcp-server/tools/definitions/get-compound-interactions
|
|
4
|
+
*/
|
|
5
|
+
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
export declare const getCompoundInteractions: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
|
+
cid: z.ZodNumber;
|
|
8
|
+
kinds: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
9
|
+
"drug-drug": "drug-drug";
|
|
10
|
+
"drug-food": "drug-food";
|
|
11
|
+
target: "target";
|
|
12
|
+
}>>>;
|
|
13
|
+
maxEntries: z.ZodDefault<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
15
|
+
cid: z.ZodNumber;
|
|
16
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
17
|
+
kind: z.ZodEnum<{
|
|
18
|
+
"drug-drug": "drug-drug";
|
|
19
|
+
"drug-food": "drug-food";
|
|
20
|
+
target: "target";
|
|
21
|
+
}>;
|
|
22
|
+
partner: z.ZodOptional<z.ZodString>;
|
|
23
|
+
source: z.ZodString;
|
|
24
|
+
severity: z.ZodOptional<z.ZodString>;
|
|
25
|
+
text: z.ZodString;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
}, z.core.$strip>, undefined, {
|
|
28
|
+
readonly requestedKinds: z.ZodString;
|
|
29
|
+
readonly returnedCount: z.ZodNumber;
|
|
30
|
+
readonly notice: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=get-compound-interactions.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-compound-interactions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-interactions.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;EAuGlC,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Get drug-drug, drug-food, and chemical-target interactions for a compound.
|
|
3
|
+
* @module mcp-server/tools/definitions/get-compound-interactions
|
|
4
|
+
*/
|
|
5
|
+
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { getPubChemClient } from '../../../services/pubchem/pubchem-client.js';
|
|
7
|
+
export const getCompoundInteractions = tool('pubchem_get_compound_interactions', {
|
|
8
|
+
title: 'Get Compound Interactions',
|
|
9
|
+
description: "Get a compound's interaction data: drug-drug interactions (DrugBank), drug-food interactions, and chemical-target interactions (binding/activity from BindingDB, ChEMBL, and others). Each entry carries its originating source. Richest for approved drugs; many compounds have no deposited interaction records.",
|
|
10
|
+
annotations: {
|
|
11
|
+
readOnlyHint: true,
|
|
12
|
+
idempotentHint: true,
|
|
13
|
+
openWorldHint: true,
|
|
14
|
+
},
|
|
15
|
+
input: z.object({
|
|
16
|
+
cid: z
|
|
17
|
+
.number()
|
|
18
|
+
.int()
|
|
19
|
+
.positive()
|
|
20
|
+
.describe('PubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.'),
|
|
21
|
+
kinds: z
|
|
22
|
+
.array(z.enum(['drug-drug', 'drug-food', 'target']))
|
|
23
|
+
.min(1)
|
|
24
|
+
.default(['drug-drug'])
|
|
25
|
+
.describe('Interaction kinds to fetch. "drug-drug" (interactions with other drugs), "drug-food" (dietary interactions), "target" (binding/activity against molecular targets). Default: ["drug-drug"].'),
|
|
26
|
+
maxEntries: z
|
|
27
|
+
.number()
|
|
28
|
+
.int()
|
|
29
|
+
.min(1)
|
|
30
|
+
.max(50)
|
|
31
|
+
.default(10)
|
|
32
|
+
.describe('Max entries per kind (1-50). Well-studied drugs have a long tail of interactions. Default: 10.'),
|
|
33
|
+
}),
|
|
34
|
+
output: z.object({
|
|
35
|
+
cid: z.number().describe('PubChem Compound ID.'),
|
|
36
|
+
entries: z
|
|
37
|
+
.array(z
|
|
38
|
+
.object({
|
|
39
|
+
kind: z.enum(['drug-drug', 'drug-food', 'target']).describe('Interaction category.'),
|
|
40
|
+
partner: z
|
|
41
|
+
.string()
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Interacting compound, food, or target name as the source reports it.'),
|
|
44
|
+
source: z.string().describe('Originating source (e.g. "DrugBank", "BindingDB").'),
|
|
45
|
+
severity: z
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe('Raw severity as the source reports it — not normalized across sources, and frequently unset (most sources embed severity in the statement text).'),
|
|
49
|
+
text: z.string().describe('The interaction statement.'),
|
|
50
|
+
})
|
|
51
|
+
.describe('A single interaction entry.'))
|
|
52
|
+
.describe('Interaction entries across the requested kinds.'),
|
|
53
|
+
}),
|
|
54
|
+
// Agent-facing context — kind echo, total returned, and an empty-result notice.
|
|
55
|
+
// Reaches structuredContent and content[]; keys disjoint from output (cid/entries).
|
|
56
|
+
enrichment: {
|
|
57
|
+
requestedKinds: z.string().describe('Interaction kinds requested (comma-separated).'),
|
|
58
|
+
returnedCount: z.number().describe('Total interaction entries returned across all kinds.'),
|
|
59
|
+
notice: z
|
|
60
|
+
.string()
|
|
61
|
+
.optional()
|
|
62
|
+
.describe('Guidance when no interaction data was found for the requested kinds.'),
|
|
63
|
+
},
|
|
64
|
+
async handler(input, ctx) {
|
|
65
|
+
const client = getPubChemClient();
|
|
66
|
+
const entries = await client.getInteractions(input.cid, input.kinds, input.maxEntries);
|
|
67
|
+
ctx.log.info('Interactions fetched', {
|
|
68
|
+
cid: input.cid,
|
|
69
|
+
kinds: input.kinds,
|
|
70
|
+
returned: entries.length,
|
|
71
|
+
});
|
|
72
|
+
ctx.enrich({ requestedKinds: input.kinds.join(', '), returnedCount: entries.length });
|
|
73
|
+
if (entries.length === 0) {
|
|
74
|
+
ctx.enrich.notice(`No ${input.kinds.join('/')} interaction data found for CID ${input.cid}. PubChem has no deposited interaction records for this compound — coverage is richest for approved drugs.`);
|
|
75
|
+
}
|
|
76
|
+
return { cid: input.cid, entries };
|
|
77
|
+
},
|
|
78
|
+
format(result) {
|
|
79
|
+
const lines = [`## Interactions — CID ${result.cid}`, ''];
|
|
80
|
+
if (result.entries.length === 0) {
|
|
81
|
+
lines.push('No interaction data found.');
|
|
82
|
+
return [{ type: 'text', text: lines.join('\n') }];
|
|
83
|
+
}
|
|
84
|
+
for (const e of result.entries) {
|
|
85
|
+
const partner = e.partner ? ` **${e.partner}**` : '';
|
|
86
|
+
const severity = e.severity ? ` [severity: ${e.severity}]` : '';
|
|
87
|
+
lines.push(`- (${e.kind})${partner}${severity} ${e.text} _(source: ${e.source})_`);
|
|
88
|
+
}
|
|
89
|
+
return [{ type: 'text', text: lines.join('\n') }];
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=get-compound-interactions.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-compound-interactions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-interactions.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Get GHS hazard classification and safety data for
|
|
2
|
+
* @fileoverview Get GHS hazard classification and safety data for PubChem compounds (batched).
|
|
3
3
|
* @module mcp-server/tools/definitions/get-compound-safety
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
export declare const getCompoundSafety: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
|
-
|
|
7
|
+
cids: z.ZodArray<z.ZodNumber>;
|
|
8
8
|
}, z.core.$strip>, z.ZodObject<{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
results: z.ZodArray<z.ZodObject<{
|
|
10
|
+
cid: z.ZodNumber;
|
|
11
|
+
hasData: z.ZodBoolean;
|
|
12
|
+
ghs: z.ZodOptional<z.ZodObject<{
|
|
13
|
+
signalWord: z.ZodOptional<z.ZodString>;
|
|
14
|
+
pictograms: z.ZodArray<z.ZodString>;
|
|
15
|
+
hazardStatements: z.ZodArray<z.ZodObject<{
|
|
16
|
+
code: z.ZodString;
|
|
17
|
+
statement: z.ZodString;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
precautionaryStatements: z.ZodArray<z.ZodObject<{
|
|
20
|
+
code: z.ZodString;
|
|
21
|
+
statement: z.ZodString;
|
|
22
|
+
}, z.core.$strip>>;
|
|
21
23
|
}, z.core.$strip>>;
|
|
24
|
+
source: z.ZodOptional<z.ZodString>;
|
|
22
25
|
}, z.core.$strip>>;
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
}, z.core.$strip>, undefined, {
|
|
27
|
+
readonly requestedCount: z.ZodNumber;
|
|
28
|
+
readonly withDataCount: z.ZodNumber;
|
|
29
|
+
readonly notice: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}>;
|
|
25
31
|
//# sourceMappingURL=get-compound-safety.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-compound-safety.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-safety.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-compound-safety.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-safety.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAkCjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAiI5B,CAAC"}
|