@cyanheads/brapi-mcp-server 0.4.3 → 0.4.5
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/CLAUDE.md +4 -4
- package/README.md +12 -3
- package/changelog/0.4.x/0.4.4.md +22 -0
- package/changelog/0.4.x/0.4.5.md +25 -0
- package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +1 -0
- package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js +14 -3
- package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js +34 -5
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js +33 -4
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +30 -4
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +31 -4
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js +33 -4
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js +30 -24
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js +29 -4
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.js +31 -2
- package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-image.tool.js +18 -1
- package/dist/mcp-server/tools/definitions/brapi-get-image.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-study.tool.js +22 -1
- package/dist/mcp-server/tools/definitions/brapi-get-study.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +1 -0
- package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +2 -0
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/connect-auth-schema.js +2 -2
- package/dist/mcp-server/tools/shared/connect-auth-schema.js.map +1 -1
- package/dist/mcp-server/tools/shared/find-helpers.d.ts +49 -0
- package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/find-helpers.js +113 -12
- package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
- package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +2 -0
- package/dist/mcp-server/tools/shared/orientation-envelope.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/orientation-envelope.js +11 -0
- package/dist/mcp-server/tools/shared/orientation-envelope.js.map +1 -1
- package/dist/services/brapi-client/brapi-client.d.ts.map +1 -1
- package/dist/services/brapi-client/brapi-client.js +1 -1
- package/dist/services/brapi-client/brapi-client.js.map +1 -1
- package/dist/services/brapi-dialect/brapi-test-dialect.d.ts +13 -0
- package/dist/services/brapi-dialect/brapi-test-dialect.d.ts.map +1 -0
- package/dist/services/brapi-dialect/brapi-test-dialect.js +20 -0
- package/dist/services/brapi-dialect/brapi-test-dialect.js.map +1 -0
- package/dist/services/brapi-dialect/cassavabase-dialect.d.ts +5 -4
- package/dist/services/brapi-dialect/cassavabase-dialect.d.ts.map +1 -1
- package/dist/services/brapi-dialect/cassavabase-dialect.js +44 -36
- package/dist/services/brapi-dialect/cassavabase-dialect.js.map +1 -1
- package/dist/services/brapi-dialect/detect.d.ts +5 -3
- package/dist/services/brapi-dialect/detect.d.ts.map +1 -1
- package/dist/services/brapi-dialect/detect.js +21 -7
- package/dist/services/brapi-dialect/detect.js.map +1 -1
- package/dist/services/brapi-dialect/index.d.ts +2 -1
- package/dist/services/brapi-dialect/index.d.ts.map +1 -1
- package/dist/services/brapi-dialect/index.js +2 -1
- package/dist/services/brapi-dialect/index.js.map +1 -1
- package/dist/services/brapi-dialect/registry.d.ts.map +1 -1
- package/dist/services/brapi-dialect/registry.js +4 -1
- package/dist/services/brapi-dialect/registry.js.map +1 -1
- package/dist/services/brapi-dialect/types.d.ts +6 -0
- package/dist/services/brapi-dialect/types.d.ts.map +1 -1
- package/dist/services/capability-registry/capability-registry.d.ts.map +1 -1
- package/dist/services/capability-registry/capability-registry.js +30 -10
- package/dist/services/capability-registry/capability-registry.js.map +1 -1
- package/dist/services/capability-registry/types.d.ts +6 -0
- package/dist/services/capability-registry/types.d.ts.map +1 -1
- package/dist/services/server-registry/server-registry.d.ts +1 -0
- package/dist/services/server-registry/server-registry.d.ts.map +1 -1
- package/dist/services/server-registry/server-registry.js +31 -1
- package/dist/services/server-registry/server-registry.js.map +1 -1
- package/package.json +4 -4
- package/server.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-registry.d.ts","sourceRoot":"","sources":["../../../src/services/server-registry/server-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1E,eAAO,MAAM,aAAa,YAAY,CAAC;AAIvC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,YAAY,EAAE,YAAY,EAC1B,YAAY,GAAE,YAAkC;IAGnE;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmB7E,yDAAyD;IACnD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWjF,qCAAqC;IACrC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIpF,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAe/C,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAI9D,WAAW;
|
|
1
|
+
{"version":3,"file":"server-registry.d.ts","sourceRoot":"","sources":["../../../src/services/server-registry/server-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1E,eAAO,MAAM,aAAa,YAAY,CAAC;AAIvC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,YAAY,EAAE,YAAY,EAC1B,YAAY,GAAE,YAAkC;IAGnE;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmB7E,yDAAyD;IACnD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWjF,qCAAqC;IACrC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIpF,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAe/C,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAI9D,WAAW;YA0BX,gBAAgB;YAqChB,mBAAmB;CAwClC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,KACtD,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA4FD,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAEnE;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -86,7 +86,7 @@ export class ServerRegistry {
|
|
|
86
86
|
case 'sgn':
|
|
87
87
|
return await this.exchangeSgnToken(auth, baseUrl, ctx);
|
|
88
88
|
case 'oauth2':
|
|
89
|
-
|
|
89
|
+
return await this.exchangeOAuth2Token(auth, baseUrl, ctx);
|
|
90
90
|
default: {
|
|
91
91
|
const _exhaustive = auth;
|
|
92
92
|
throw validationError('Unknown auth mode', { received: _exhaustive });
|
|
@@ -120,6 +120,36 @@ export class ServerRegistry {
|
|
|
120
120
|
}
|
|
121
121
|
return resolved;
|
|
122
122
|
}
|
|
123
|
+
async exchangeOAuth2Token(auth, baseUrl, ctx) {
|
|
124
|
+
const tokenUrl = auth.tokenUrl ?? joinUrl(baseUrl, '/token');
|
|
125
|
+
const payload = await this.tokenFetcher(tokenUrl, {
|
|
126
|
+
client_id: auth.clientId,
|
|
127
|
+
client_secret: auth.clientSecret,
|
|
128
|
+
grant_type: 'client_credentials',
|
|
129
|
+
}, ctx, {
|
|
130
|
+
timeoutMs: this.serverConfig.requestTimeoutMs,
|
|
131
|
+
rejectPrivateIPs: !this.serverConfig.allowPrivateIps,
|
|
132
|
+
});
|
|
133
|
+
if (!payload.access_token) {
|
|
134
|
+
throw forbidden('OAuth2 token exchange returned no access_token', {
|
|
135
|
+
tokenUrl,
|
|
136
|
+
payloadKeys: Object.keys(payload),
|
|
137
|
+
reason: 'auth_no_access_token',
|
|
138
|
+
...ctx.recoveryFor('auth_no_access_token'),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
const tokenType = typeof payload.token_type === 'string' && payload.token_type.trim()
|
|
142
|
+
? payload.token_type.trim()
|
|
143
|
+
: 'Bearer';
|
|
144
|
+
const resolved = {
|
|
145
|
+
headerName: 'Authorization',
|
|
146
|
+
headerValue: `${tokenType} ${payload.access_token}`,
|
|
147
|
+
};
|
|
148
|
+
if (payload.expires_in && Number.isFinite(payload.expires_in)) {
|
|
149
|
+
resolved.expiresAt = new Date(Date.now() + payload.expires_in * 1000).toISOString();
|
|
150
|
+
}
|
|
151
|
+
return resolved;
|
|
152
|
+
}
|
|
123
153
|
}
|
|
124
154
|
const defaultTokenFetcher = async (url, body, ctx, options) => {
|
|
125
155
|
const form = new URLSearchParams();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-registry.js","sourceRoot":"","sources":["../../../src/services/server-registry/server-registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server-registry.js","sourceRoot":"","sources":["../../../src/services/server-registry/server-registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/brapi-mcp-server",
|
|
3
3
|
"mcpName": "io.github.cyanheads/brapi-mcp-server",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.5",
|
|
5
5
|
"description": "BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.",
|
|
6
6
|
"author": "Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)",
|
|
7
7
|
"type": "module",
|
|
@@ -71,15 +71,15 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@cyanheads/mcp-ts-core": "^0.8.
|
|
74
|
+
"@cyanheads/mcp-ts-core": "^0.8.8",
|
|
75
75
|
"pino-pretty": "^13.1.3"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@biomejs/biome": "^2.4.
|
|
78
|
+
"@biomejs/biome": "^2.4.14",
|
|
79
79
|
"@types/node": "^25.6.0",
|
|
80
80
|
"depcheck": "^1.4.7",
|
|
81
81
|
"ignore": "^7.0.5",
|
|
82
|
-
"tsc-alias": "^1.8.
|
|
82
|
+
"tsc-alias": "^1.8.17",
|
|
83
83
|
"typescript": "^6.0.3",
|
|
84
84
|
"vitest": "^4.1.5"
|
|
85
85
|
}
|
package/server.json
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/brapi-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.4.
|
|
9
|
+
"version": "0.4.5",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
14
|
"identifier": "@cyanheads/brapi-mcp-server",
|
|
15
15
|
"runtimeHint": "bun",
|
|
16
|
-
"version": "0.4.
|
|
16
|
+
"version": "0.4.5",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{ "type": "positional", "value": "run" },
|
|
19
19
|
{ "type": "positional", "value": "start:stdio" }
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
50
50
|
"identifier": "@cyanheads/brapi-mcp-server",
|
|
51
51
|
"runtimeHint": "bun",
|
|
52
|
-
"version": "0.4.
|
|
52
|
+
"version": "0.4.5",
|
|
53
53
|
"packageArguments": [
|
|
54
54
|
{ "type": "positional", "value": "run" },
|
|
55
55
|
{ "type": "positional", "value": "start:http" }
|