{"_id":"@cyanheads/brapi-mcp-server","_rev":"45-f95e54a8bbdfc3300965d086eab35ae6","name":"@cyanheads/brapi-mcp-server","dist-tags":{"latest":"0.8.0"},"versions":{"0.3.5":{"name":"@cyanheads/brapi-mcp-server","version":"0.3.5","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.3.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"7d6238bade6b0015ef936855b0df64b6cd13dbe7","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.3.5.tgz","fileCount":238,"integrity":"sha512-o9mn60a8LgxQLqmfzwsQJdiD7vQDoHeJxrNTdUAET1mMoFQawcI1AjRAQfs0lyVi7+9LN47Q60AoA09c36iJaA==","signatures":[{"sig":"MEQCIDgB3DF9FOUHSqANKwUTApNTVsLbC2mhXdmjnRT0ijWhAiBLszDHZkJ/0OBpJHfG7XdODRniRg3zrlCgwLgKsX47Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":923977},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7d6238bade6b0015ef936855b0df64b6cd13dbe7","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-o9mn60a8LgxQLqmfzwsQJdiD7vQDoHeJxrNTdUAET1mMoFQawcI1AjRAQfs0lyVi7+9LN47Q60AoA09c36iJaA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.3.5_1777513635236_0.8241070430888331","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@cyanheads/brapi-mcp-server","version":"0.3.6","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.3.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"5f668e85ac76c83335b07e1c3302ec1834eea57d","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.3.6.tgz","fileCount":239,"integrity":"sha512-VNZkR5kieNVNBHbuYWtqKms8dm7hdb4J6pxK7R+M6MdEztQBhiaBvMGl7bsbqvGRTLxjm4ZKGbtL5nhzpZB7ow==","signatures":[{"sig":"MEQCICT0x8mkZ4vMLEbGydc3fDuKnHG1wGFKNpkx1Wsb6kmvAiAC+ppKaGt+QM7PcqS9kANTxNx1D8ELCaiOhnzg8Li7CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":926268},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5f668e85ac76c83335b07e1c3302ec1834eea57d","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-VNZkR5kieNVNBHbuYWtqKms8dm7hdb4J6pxK7R+M6MdEztQBhiaBvMGl7bsbqvGRTLxjm4ZKGbtL5nhzpZB7ow==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.3.6_1777514058333_0.5763268728248923","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@cyanheads/brapi-mcp-server","version":"0.3.7","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.3.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"b8f4d7600775c1f400f0077a4d51fb83b9a3f3ce","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.3.7.tgz","fileCount":244,"integrity":"sha512-LFZhr9Xbtm9EZBwm/eEx0xVhL5UilBfb8NNCP6vcIMSiQ6ZAo7A0UKU4HIitVrRnKezY4VCqN8dMROv9ZK8jnQ==","signatures":[{"sig":"MEUCIQD+H6tUFHDWz+rdm8wku0NyDVE4Eeiymch3gh+yOsQzfwIgGhFyVBbliP5kpXDRqZvj7vi1LunZFYtLOOGVX2FnLvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1001728},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b8f4d7600775c1f400f0077a4d51fb83b9a3f3ce","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-LFZhr9Xbtm9EZBwm/eEx0xVhL5UilBfb8NNCP6vcIMSiQ6ZAo7A0UKU4HIitVrRnKezY4VCqN8dMROv9ZK8jnQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.3.7_1777515806261_0.9067027049203249","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@cyanheads/brapi-mcp-server","version":"0.3.8","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.3.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"2313b874b9eda46b61c0f9ae8756ea6c81e02625","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.3.8.tgz","fileCount":245,"integrity":"sha512-QeA9c8oPB95bOGaTVnmUNtOHWD4E70jc+nTK46LTdmMJZ/yiA0JCoHKq/8/8kPXDKwtG6B1zINaQbD6HC+l3Qw==","signatures":[{"sig":"MEUCIQDoaKx8vFCYx1pctx/p5BINsGpXPmTEMKuv9PAcfVfwywIgbt3OZ+o2x4kIdCq7tkELyuL7lWIDBgaWGdbt92MmVoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041527},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2313b874b9eda46b61c0f9ae8756ea6c81e02625","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-QeA9c8oPB95bOGaTVnmUNtOHWD4E70jc+nTK46LTdmMJZ/yiA0JCoHKq/8/8kPXDKwtG6B1zINaQbD6HC+l3Qw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.3.8_1777521561546_0.6936648069281317","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@cyanheads/brapi-mcp-server","version":"0.3.9","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.3.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"2cdbc95412f18c32d05c8f512bf9bf6150af6512","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.3.9.tgz","fileCount":246,"integrity":"sha512-y2OGtdtWd2eA2yApwY9ifOAZtluSLU12fWnzjJOeWCXsGjaDzb1kHnBn54hxN5ibPFhdZgaELdsBZgyvBtJ84Q==","signatures":[{"sig":"MEUCIQDHjdFAK/0/loXYkrVIpWTKbkkCQipjujDPwmQ3jylHLQIgD50V5WeY4QKfo8JSupEate5qhaW2KEUzA19CFAi+zGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1052138},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2cdbc95412f18c32d05c8f512bf9bf6150af6512","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-y2OGtdtWd2eA2yApwY9ifOAZtluSLU12fWnzjJOeWCXsGjaDzb1kHnBn54hxN5ibPFhdZgaELdsBZgyvBtJ84Q==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.3.9_1777528065566_0.03340406614006364","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.1","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"765824e76537f2566c42aef5b81600574fccd98b","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.1.tgz","fileCount":272,"integrity":"sha512-frDexdjG9Jl9c1x7uz32NTHlfMofpAkFKn8hiQuy+y+btZu0VpmAS0PpIQOX3xUQ86tVGC+ApMkPsVtQCbN7xA==","signatures":[{"sig":"MEUCIQCeiaWwDMn3cGGmm6S+E/Vn6gr9MY7Qokjqc/59Pc2KjwIgWM3MAK6LYtlkq+FO24VOeVULekJ/l9I9PGUvINadoas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1119550},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"765824e76537f2566c42aef5b81600574fccd98b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-frDexdjG9Jl9c1x7uz32NTHlfMofpAkFKn8hiQuy+y+btZu0VpmAS0PpIQOX3xUQ86tVGC+ApMkPsVtQCbN7xA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.1_1777605567009_0.48171911580033333","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.2","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"5cf8b67f8fd3d76c11035985d5dbe4b53d117aaa","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.2.tgz","fileCount":273,"integrity":"sha512-k6/Sz66kapiCk+4uTllDwdXf2w6tKnnQSJ7B1ahteCNU2TLDY+gpDjklG4+bpvLyNazKnqxwaCJmcMg8T4/xUw==","signatures":[{"sig":"MEQCIE2XPAROnIZIQ1lAHPpi4ed8y7S10rYowMpw7PZItFSgAiB1gKSQ/QfdcpvV1uy3AyZ99HKQE0cXnVgRapljyDu2kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1129768},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5cf8b67f8fd3d76c11035985d5dbe4b53d117aaa","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-k6/Sz66kapiCk+4uTllDwdXf2w6tKnnQSJ7B1ahteCNU2TLDY+gpDjklG4+bpvLyNazKnqxwaCJmcMg8T4/xUw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.2_1777607947982_0.826438634629896","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.3","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"15640ec7a111ad76590b3596373460555855ff85","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.3.tgz","fileCount":274,"integrity":"sha512-aH1749LgrPGnpe+MPBLPNIo4/pi2eUV87nbgBFArgdoZMcxlFOO2RGakswVgEqZaD4gB/ppA5m6OjWNfI7yteQ==","signatures":[{"sig":"MEQCIA228yfPbRUJRxiRB4IQYvvDQlt7TJ8l3g20UyGr/y9kAiBlcMrZBqGDrkrwh9mPd1ySwsxrfhwbpiE/hS9g3olQzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1147444},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"15640ec7a111ad76590b3596373460555855ff85","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-aH1749LgrPGnpe+MPBLPNIo4/pi2eUV87nbgBFArgdoZMcxlFOO2RGakswVgEqZaD4gB/ppA5m6OjWNfI7yteQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.3_1777613719263_0.8538336467499621","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.4","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"bd63a208b631d359b670dc8ea52501a9958edfee","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.4.tgz","fileCount":275,"integrity":"sha512-M8rEu+fZfg2Gfk11ela1EBHG6QyvfNFZUZ1wg5p0wfgqTxbBGNp7D/MwhxCTPCRU3gCGSEFZIWmHpjV1SwRXYA==","signatures":[{"sig":"MEQCIHUl0eGjxhmyTFCly8pVlaJQBGaIzkiK4ukJQlmgy0QsAiBYS5tGRH+HbE/hPVpO62CVMFjz/5wy5am42rEBlQq4lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1163096},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"bd63a208b631d359b670dc8ea52501a9958edfee","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-M8rEu+fZfg2Gfk11ela1EBHG6QyvfNFZUZ1wg5p0wfgqTxbBGNp7D/MwhxCTPCRU3gCGSEFZIWmHpjV1SwRXYA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.4_1777615807142_0.45717661444062485","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.5","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"4eebb9cd11285f8bb330496c566c71d52f3f2058","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.5.tgz","fileCount":280,"integrity":"sha512-3HqCID8Wd5TIZip9LJ/MifbbYn2O4ewYXkAIpvXg7pgzBFpjZ+ibwQmruIonRsN1G3Dr5uROJy+pINDIva1nOw==","signatures":[{"sig":"MEUCIGKH5gH7m96jrh6QXrU7dWnAKRO91eyd1fgilKNLDikRAiEA8S4Z0+yZaXPH4f0z5DuWmCuaAzh7gEJ1C6ozGvmRWKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1188322},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"4eebb9cd11285f8bb330496c566c71d52f3f2058","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-3HqCID8Wd5TIZip9LJ/MifbbYn2O4ewYXkAIpvXg7pgzBFpjZ+ibwQmruIonRsN1G3Dr5uROJy+pINDIva1nOw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.5_1777666291817_0.926568325166585","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.6","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"34ee443257f931980c665aa65dd3d8ef6a9e0937","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.6.tgz","fileCount":285,"integrity":"sha512-d+wJyn5sMmAGNUqOxAU1tOXfKDbbryhUn4pPpQ28VWu4FyHGC7W57YADPN6kc4AC/WccL1fiB2tLjHXqAdpciw==","signatures":[{"sig":"MEUCIQCsZHsnsAmUGB9VyMZlP6PwJwm6xnTS8D/rQi/g3hseMwIgLTIDEEhzWTXouv/lkCcBy/q66TiuC2rGdLYzSWvmb5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1224864},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"34ee443257f931980c665aa65dd3d8ef6a9e0937","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-d+wJyn5sMmAGNUqOxAU1tOXfKDbbryhUn4pPpQ28VWu4FyHGC7W57YADPN6kc4AC/WccL1fiB2tLjHXqAdpciw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.6_1777677820583_0.3752194778140625","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.7","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"15b1e4e522c1381d20295330fe6f01964b0a799d","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.7.tgz","fileCount":286,"integrity":"sha512-NJSHkoy+m8E1bAWVCo97wdyFI9K7aUJl1vlgkqLi86xksySpy3j+K8UwxGRz/jk+G+ltgLrJM+hf64LF88qRRg==","signatures":[{"sig":"MEUCIFBgOWoMxjqkNYVMj5LiSYclG/s6oQkXKZfL3daGTsM8AiEAojv0a6p+hcmjqYpTnkyzAJAdwt6xlb8+aZl0QW20Tu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1247086},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"15b1e4e522c1381d20295330fe6f01964b0a799d","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-NJSHkoy+m8E1bAWVCo97wdyFI9K7aUJl1vlgkqLi86xksySpy3j+K8UwxGRz/jk+G+ltgLrJM+hf64LF88qRRg==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.7_1777682332669_0.3890711937694509","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.8","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"5e3f417b9f096789c3bafe470cba418a0575b3e2","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.8.tgz","fileCount":287,"integrity":"sha512-G8B3r2SJTaBR4fxOk4EJ216j/VrWSfi9ATZNgwq+IHdAgAAThPZvLNTcvtW4/Z2iEMWMrD5dhiLduKz/cBhJ0g==","signatures":[{"sig":"MEYCIQD0IMlGOc/k9eB2klOcJAl9qaQTo/4R2RlFELc3Nrh3mAIhAOyKPxJmmV0bbZFKogIUq4bBA1e/FCGIvZgNvx5gTPuv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1254812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5e3f417b9f096789c3bafe470cba418a0575b3e2","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-G8B3r2SJTaBR4fxOk4EJ216j/VrWSfi9ATZNgwq+IHdAgAAThPZvLNTcvtW4/Z2iEMWMrD5dhiLduKz/cBhJ0g==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.8_1777685236531_0.8524918493506897","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.9","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"002d311b5e72e8af914d8edc2f848e321e0c5d57","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.9.tgz","fileCount":288,"integrity":"sha512-R4E/dFrTY18wxsbtICtdHUJ74As6Y0N6YJUkSPfuJUwv7wcMNB1S1a07yTOd/uN9CJWIWQOgpGG6zV5thK7KLQ==","signatures":[{"sig":"MEUCICmWPAho8hZPuaalEQo/B0xx5sCqZAG2I6F7VRRFu/8AAiEAhqe5aBgjqDf+5WGQqqH8WXClEv4dq+auBufhJwt5sOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1268748},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"002d311b5e72e8af914d8edc2f848e321e0c5d57","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-R4E/dFrTY18wxsbtICtdHUJ74As6Y0N6YJUkSPfuJUwv7wcMNB1S1a07yTOd/uN9CJWIWQOgpGG6zV5thK7KLQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.9_1777693957619_0.36964045195279716","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.10","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"347eb777f87f3d191f29e29918a05135fea3f52b","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.10.tgz","fileCount":313,"integrity":"sha512-R/r0xblCOXn6YfmCVMoItQPVKWmYXYSt/zat42lOnGBFN7XtjIvTKOiPteQE5WWQfWFnQb11sSAipsfTQsFlIw==","signatures":[{"sig":"MEUCIBqlFkA49wa8+9P96DWd+lj//jIM21PNPnzzQORfJTkpAiEA7oztuZxbOqy/haDuknkvW18eh/TCst2kXdPzSchwhTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1360576},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"347eb777f87f3d191f29e29918a05135fea3f52b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-R/r0xblCOXn6YfmCVMoItQPVKWmYXYSt/zat42lOnGBFN7XtjIvTKOiPteQE5WWQfWFnQb11sSAipsfTQsFlIw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14","@duckdb/node-api":"^1.5.2-r.1"},"peerDependencies":{"@duckdb/node-api":"^1.5.0"},"peerDependenciesMeta":{"@duckdb/node-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.10_1777773938649_0.6853827959563192","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.11","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"65cf3be064a980f9c573e00b70db3486cbebb49b","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.11.tgz","fileCount":314,"integrity":"sha512-F2odS0OsY7op45Lo7FQOcFRX/1TLfi26qPgZG0EpObD0NzVQw1hTQ4iHIkCpnsUzDnWDWE8rXsfz2LxCAyvYJg==","signatures":[{"sig":"MEUCIHTAz/UMN1vJpzNGkBca3+c14DIx6obe4UaA2jBfvO8kAiEAomemrkrn93A49oq1YRANHhHqiMFMw/Zd1ihjVDJv3CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1362887},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"65cf3be064a980f9c573e00b70db3486cbebb49b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-F2odS0OsY7op45Lo7FQOcFRX/1TLfi26qPgZG0EpObD0NzVQw1hTQ4iHIkCpnsUzDnWDWE8rXsfz2LxCAyvYJg==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14","@duckdb/node-api":"^1.5.2-r.1"},"peerDependencies":{"@duckdb/node-api":"^1.5.0"},"peerDependenciesMeta":{"@duckdb/node-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.11_1777799435732_0.5307482929359701","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.12","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"9c2bae9790111214a4bb1cf25352c67562279fe0","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.12.tgz","fileCount":319,"integrity":"sha512-BNbTBtE0PJ0m6jFYoA8OAS53XG+Ui4Grd7OkG767lkxs9uyCha3T8QcYslR8iXeyBlXH3la50Vx/faWKl7hraw==","signatures":[{"sig":"MEQCID5BFX8VNxiGj+M9/WUP9012vLu5zgzk44vtyubvCSs0AiBrblUXAU6l25l3GVwXbWQV2aY2PHLCxBN6qsosX0p9wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1387467},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9c2bae9790111214a4bb1cf25352c67562279fe0","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-BNbTBtE0PJ0m6jFYoA8OAS53XG+Ui4Grd7OkG767lkxs9uyCha3T8QcYslR8iXeyBlXH3la50Vx/faWKl7hraw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14","@duckdb/node-api":"^1.5.2-r.1"},"peerDependencies":{"@duckdb/node-api":"^1.5.0"},"peerDependenciesMeta":{"@duckdb/node-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.12_1777856620031_0.6828954281265509","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.13","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"2ce7433a4e918fbc6a3cbd7f2d32243601e5e8f7","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.13.tgz","fileCount":320,"integrity":"sha512-m2QruXmf46X0sT7luUxCLfSuXrI1auc/mLGIrk2Hr7QhUwaNW0Q2sTfXPsTbBFFhe/EskRQ7+IWPsClnVsHMrg==","signatures":[{"sig":"MEQCIEVZ7q/LZgC5uNWuBTM9SGc2GaxQFSfdP9lt44X4VHzZAiAmM/80LyVw6j+l/fHEUVh6pCmXXVzcHVQNiUxStG3pvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371623},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2ce7433a4e918fbc6a3cbd7f2d32243601e5e8f7","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-m2QruXmf46X0sT7luUxCLfSuXrI1auc/mLGIrk2Hr7QhUwaNW0Q2sTfXPsTbBFFhe/EskRQ7+IWPsClnVsHMrg==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14","@duckdb/node-api":"^1.5.2-r.1"},"peerDependencies":{"@duckdb/node-api":"^1.5.0"},"peerDependenciesMeta":{"@duckdb/node-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.13_1777861911479_0.6127831673028556","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@cyanheads/brapi-mcp-server","version":"0.4.14","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.4.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"36f538b01e730836ddec710a36e69f9a6f6d963a","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.4.14.tgz","fileCount":321,"integrity":"sha512-gKWskB07nDgDY5sCbtFAKOlJkUPPQavFO/Cvtr7HNS6rI+j3cs1S8aOKOSBrlUuknbUujslft7qaGvIZ63aa+A==","signatures":[{"sig":"MEYCIQCsjhozSGGBSmkp6t9Yivb0qieKKzaiLcf0uwjcXIJJiAIhAO17Bd6FFpBc9T/Kz17u07VuiNAS2bBDsOg+y4ABRvWq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1395202},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"36f538b01e730836ddec710a36e69f9a6f6d963a","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-gKWskB07nDgDY5sCbtFAKOlJkUPPQavFO/Cvtr7HNS6rI+j3cs1S8aOKOSBrlUuknbUujslft7qaGvIZ63aa+A==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14","@duckdb/node-api":"^1.5.2-r.1"},"peerDependencies":{"@duckdb/node-api":"^1.5.0"},"peerDependenciesMeta":{"@duckdb/node-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.4.14_1777964167397_0.6119798315547649","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@cyanheads/brapi-mcp-server","version":"0.5.0","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.5.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"89dc1c39e7570550615029f11739f74ad4bb8115","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.5.0.tgz","fileCount":306,"integrity":"sha512-zr9cL3FsIozi/Xj3RhZkpFmo0fFYV+f+DvutmFXfCfZ+HOE4hm6Zpza2DeWXFpyHm/uCjfrHWyoPKsE1pAdgvg==","signatures":[{"sig":"MEUCIQCITB/M/BvnWxMJ7N8E1+4CxkAaWikvVy66tJp15QsIwAIgHeLqDjiIl9Jr7hNvIvgXz5p45rAWQoOlIub/JJiog4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1397218},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"89dc1c39e7570550615029f11739f74ad4bb8115","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-zr9cL3FsIozi/Xj3RhZkpFmo0fFYV+f+DvutmFXfCfZ+HOE4hm6Zpza2DeWXFpyHm/uCjfrHWyoPKsE1pAdgvg==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.2-r.1","@cyanheads/mcp-ts-core":"^0.8.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.5.0_1777985306936_0.87106042879371","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@cyanheads/brapi-mcp-server","version":"0.5.1","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.5.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"1a386ab650f8fda296c210d2b30eef1916382cf9","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.5.1.tgz","fileCount":307,"integrity":"sha512-D1QcIk5KiZ5A94S1jaHbZo5WHmhJuFOtFqpBPrxMep5Ee6sUhPiZZlxvKNbL4CpI17KcKscW7NE61M5XTjcT2A==","signatures":[{"sig":"MEQCIG8eC28jKriP6UFv9lNi6C8rP91bofDcrA2wBNrLxC+9AiBUhn+awmvjNq2wVbJNtwP1QQ3NAUzqFytx2delOFNOVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1406847},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"1a386ab650f8fda296c210d2b30eef1916382cf9","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-D1QcIk5KiZ5A94S1jaHbZo5WHmhJuFOtFqpBPrxMep5Ee6sUhPiZZlxvKNbL4CpI17KcKscW7NE61M5XTjcT2A==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"BrAPI v2.1 MCP server — studies, germplasm, observations, genotypes, images, and pedigrees.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.2-r.1","@cyanheads/mcp-ts-core":"^0.8.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.5.1_1777988866576_0.7183265360380495","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@cyanheads/brapi-mcp-server","version":"0.5.2","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.5.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"cc36c245b197184860bdd0b27712c914ee49996c","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.5.2.tgz","fileCount":308,"integrity":"sha512-00j4JzJuKnA6yaEDUTTe8bCWVhmA7WFCtG4/u6D1ztcAnl+ABgnqu0NNv2GBc7TivoksV3+ZnmiHQiCADiqs9Q==","signatures":[{"sig":"MEQCIBUANOOlUNSplRmt1MFNj2q5n1vBMRsmh/x74fSbEDyWAiAtdveHUJlkYOK520Bc7wm8aCAqDAHDMMx/pWK8x6iSYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1425940},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"cc36c245b197184860bdd0b27712c914ee49996c","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-00j4JzJuKnA6yaEDUTTe8bCWVhmA7WFCtG4/u6D1ztcAnl+ABgnqu0NNv2GBc7TivoksV3+ZnmiHQiCADiqs9Q==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.2-r.1","@cyanheads/mcp-ts-core":"^0.8.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.5.2_1778028597859_0.0022999327227644084","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@cyanheads/brapi-mcp-server","version":"0.5.3","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.5.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"ddf220c4507fbd24f439553a7e678e314bc449d7","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.5.3.tgz","fileCount":309,"integrity":"sha512-q9It8CAYgtdLwuFbSVLkBy7zdVvd7RgYsq1poT+PMtoXC9k9z4iPWVDVcA1YrSQ+ut4t5BAj9xPYzPYgC7viDg==","signatures":[{"sig":"MEUCIAxSewADwkt0qpN43qAjetBFUsmuhoFA6dvvkESKCqulAiEAzjLFxQK/D3NpMvJ9e8PCuUb9gSYN41C78bQ2e6dK70c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1438239},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ddf220c4507fbd24f439553a7e678e314bc449d7","engines":{"bun":">=1.2.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-q9It8CAYgtdLwuFbSVLkBy7zdVvd7RgYsq1poT+PMtoXC9k9z4iPWVDVcA1YrSQ+ut4t5BAj9xPYzPYgC7viDg==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.2-r.1","@cyanheads/mcp-ts-core":"^0.8.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.5.3_1778039217699_0.25223481177875384","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@cyanheads/brapi-mcp-server","version":"0.5.4","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.5.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"e302bb1850658fc0a48c556b5d08aad4b0bcbdff","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.5.4.tgz","fileCount":310,"integrity":"sha512-3ULYotOM6tPb9X82hmNSkQ09F444HuwMTUBTNyB+nCJ9W4pu8c+mAq9TtUUL7Fh5MIzer6mT6xcrV7mYoXro2Q==","signatures":[{"sig":"MEUCIDs8W9jBevv7zO5ia7TL9HCHq8/poiFt7ndh860JSL7cAiEAqLyDJPQ6u8dn3ZY7m8QCYBiH+8/nzBs3ClyvTbH5xCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1442402},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"e302bb1850658fc0a48c556b5d08aad4b0bcbdff","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-3ULYotOM6tPb9X82hmNSkQ09F444HuwMTUBTNyB+nCJ9W4pu8c+mAq9TtUUL7Fh5MIzer6mT6xcrV7mYoXro2Q==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.2-r.1","@cyanheads/mcp-ts-core":"^0.8.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.2","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.5.4_1778284181224_0.19614662041220043","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@cyanheads/brapi-mcp-server","version":"0.5.5","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.5.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"e4ce479e6f90cb5283d982ccf9676964ddea140f","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.5.5.tgz","fileCount":311,"integrity":"sha512-/O/IiDsoUcKnIEPeDnxUKM6r1MziRC0XJ/QFXpaKOX2zhnr8MNtBHJLrIjRrYmSAoLl8ro2J3cdyalDunrU6UA==","signatures":[{"sig":"MEUCIQC+RM/U/1mKwhDg1V8+vbkSQHngBfJphJ6VlA22TPWB5gIgN7uAblgbY8e8xpZMQbhZLM5CBhPshf8wpnOX0s2jAYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1449231},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"e4ce479e6f90cb5283d982ccf9676964ddea140f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-/O/IiDsoUcKnIEPeDnxUKM6r1MziRC0XJ/QFXpaKOX2zhnr8MNtBHJLrIjRrYmSAoLl8ro2J3cdyalDunrU6UA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.2-r.1","@cyanheads/mcp-ts-core":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.6","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.5.5_1778952683097_0.7014979837694972","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@cyanheads/brapi-mcp-server","version":"0.6.0","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.6.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"b17dbc1e6822d14badcf4786edf071abebe94ae1","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.6.0.tgz","fileCount":316,"integrity":"sha512-a+OhjP2gLcya5UeJdXI/4ptpDNZXdmwF6pfZb2zzvBXyoHWgkhWyMRAdGFwjcH2KsqJykUQ5AoZTvACWivLBOA==","signatures":[{"sig":"MEYCIQCmz/ZOf/18gl6UkbBRsk6GZg6HEWGsChv4TxTwlLppaQIhANojD2aCOho8N8xMCvB6V4lnRa0aQUgEL8c0dZ+wEitW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1522536},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b17dbc1e6822d14badcf4786edf071abebe94ae1","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-a+OhjP2gLcya5UeJdXI/4ptpDNZXdmwF6pfZb2zzvBXyoHWgkhWyMRAdGFwjcH2KsqJykUQ5AoZTvACWivLBOA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.1","@cyanheads/mcp-ts-core":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.6.0_1779438489831_0.4464274269085824","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@cyanheads/brapi-mcp-server","version":"0.6.1","keywords":["mcp","mcp-server","model-context-protocol","claude","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.6.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"eaaec461493174c7a9f097341b8df607cf590e70","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.6.1.tgz","fileCount":317,"integrity":"sha512-sgmVg/BX/tbDirDYJ0kWGmqdsZFyCb9nWDTEpanZvzGYpu+3+9JnJlDBwun83/lTIGbSHvaOgCsnVn/rvopcIw==","signatures":[{"sig":"MEYCIQD/Wu7AAeQOuEV80EHaul05ZD01AGh80SP4k/j1fqN8dwIhANNWAFwNPWc92G7PM9MgswowWh/s9LfrFyYLPf9+sYGR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1526961},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"eaaec461493174c7a9f097341b8df607cf590e70","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-sgmVg/BX/tbDirDYJ0kWGmqdsZFyCb9nWDTEpanZvzGYpu+3+9JnJlDBwun83/lTIGbSHvaOgCsnVn/rvopcIw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.1","@cyanheads/mcp-ts-core":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.6.1_1779478159815_0.9106793076825255","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@cyanheads/brapi-mcp-server","version":"0.6.2","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.6.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"77df8080b016d0586c01347abfa8487f58d0483b","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.6.2.tgz","fileCount":319,"integrity":"sha512-/z7+I7itYvPdOn8begbN3OqvE+lM9zqgB4Vykuy2JS0VfHtFq9N6AS4LVHizQ5+dZa4SEHc+v0AT6/YwE61G4w==","signatures":[{"sig":"MEQCIARAD5HWbfJkiF8pThI95DvRnPHDH+KZjaqxwoAJ6+/qAiBbNJ5KuaNTOmGBYv/mGMoTytgjcr98+GxtQXJ84SA4Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1530974},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"77df8080b016d0586c01347abfa8487f58d0483b","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-/z7+I7itYvPdOn8begbN3OqvE+lM9zqgB4Vykuy2JS0VfHtFq9N6AS4LVHizQ5+dZa4SEHc+v0AT6/YwE61G4w==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.1","@cyanheads/mcp-ts-core":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.6.2_1779539245929_0.5712840771348842","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@cyanheads/brapi-mcp-server","version":"0.6.3","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.6.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"dd43ef18626604087af6f62ffc2a6ac2c114687b","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.6.3.tgz","fileCount":320,"integrity":"sha512-+ptEiCIBSCTIsjIQrwRbQ84BdQbZF72O3ESeoKD3DsKzlSYNGvJhjtpL3fKQKuhS2RAPj/Z18ztUqk94ugbUSw==","signatures":[{"sig":"MEUCIQDrcQHRH2O5OT8WBQE7ddnCulBfWBnqcRucT0OEfael1wIgPG2pPEpFHbhOPevS2QT4a0QvjSwh+2oWVtZYORX+Q/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1537297},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"dd43ef18626604087af6f62ffc2a6ac2c114687b","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-+ptEiCIBSCTIsjIQrwRbQ84BdQbZF72O3ESeoKD3DsKzlSYNGvJhjtpL3fKQKuhS2RAPj/Z18ztUqk94ugbUSw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.2","@cyanheads/mcp-ts-core":"^0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.6.3_1780030232079_0.7468358837843665","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@cyanheads/brapi-mcp-server","version":"0.6.4","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.6.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"689a8acb047d984b02f52caeeb6180820c5308be","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.6.4.tgz","fileCount":321,"integrity":"sha512-uDlT5yuHIEBPUdf41QqtnI04hmK8g3V60PIQz8OTsJ0+R/2EemRabh1a4gijrxm3T1iqxZ9TZLOtWVVbNFnn/A==","signatures":[{"sig":"MEUCIQDEw2MIT/PZXf/0GlveDXi14A/AWNfpmgwwPvcVXhFcrgIgMF4rwr9C5fpYsUav8ejDs/ZazJQXBwDdCGjnNOeUAjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1555331},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"689a8acb047d984b02f52caeeb6180820c5308be","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-uDlT5yuHIEBPUdf41QqtnI04hmK8g3V60PIQz8OTsJ0+R/2EemRabh1a4gijrxm3T1iqxZ9TZLOtWVVbNFnn/A==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.2","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.6.4_1780134070496_0.0013708523359439173","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.0","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"640247200a059ec280920e37da065a96a45d6605","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.0.tgz","fileCount":350,"integrity":"sha512-BS0etgi7lK9dA7ruuvFX46TPz2v77JUuHVjMGtPTAjSpORlSM5pcZF2+iYooPuOM2G4tJZZ8cmxy/KfJblHzLQ==","signatures":[{"sig":"MEQCIHC38czXRQA81qhknEMsxTAUVGXmfgS8SIaTQH5TeZUAAiAuOSscUEcay5ZMStecgKWYrjMFOKPzCeC7WpKAVEI6SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1742237},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"640247200a059ec280920e37da065a96a45d6605","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-BS0etgi7lK9dA7ruuvFX46TPz2v77JUuHVjMGtPTAjSpORlSM5pcZF2+iYooPuOM2G4tJZZ8cmxy/KfJblHzLQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.0_1780376110446_0.7853377907578967","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.1","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"a6059ceda1896e5126d5603e1835d89de406cc1d","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.1.tgz","fileCount":351,"integrity":"sha512-owNZftf+urfr28AqGZjitG49BcGRhPZz7hUasUD5+BS8KbRvOOTsG62j8dVoHyJbz/GNVRE3uvc+6K8VRGdZpQ==","signatures":[{"sig":"MEYCIQDp4yNWZnP0YDKdGT957L68ckPhURwjPgbq9ocYwUHKPwIhAJrcZHbRD2yacYUkPbCn3m0Hr6XL3ZZXhFp3W5xL9xFj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1755405},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a6059ceda1896e5126d5603e1835d89de406cc1d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-owNZftf+urfr28AqGZjitG49BcGRhPZz7hUasUD5+BS8KbRvOOTsG62j8dVoHyJbz/GNVRE3uvc+6K8VRGdZpQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.1_1780382957263_0.7442027506628279","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.2","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"7687a53a05326340363ffc481f39e848296325cf","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.2.tgz","fileCount":352,"integrity":"sha512-X79Ezu01wkjBpMrC3Z+vT41er8tD1EWMIGlnpPeACiPE8wqiPwlRqptFo4SKKircXPWgeX9vCoyG6SuzGd4v2w==","signatures":[{"sig":"MEQCIB+XwzmoMIL5g0Kl1UgpTqe5eboXgRA42Ipzd4arX7K9AiBJqEvPo1wzaYyy0DvqrCW0LN+yuoFVj9lDU/wUV4ngXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1757331},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7687a53a05326340363ffc481f39e848296325cf","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-X79Ezu01wkjBpMrC3Z+vT41er8tD1EWMIGlnpPeACiPE8wqiPwlRqptFo4SKKircXPWgeX9vCoyG6SuzGd4v2w==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.2_1780408720127_0.47303510674196203","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.3","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"55972ed7232a035f3ed95d6a3de036323f075c7a","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.3.tgz","fileCount":353,"integrity":"sha512-0Iw7OjiN2tsIWrcuW0Z0PVdMyK05E31ffLT40U0jkJJaWoVwU03M0EkZaqGpPsEILVEBkBwX88hMRsNs8fPzwQ==","signatures":[{"sig":"MEQCIBLfYVR2y9fqQyoLsqYZr0lmBfQrLfm/PpsnHKyVFqKOAiAuiZV2riQIK0UFqd+cIyotCBw5DF5C8/C5i2rFoJ+oiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1766616},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"55972ed7232a035f3ed95d6a3de036323f075c7a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-0Iw7OjiN2tsIWrcuW0Z0PVdMyK05E31ffLT40U0jkJJaWoVwU03M0EkZaqGpPsEILVEBkBwX88hMRsNs8fPzwQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.3_1780922662058_0.4226287107307716","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.4","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"015c512b78f0103a2117324295c79e7aab62562d","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.4.tgz","fileCount":354,"integrity":"sha512-v4rfBld25dD3LA61EUc3/W21OpClceVJd5lUfeUqwZjPBrRUYSk00ll6HlsZbkz7TtvXMwi31S5kHnHI3WbAbA==","signatures":[{"sig":"MEUCICTlsGjfIn8Wr6X+SnWuip//eEZUeOs/r4W6bKKiSV/mAiEA4VUzSMY3kdxwWFKbqbdn4on6e8J1a6VUfDn/an6i9Fg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1768623},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"015c512b78f0103a2117324295c79e7aab62562d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-v4rfBld25dD3LA61EUc3/W21OpClceVJd5lUfeUqwZjPBrRUYSk00ll6HlsZbkz7TtvXMwi31S5kHnHI3WbAbA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.3","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.4_1781249631810_0.14588040155487247","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.5","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"873ffb694ca5552cee43004bf2332b84f3041c51","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.5.tgz","fileCount":355,"integrity":"sha512-LieOweeKQvyq+jmld0LPpvmb3w4Icq/fRkgbRRwsPa7La/MNGwi8JgOqJxBhRCGG6LwVMD5rMslmGLCUMOwxHA==","signatures":[{"sig":"MEYCIQDIXAaMngx1M/GuMaVqv9a2dShzUogRRTwWgpS8o60cjwIhAMWfivMBnoN7ULJi+oU3PCE+3+5IhYwOgo/5tmCBcwT3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1778303},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"873ffb694ca5552cee43004bf2332b84f3041c51","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-LieOweeKQvyq+jmld0LPpvmb3w4Icq/fRkgbRRwsPa7La/MNGwi8JgOqJxBhRCGG6LwVMD5rMslmGLCUMOwxHA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.3","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.5_1781786183542_0.4329326579440289","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.6","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand @cyanheads (https://github.com/cyanheads/brapi-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"52c785b632005d3962ae3db1e17aeb5b7876e56d","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.6.tgz","fileCount":356,"integrity":"sha512-ZVXjB4bOojg9CVI6dEcCienU2BPbmeOc1fR3O6E1AgZlGGTVEUdgd+W8KGFoML4w0lwxK+x1JvhppnHCSDHrEQ==","signatures":[{"sig":"MEYCIQC1xKGc8dCqo7Q1lcrFHjKT86KhQeFnytu91AaOQhU6QAIhAPQWxcwGuZ3I4gpuBBvKNnxz6bn/Mp6f3DA7b9gE/GfS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1781111},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"52c785b632005d3962ae3db1e17aeb5b7876e56d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ZVXjB4bOojg9CVI6dEcCienU2BPbmeOc1fR3O6E1AgZlGGTVEUdgd+W8KGFoML4w0lwxK+x1JvhppnHCSDHrEQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.6_1781951984198_0.411228194296571","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.7","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"cf1988fcdab3fd79a4c652d48a1aa0c129b6326d","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.7.tgz","fileCount":357,"integrity":"sha512-p4tDzbp+Gg6PsRheFzNXZtXJjE6GsYpiNLZPC5Nq5Rrvtowh5xJbs42lHKnWJp1WBKXmbrIht4SD082kP4J8cQ==","signatures":[{"sig":"MEYCIQD/mCvGPxcH9prC8mvgRcOxzqkb6H4eTqMImfOYE+S2dQIhALASry6lgiHQZOwuVdDAIREjAFK1PJ7PKSDyaUlG4CeM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1799494},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"cf1988fcdab3fd79a4c652d48a1aa0c129b6326d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-p4tDzbp+Gg6PsRheFzNXZtXJjE6GsYpiNLZPC5Nq5Rrvtowh5xJbs42lHKnWJp1WBKXmbrIht4SD082kP4J8cQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.7_1784192472021_0.3980831945988106","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.8","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"575142ac081a78409bbd3f66c4588e46394a1efc","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.8.tgz","fileCount":374,"integrity":"sha512-O/8CyRF0NVwVTMBOa7tpsH9YVQIVNyoCTGP+Jiutw358+eibITpRRKUWHEFY/tyXQQyasYVUJ5nJR4h6dejKHA==","signatures":[{"sig":"MEYCIQDwSiE5P6/WNY0BeMq80yT6Ncx/vxQ5FDOk3bXzeJtBoAIhALD4Y54+7cIlFY5QOWUKYkuQENdMc3S3jIYK+OEPt5s4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1868713},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"575142ac081a78409bbd3f66c4588e46394a1efc","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-O/8CyRF0NVwVTMBOa7tpsH9YVQIVNyoCTGP+Jiutw358+eibITpRRKUWHEFY/tyXQQyasYVUJ5nJR4h6dejKHA==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.8_1784198161122_0.6061212872821546","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.9","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"84d98530bf3d6729fb5103b9bf53d681c89f4fc2","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.9.tgz","fileCount":375,"integrity":"sha512-f/04ClZeHI7b470Sy4HMbwQszZjAT8lNtipvSKaAusAD9KWiukpHY+TnwC+xAKAYkvSyi51ppGgQXvUKgEz14Q==","signatures":[{"sig":"MEUCIQCQLJex5no5drJgMD1VvPHauI4umcsgEGvotMdtrxN7JwIgBzBI0Q7A13KukSOggoqlLDaC/9GhSdL/UoTVqTLee24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1883852},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"84d98530bf3d6729fb5103b9bf53d681c89f4fc2","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-f/04ClZeHI7b470Sy4HMbwQszZjAT8lNtipvSKaAusAD9KWiukpHY+TnwC+xAKAYkvSyi51ppGgQXvUKgEz14Q==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.9_1784231031880_0.40889584670009094","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.10","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"f37e200580cf5d9420211c23886f5d3471b835d5","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.10.tgz","fileCount":376,"integrity":"sha512-bidBEML44fsUl6RW/cEzmYYM7QrmJTn9OthXSbMU8vuoCdo7dL5Bn9iAjULVO6lgLrjSBEELWsVEig/V0oWhJQ==","signatures":[{"sig":"MEYCIQDveyenAicx4MITlg8W0vTXD8H4TRjxVd7QvY1ELtKMbQIhAM27r+qSQ+WDe5U2AlARMmHPoRoCUGyaII7MhPR3u6si","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1893824},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"f37e200580cf5d9420211c23886f5d3471b835d5","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"bunx --bun vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && bunx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-bidBEML44fsUl6RW/cEzmYYM7QrmJTn9OthXSbMU8vuoCdo7dL5Bn9iAjULVO6lgLrjSBEELWsVEig/V0oWhJQ==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.10_1784234506487_0.9494552802083613","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.11","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"7b831471c0729de7f79d460ed5753af5f51d4a8e","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.11.tgz","fileCount":377,"integrity":"sha512-ny6xZyVa6fKcDcI4a0n8+s110KDiM+DjgRSv3l3XOd7L82LSlE6/R51pc7bimvT9nkiviaDseOa26gbxpWZM5g==","signatures":[{"sig":"MEUCIQDsypbwjMZLUz4Q5XXiADWzhdWzmZtmAFR1pfwtN80xDgIgTFC/+yz3F22e4zCfkizhhKKn5BTBTiW1QvwxscgcH6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1909534},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7b831471c0729de7f79d460ed5753af5f51d4a8e","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ny6xZyVa6fKcDcI4a0n8+s110KDiM+DjgRSv3l3XOd7L82LSlE6/R51pc7bimvT9nkiviaDseOa26gbxpWZM5g==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.4","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.9","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.11_1787434639705_0.06784329055006788","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.12","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"0a3f277db989f2de9448cd544e10f4f4087e4c4a","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.12.tgz","fileCount":378,"integrity":"sha512-BHPEtqcnBp/ykn/UK0/8K7XAUaz+4YSrBa66vBPvGSI884X1JLH7RQj4VtIMCMcIfxFqzz4bmQuhlwGJS+qGTg==","signatures":[{"sig":"MEUCIQDlJMWwK6MZkb0Cq2F/YEnjVTovn1gBPFkSZEPwGGRl2QIgV0M8uUzReicjY1yca5kJG+QRw+mBEzZ6q1mPIBxVWtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1913823},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"0a3f277db989f2de9448cd544e10f4f4087e4c4a","engines":{"bun":">=1.4.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-BHPEtqcnBp/ykn/UK0/8K7XAUaz+4YSrBa66vBPvGSI884X1JLH7RQj4VtIMCMcIfxFqzz4bmQuhlwGJS+qGTg==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.1","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.4","@cyanheads/mcp-ts-core":"^0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.5.1","@biomejs/biome":"^2.5.13","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.12_1789324618938_0.8988695450456459","host":"s3://npm-registry-packages-npm-production"}},"0.7.13":{"name":"@cyanheads/brapi-mcp-server","version":"0.7.13","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/brapi-mcp-server@0.7.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"bin":{"brapi-mcp-server":"dist/index.js"},"dist":{"shasum":"9dca140ae6326f8c831d0187d6703c0fc0ec3780","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.7.13.tgz","fileCount":380,"integrity":"sha512-MIkurZj+QYDMBiMuvFw6opWvRobjwy7yzI1Hr2reE9ECQhp/Ks7EMWufXWj9n1kbK+3R0n4TljlaByvRAhSk4A==","signatures":[{"sig":"MEUCIDKUzoQMWFySj/15pF0PPmjwhfifucztCXPlPeX4wuamAiEAwhfjkY6OKQIsTDOS4taVuDZa+4+VWCTYxhCGxohly4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC6tpvCcAwrW9/4kR4LSSaDqqvr3IGAl6AGnx2dbetcfQIgAe7JEmKnWTbOrQa2c26K/QOPFQzbqJvfefb8OC6DHkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1970857},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9dca140ae6326f8c831d0187d6703c0fc0ec3780","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-MIkurZj+QYDMBiMuvFw6opWvRobjwy7yzI1Hr2reE9ECQhp/Ks7EMWufXWj9n1kbK+3R0n4TljlaByvRAhSk4A==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.5","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.5.1","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/brapi-mcp-server_0.7.13_1789835082513_0.2561606699680117","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"_id":"@cyanheads/brapi-mcp-server@0.8.0","bin":{"brapi-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"dist":{"shasum":"c57a4878e8ad2249f0ebf36f9a17567f5dda6990","tarball":"https://registry.npmjs.org/@cyanheads/brapi-mcp-server/-/brapi-mcp-server-0.8.0.tgz","fileCount":381,"integrity":"sha512-uQPI8uYK7RjT+9W/MWX6pXBemHU/3xvNkA9eiooRyvlIIontI9N09nHsTEJjSFaRChXFVlrMlowuWGZn/iBsUw==","signatures":[{"sig":"MEUCIHGmfcoFOILfknpEJzt08hOU740LB23j8Fbb79sxQl4OAiEA8WBeZxfxXdIAs8/pb10I977vFboAVhTnkfiWqEp9gLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCfa8/dZv696HtYZHFomOfQiYLB5wW8SLSHWOIYIu0gXwIgVYtLRBTzBfg3N+sMN+g0HtUxwyjvWjilJnOBExmGhEs="}],"unpackedSize":2009608},"main":"dist/index.js","name":"@cyanheads/brapi-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"c57a4878e8ad2249f0ebf36f9a17567f5dda6990","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/brapi-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/brapi-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/brapi-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"version":"0.8.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"_integrity":"sha512-uQPI8uYK7RjT+9W/MWX6pXBemHU/3xvNkA9eiooRyvlIIontI9N09nHsTEJjSFaRChXFVlrMlowuWGZn/iBsUw==","repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.5","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brapi-mcp-server_0.8.0_1790230790195_0.7711628870457561"}}},"time":{"created":"2026-04-30T01:47:15.152Z","modified":"2026-09-24T06:19:50.482Z","0.3.5":"2026-04-30T01:47:15.427Z","0.3.6":"2026-04-30T01:54:18.480Z","0.3.7":"2026-04-30T02:23:26.445Z","0.3.8":"2026-04-30T03:59:21.746Z","0.3.9":"2026-04-30T05:47:45.777Z","0.4.1":"2026-05-01T03:19:27.266Z","0.4.2":"2026-05-01T03:59:08.167Z","0.4.3":"2026-05-01T05:35:19.472Z","0.4.4":"2026-05-01T06:10:07.401Z","0.4.5":"2026-05-01T20:11:31.990Z","0.4.6":"2026-05-01T23:23:40.778Z","0.4.7":"2026-05-02T00:38:52.908Z","0.4.8":"2026-05-02T01:27:16.757Z","0.4.9":"2026-05-02T03:52:37.841Z","0.4.10":"2026-05-03T02:05:39.045Z","0.4.11":"2026-05-03T09:10:35.949Z","0.4.12":"2026-05-04T01:03:40.243Z","0.4.13":"2026-05-04T02:31:51.689Z","0.4.14":"2026-05-05T06:56:07.562Z","0.5.0":"2026-05-05T12:48:27.112Z","0.5.1":"2026-05-05T13:47:46.818Z","0.5.2":"2026-05-06T00:49:58.068Z","0.5.3":"2026-05-06T03:46:57.940Z","0.5.4":"2026-05-08T23:49:41.506Z","0.5.5":"2026-05-16T17:31:23.339Z","0.6.0":"2026-05-22T08:28:10.003Z","0.6.1":"2026-05-22T19:29:19.993Z","0.6.2":"2026-05-23T12:27:26.154Z","0.6.3":"2026-05-29T04:50:32.290Z","0.6.4":"2026-05-30T09:41:10.684Z","0.7.0":"2026-06-02T04:55:10.627Z","0.7.1":"2026-06-02T06:49:17.585Z","0.7.2":"2026-06-02T13:58:40.402Z","0.7.3":"2026-06-08T12:44:22.210Z","0.7.4":"2026-06-12T07:33:52.021Z","0.7.5":"2026-06-18T12:36:23.715Z","0.7.6":"2026-06-20T10:39:44.389Z","0.7.7":"2026-07-16T09:01:12.211Z","0.7.8":"2026-07-16T10:36:01.319Z","0.7.9":"2026-07-16T19:43:52.039Z","0.7.10":"2026-07-16T20:41:46.632Z","0.7.11":"2026-08-22T21:37:19.873Z","0.7.12":"2026-09-13T18:36:59.077Z","0.7.13":"2026-09-19T16:24:42.621Z","0.8.0":"2026-09-24T06:19:50.318Z"},"bugs":{"url":"https://github.com/cyanheads/brapi-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/brapi-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","claude","bun","stdio","streamable-http","brapi","breedbase","plant-breeding","bioinformatics","agriculture","phenotyping","genotyping","germplasm","pedigree","observations","llm-tools","typescript"],"repository":{"url":"git+https://github.com/cyanheads/brapi-mcp-server.git","type":"git"},"description":"A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/brapi-mcp-server</h1>\n  <p><b>A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server.</b>\n  <div>25 Tools • 6 Resources • 2 Prompts</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.8.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/cyanheads/brapi-mcp-server/pkgs/container/brapi-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/brapi-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/) [![Status](https://img.shields.io/badge/Status-Beta-yellow.svg?style=flat-square)](./CHANGELOG.md)\n\n</div>\n\n<div align=\"center\">\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/brapi-mcp-server/releases/latest/download/brapi-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=brapi-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvYnJhcGktbWNwLXNlcnZlciJdfQ==) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22brapi-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads/brapi-mcp-server%22%5D%7D)\n\n[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)\n\n</div>\n\n<div align=\"center\">\n\n**Public Hosted Server:** [https://brapi.caseyjhand.com/mcp](https://brapi.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nPlant-breeding data from any BrAPI (Breeding API) v2 server, including Breedbase instances such as Cassavabase and Sweetpotatobase and the Triticeae Toolbox (T3), with several servers connected at once under named aliases. Search studies, germplasm, observations, genotype calls, images, locations, and variants, walk pedigrees, and build phenotype and genotype matrices; results past the per-call cap spill into a DuckDB dataframe workspace that agents in the same session query with SQL. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.\n\n### Tools\n\n| Tool | Description |\n|:---|:---|\n| `brapi_connect` | Authenticate to a BrAPI v2 server, register it under an alias, and return the orientation envelope |\n| `brapi_server_info` | Re-fetch the orientation envelope for a registered alias, optionally refreshing capabilities |\n| `brapi_describe_filters` | List valid filter names for an endpoint, for use in any finder's `extraFilters` |\n| `brapi_find_studies` | Find studies by crop, trial type, season, location, or program |\n| `brapi_get_study` | Fetch a study with program, trial, and location resolved, plus companion counts |\n| `brapi_find_germplasm` | Find germplasm by name, synonym, accession, PUI, crop, or free text |\n| `brapi_get_germplasm` | Fetch a germplasm with attributes, direct parents, and companion counts |\n| `brapi_walk_pedigree` | Walk ancestry or descendancy as a deduplicated DAG with cycle detection |\n| `brapi_find_variables` | Find observation variables by name, trait class, or ontology term, with free-text ranking |\n| `brapi_find_observations` | Pull observation records by study, germplasm, variable, season, or unit |\n| `brapi_find_images` | Find image metadata by unit, observation, study, ontology term, or MIME type |\n| `brapi_get_image` | Fetch up to 5 images inline as image content blocks |\n| `brapi_find_locations` | Find research stations by country, type, abbreviation, or bounding box |\n| `brapi_find_variants` | Find variants by variant set, reference, or genomic region |\n| `brapi_find_genotype_calls` | Pull genotype calls through async search, bounded by a deployment pull ceiling |\n| `brapi_dataframe_describe` | List dataframes, or describe one with columns, row count, and provenance |\n| `brapi_dataframe_query` | Run read-only SQL across dataframes |\n| `brapi_dataframe_drop` | _Opt-in._ Drop a dataframe by name |\n| `brapi_dataframe_export` | _Opt-in, stdio-only._ Export a dataframe to disk as CSV, Parquet, or JSON |\n| `brapi_build_phenotype_matrix` | Build a germplasm × trait matrix from one or more studies as a dataframe |\n| `brapi_germplasm_performance` | Per-variable aggregates (n, mean, median, sd, min, max) for one germplasm across its studies |\n| `brapi_export_genotype_matrix` | Pivot a variant set's calls into a germplasm × variant matrix, with VCF-lite or PLINK text |\n| `brapi_submit_observations` | _Opt-in._ Two-phase observation write: `preview` validates, `apply` confirms and writes |\n| `brapi_raw_get` | Passthrough to any `GET /{path}` endpoint no curated tool covers |\n| `brapi_raw_search` | Passthrough to any `POST /search/{noun}` endpoint, with async polling handled |\n\n### Resources\n\n| Resource | Description |\n|:---|:---|\n| `brapi://server/info` | Orientation envelope for the default connection |\n| `brapi://calls` | Raw capability profile (`/serverinfo` + `/calls`) for the default connection |\n| `brapi://study/{studyDbId}` | One study with program, trial, and location resolved |\n| `brapi://germplasm/{germplasmDbId}` | One germplasm with attributes and parents |\n| `brapi://filters/{endpoint}` | Filter catalog for one endpoint |\n| `brapi://variable/{observationVariableDbId}` | One observation variable (trait, scale, method, ontology) |\n\nEvery resource reads the `default` connection and mirrors a tool; tool-only clients and multi-server workflows use the tools.\n\n### Prompts\n\n| Prompt | Description |\n|:---|:---|\n| `brapi_eda_study` | Exploratory-data-analysis playbook for one study, ending in a structured report |\n| `brapi_meta_analysis` | Cross-study meta-analysis playbook for a germplasm × trait combination |\n\n## Capability reference\n\n### `brapi_connect` <sub>tool</sub>\n\n- `baseUrl` and `auth` are optional: omitted values come from `BRAPI_<ALIAS>_*` env vars, the built-in aliases, then `BRAPI_DEFAULT_*` (see [Per-alias credentials](#per-alias-credentials)); `alias` (default `default`, pattern `^[a-zA-Z0-9_-]+$`) keeps several servers registered at once; `auth.mode` is `none`, `bearer`, `api_key`, `sgn` (Breedbase `/token` exchange), or `oauth2` (client credentials)\n- Returns the orientation envelope: `server` identity, `auth` summary, `capabilities` (`supported`, `notableGaps`), active `dialect`, `content` counts, `attribution` for built-in servers, and `nextToolSuggestions` naming the entry-point finders this server can serve\n- Typed errors: `auth_session_required`, `auth_base_url_mismatch`, `alias_base_url_unset`, `auth_token_exchange_failed`, `auth_no_access_token`, `upstream_unauthorized`, `upstream_forbidden`; a failed connect leaves any earlier registration under the alias intact\n\n---\n\n### `brapi_server_info` <sub>tool</sub>\n\n- `alias` optional; `forceRefresh` (default `false`) refetches the capability profile instead of reading the cache\n- Returns the same orientation envelope as `brapi_connect`\n\n---\n\n### `brapi_describe_filters` <sub>tool</sub>\n\n- `endpoint` is one of `studies`, `germplasm`, `observations`, `variables`, `images`, `variants`, `locations`; `unknown_endpoint` carries `availableEndpoints`\n- Each filter has `name`, `type`, `description`, and `example`; the catalog follows the v2.1 spec, and individual servers may honor a subset\n\n---\n\n### `brapi_find_studies` <sub>tool</sub>\n\n- Filters: `crop`, `trialTypes`, `seasons`, `locations`, `programs`, `trials`, `studyNames`, `active`\n- `distributions` over `programName`, `studyType`, `seasons`, `locationName`, `commonCropName`\n\n---\n\n### `brapi_get_study` <sub>tool</sub>\n\n- `studyDbId` required; resolves `program`, `trial`, and `location` inline; `study_not_found` when the upstream has no such study\n- Companion counts `observationCount`, `observationUnitCount`, `variableCount`; a count the server can't scope to the study is omitted with a warning, never reported as the server-wide total\n\n---\n\n### `brapi_find_germplasm` <sub>tool</sub>\n\n- Filters: `names`, `germplasmDbIds`, `germplasmPUIs`, `accessionNumbers`, `crops`, `synonyms`, `collections`, `genus`, `species`; `text` is a client-side substring match on name, accession, display name, and synonyms that drops non-matching rows, so pair it with a server-side filter\n- `distributions` over `commonCropName`, `genus`, `species`, `collection`, `countryOfOriginCode`\n\n---\n\n### `brapi_get_germplasm` <sub>tool</sub>\n\n- `germplasmDbId` required; returns `attributes` and direct `parents`; `germplasm_not_found` when the upstream has no such germplasm\n- Companion counts `studyCount`, `directParentCount`, `directDescendantCount`\n\n---\n\n### `brapi_walk_pedigree` <sub>tool</sub>\n\n- 1–20 root `germplasmDbIds`; `direction` is `ancestors` (default), `descendants`, or `both`; `maxDepth` 1–10 (default 3); the walk stops at 1,000 nodes and sets `truncated`\n- Deduplicated `nodes` and `edges` with `depthReached`, `rootCount`, `leafCount`, `cycleCount`, `deadEndCount`; past `loadLimit`, both sets spill to `nodesDataframe` and `edgesDataframe`\n\n---\n\n### `brapi_find_variables` <sub>tool</sub>\n\n- Filters: `variables`, `variableNames`, `variablePUIs`, `traitClasses`, `ontologies`, `studies`, `methods`, `scales`, `crop`\n- `text` ranks the full result set and moves matches to the top without dropping the rest; `ontologyCandidates` lists the ranked matches, each with `source` (`puiMatch`, `nameMatch`, `synonymMatch`, `traitClassMatch`)\n- `distributions` over `ontologyDbId`, `traitClass`, `scaleName`\n\n---\n\n### `brapi_find_observations` <sub>tool</sub>\n\n- Filters: `studies`, `germplasm`, `variables`, `observationUnits`, `observations`, `seasons`, `programs`, `trials`, `observationLevels`, `timestampFrom` / `timestampTo`\n- `distributions` over `observationVariableName`, `studyName`, `germplasmName`, `observationLevel`, `season`\n\n---\n\n### `brapi_find_images` <sub>tool</sub>\n\n- Filters: `images`, `observationUnits`, `observations`, `studies`, `imageFileNames`, `mimeTypes`, `descriptiveOntologyTerms`; returns metadata only, with bytes via `brapi_get_image`\n- `distributions` over `mimeType`, `studyName`, `observationUnitName`, `descriptiveOntologyTerms`\n\n---\n\n### `brapi_get_image` <sub>tool</sub>\n\n- 1–5 `imageDbIds` per call, up to 20 MB each; `images_unsupported` when the server doesn't advertise `/images`\n- Each image's `source` is `imagecontent` or the `imageURL` fallback; failed fetches land in per-image `errors[]` and suspect payloads (a non-image MIME type) in `warnings[]`, so a partial batch still returns\n\n---\n\n### `brapi_find_locations` <sub>tool</sub>\n\n- Filters: `locations`, `locationNames`, `countryCodes` (ISO 3166-1 alpha-3), `countryNames` (English names resolved to alpha-3), `locationTypes`, `abbreviations`; optional `bbox` needs all four of `minLat`, `maxLat`, `minLon`, `maxLon` and applies after the fetch\n- `distributions` over `countryCode`, `locationType`; `coordinateAxisOrder: \"swapped\"` reports a server that stores coordinates as `[lat, lon]`\n\n---\n\n### `brapi_find_variants` <sub>tool</sub>\n\n- Filters: `variantSets`, `variants`, `references`, and a genomic region of `referenceName` + `start` (inclusive) / `end` (exclusive), 1-based\n- `distributions` over `variantType`, `referenceName`, `variantSetDbId`\n\n---\n\n### `brapi_find_genotype_calls` <sub>tool</sub>\n\n- Needs at least one of `variantSetDbId`, `variantSetDbIds`, `germplasmDbIds`, `callSetDbIds`, `variantDbIds` (`no_filters` otherwise); optional `callFormat` (`VCF`, `FLAPJACK`, `DARTSEQ`, `JSON`)\n- `distributions` over `callSetName`, `variantName`, `variantSetDbId`, plus the server's `callFormatting`; `search_endpoint_disabled` when the active dialect marks `POST /search/calls` as dead\n- The upstream pull stops at `BRAPI_GENOTYPE_CALLS_MAX_PULL` (default 100,000) and sets `truncated`; `loadLimit` bounds only the inline preview\n\n---\n\n### `brapi_dataframe_describe` <sub>tool</sub>\n\n- `dataframe` optional: omit to list every dataframe, or name one for columns, row count, and provenance (originating tool, `baseUrl`, query, expiry), which only auto-registered `df_*` tables carry\n- Listing without a name fails with `list_all_disabled_on_shared_http` on an HTTP deployment where every caller shares the `default` tenant\n\n---\n\n### `brapi_dataframe_query` <sub>tool</sub>\n\n- `sql` is a single `SELECT`; writes, DDL, `COPY`, `PRAGMA`, `ATTACH`, file reads, and system-catalog reads fail as `sql_rejected`, with the specific reason in `data.gateReason`\n- Returns `rowCount`, typed `columns`, and `rows` bounded by `preview` (≤1,000), `rowLimit`, and `BRAPI_CANVAS_MAX_ROWS`; `truncated`, `shown`, `cap`, and `notice` disclose the cut\n- `registerAs` (identifier, ≤63 characters) saves the full result as a new dataframe for chaining\n\n---\n\n### `brapi_dataframe_drop` <sub>tool</sub>\n\n- `dataframe` required; returns `dropped: false`, not an error, for an unknown name\n- Registered only when `BRAPI_CANVAS_DROP_ENABLED=true`\n\n---\n\n### `brapi_dataframe_export` <sub>tool</sub>\n\n- `format` is `csv`, `parquet`, or `json`; optional `columns` or `sql` (mutually exclusive) and `filename` (no path separators or `..`; omit for a timestamp-suffixed default); returns the absolute `path`, `sizeBytes`, and `rowCount`\n- Typed errors: `export_dir_unset`, `dataframe_not_found`, `invalid_filename`, `mutually_exclusive_projection`\n- Registered only over stdio with `BRAPI_EXPORT_DIR` set\n\n---\n\n### `brapi_build_phenotype_matrix` <sub>tool</sub>\n\n- `studies` required (≥1), optional `variables` / `germplasm` subsets; `shape` `wide` (default) or `long`; `aggregate` `mean` (default), `median`, `first`, or `all` (always long form); `loadLimit` caps observations per study\n- Returns the matrix as a dataframe plus `observationCount`, `germplasmCount`, `variableCount`, and `variableLegend` mapping SQL-safe column names to variable names; `truncated` / `cap` flag a study that hit `loadLimit`; `no_observation_path` when neither `/observations` nor `/observationunits` returns data\n\n---\n\n### `brapi_germplasm_performance` <sub>tool</sub>\n\n- `germplasmDbId` required; discovers its studies (up to 200) unless `studyDbIds` is supplied; optional `variables` subset; `germplasm_not_found` when the upstream has no such germplasm\n- `perVariable` rows carry `n`, `mean`, `median`, `sd` (omitted when n < 2 or non-numeric), `min`, `max`, `studyCount`, `studyDbIds`, and `seasons`\n\n---\n\n### `brapi_export_genotype_matrix` <sub>tool</sub>\n\n- `variantSetDbId` required (`no_filters` otherwise), optional `germplasmDbIds`; `format` is `matrix-json`, `vcf-lite` (adds `vcf` text), or `plink` (adds `ped` / `map` text), and every format registers the germplasm × variant dataframe\n- `variantColumnLegend` maps SQL-safe column names back to variant IDs; `search_endpoint_disabled` when the active dialect marks `POST /search/calls` as dead\n- `maxCalls` / `maxColumns` can lower `BRAPI_GENOTYPE_CALLS_MAX_PULL` / `BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS` but never raise them; `truncated` means a ceiling fired, and `warnings` names which\n\n---\n\n### `brapi_submit_observations` <sub>tool</sub>\n\n- `studyDbId` plus 1–5,000 `observations`; a row with `observationDbId` updates via `PUT`, one without creates via `POST`, and nothing is deleted\n- `mode: \"preview\"` (default) returns `valid`, `invalid`, `routing` counts, and `perRowWarnings` without writing; `mode: \"apply\"` asks the caller to confirm (`force: true` skips it), writes, and returns `posted`, `updated`, and `studyObservationCount`; failures are `observations_unsupported`, `study_not_found`, `post_unsupported`, `put_unsupported`, and `user_declined`\n- Registered only when `BRAPI_ENABLE_WRITES=true`; requires the `brapi:write:observations` scope\n\n---\n\n### `brapi_raw_get` <sub>tool</sub>\n\n- `path` is a relative route such as `/samples` (a full URL fails as `cross_origin_path`); optional `params` and `loadLimit`\n- Returns the raw envelope (`url`, `metadata`, `result`) plus a `suggestion` when a curated tool covers the endpoint; list results past `loadLimit` spill to a dataframe unless `params.page` / `params.pageSize` drive paging\n\n---\n\n### `brapi_raw_search` <sub>tool</sub>\n\n- `noun` (e.g. `observations`, `calls`, `germplasm`) and a `body` posted verbatim to `POST /search/{noun}`; async searches are polled to completion\n- Returns `kind` (`sync` or `async`), `searchResultsDbId`, `result`, and a `suggestion`; spills like `brapi_raw_get` unless `body.page` / `body.pageSize` is set; `search_endpoint_disabled` when the active dialect marks the route as dead\n\n---\n\n### `brapi://server/info` <sub>resource</sub>\n\n- Orientation envelope for the `default` connection as `application/json`\n- Same payload as `brapi_server_info` called with no arguments\n\n---\n\n### `brapi://calls` <sub>resource</sub>\n\n- Capability profile for the `default` connection: supported services with their HTTP methods and versions, plus crops\n- Reflects what `/serverinfo` + `/calls` returned at the last load\n\n---\n\n### `brapi://study/{studyDbId}` <sub>resource</sub>\n\n- Same payload as `brapi_get_study` on the `default` connection\n- `study_not_found` when the upstream has no such study\n\n---\n\n### `brapi://germplasm/{germplasmDbId}` <sub>resource</sub>\n\n- Same payload as `brapi_get_germplasm` on the `default` connection\n- `germplasm_not_found` when the upstream has no such germplasm\n\n---\n\n### `brapi://filters/{endpoint}` <sub>resource</sub>\n\n- Same payload as `brapi_describe_filters`; `unknown_endpoint` for an endpoint outside the catalog\n- Listing `brapi://filters` returns one resource per endpoint\n\n---\n\n### `brapi://variable/{observationVariableDbId}` <sub>resource</sub>\n\n- The `/variables/{id}` record (trait, scale, method, ontology) on the `default` connection\n- `variable_not_found` when the upstream has no such variable\n\n---\n\n### `brapi_eda_study` <sub>prompt</sub>\n\n- Arguments: `studyDbId` required; `alias` optional\n- Returns one user message: a six-step playbook (orient, variables, coverage, missing data, IQR outliers, optional pedigree walk) ending in a markdown report with recommended next steps\n\n---\n\n### `brapi_meta_analysis` <sub>prompt</sub>\n\n- Arguments: `germplasmDbIds` (comma-separated) and `traitName` required; `alias` optional, run once per alias for multi-server analyses\n- Returns one user message: a seven-step playbook (resolve the trait, discover studies, build the observation table, harmonize scales, summarize per study and across studies, optional pedigree walk) ending in a report that cites every dataframe handle or filter map used\n\n## Features\n\nBuilt on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio and Streamable HTTP transports, pluggable auth (`none` / `jwt` / `oauth`), swappable storage (`in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`), structured logging with optional OpenTelemetry tracing.\n\nBrAPI-specific:\n\n- Shared finder contract: the seven filter finders (studies, germplasm, variables, observations, images, locations, variants) take `alias`, `loadLimit`, and `extraFilters` (keys from `brapi_describe_filters`), and return `results`, `hasMore`, `distributions`, and an optional `dataframe` handle\n- Dataframe spillover: past `loadLimit`, finders page the rest of the result (up to 50 pages and 50,000 rows) into a DuckDB `df_<uuid>` table and return its handle\n- Dialect adapters (`spec`, `brapi-test`, `breedbase`, `cassavabase`, `bms`), detected per connection, translate v2.1 plural filters into the form each server family honors, drop filters it ignores, and switch to `POST /search/{noun}` when a `GET` would narrow a multi-value filter; `BRAPI_<ALIAS>_DIALECT` pins one\n- Several connections at once under named aliases, with three public Breedbase servers built in and credentials resolved per alias from env vars, so they stay out of the LLM context\n- Capability-aware calls: each connection's `/serverinfo` + `/calls` profile is cached and checked before a tool calls an endpoint; a per-connection concurrency cap and exponential-backoff retries cover 429/5xx\n\nAgent-friendly output:\n\n- Typed failures: every connection-scoped tool and resource fails with `unknown_alias` until `brapi_connect` registers the alias, and a filter finder or `brapi_build_phenotype_matrix` fails with `all_filters_dropped` instead of widening to an unfiltered pull when the dialect drops every filter supplied\n- Query echo on every finder: `totalCount`, `returnedCount`, the exact `appliedFilters` sent upstream, a `refinementHint` on broad results, an empty-result `notice`, and `warnings`\n- Graceful partial failure: `brapi_get_image` returns per-image `errors[]` and `warnings[]` rows instead of failing the batch\n- Discriminated outputs: `brapi_submit_observations` returns a `mode`-discriminated result (`preview` / `apply`), `brapi_raw_search` reports `kind`, and `brapi_get_image` reports each image's `source`\n\n### Working with dataframes\n\nWhen a finder's upstream total exceeds `loadLimit`, the response carries a `dataframe` handle: `tableName`, `rowCount`, `columns`, `createdAt`, `expiresAt`, plus `truncated`, `maxRows`, and `totalCount` when a cap fired. Columns renamed to pass the SQL identifier check map back to their upstream keys in `columnLegend`.\n\n```text\n1. brapi_find_observations { studies: [\"s-422\"] }\n   → first-page rows inline + dataframe.tableName = \"df_<uuid>\" (when totalCount > loadLimit)\n2. brapi_dataframe_describe { dataframe: \"df_<uuid>\" }\n   → schema + provenance (originating tool, baseUrl, query, expiry)\n3. brapi_dataframe_query { sql: \"SELECT germplasmName, value FROM df_<uuid> WHERE observationVariableDbId = 'V1' LIMIT 100\" }\n   → typed columns + bounded rows\n```\n\nDataframe names are capability tokens, not row-level ACLs: anyone holding a name in the same session or tenant bucket (see [Deployment shapes](#deployment-shapes)) can read its rows. Provenance lasts `BRAPI_DATASET_TTL_SECONDS` (default 24h); set `BRAPI_CANVAS_DROP_ENABLED=true` to expose `brapi_dataframe_drop` for explicit cleanup.\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://brapi.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"brapi-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://brapi.caseyjhand.com/mcp\"\n    }\n  }\n}\n```\n\n### Self-Hosted / Local\n\nAdd the following to your MCP client configuration file.\n\n```json\n{\n  \"mcpServers\": {\n    \"brapi-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/brapi-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"brapi-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/brapi-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"brapi-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\"run\", \"-i\", \"--rm\", \"-e\", \"MCP_TRANSPORT_TYPE=stdio\", \"ghcr.io/cyanheads/brapi-mcp-server:latest\"]\n    }\n  }\n}\n```\n\nFor Streamable HTTP, set the transport and start the server:\n\n```sh\nMCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\nNo env vars are required: the built-in aliases (`bti-cassava`, `bti-sweetpotato`, `bti-breedbase-demo`) connect as-is, and `brapi_connect` accepts any other BrAPI v2 URL at runtime. For servers that need a login, set credentials as env vars so passwords, tokens, and keys stay out of the LLM context (see [Per-alias credentials](#per-alias-credentials)).\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- [`@duckdb/node-api`](https://www.npmjs.com/package/@duckdb/node-api), installed as a regular dependency, with prebuilt native bindings for macOS, Linux (glibc and musl), and Windows on x64 and arm64. Cloudflare Workers is not supported.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/brapi-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd brapi-mcp-server\n```\n\n3. **Install dependencies:**\n\n```sh\nbun install\n```\n\n4. **Configure environment:**\n\n```sh\ncp .env.example .env\n# edit .env if you need credentials or non-default settings\n```\n\n## Configuration\n\nEvery variable is optional.\n\n| Variable | Description | Default |\n|:---------|:------------|:--------|\n| `BRAPI_DEFAULT_BASE_URL` | Base URL for the `default` alias (e.g. `https://test-server.brapi.org/brapi/v2`). | — |\n| `BRAPI_DEFAULT_*` credentials | One credential family for the `default` alias; see [Per-alias credentials](#per-alias-credentials). | — |\n| `BRAPI_DEFAULT_API_KEY_HEADER` | API-key header for the `default` alias, and the fallback header for any `api_key` auth that names none. | `Authorization` |\n| `BRAPI_BUILTIN_ALIASES_DISABLED` | Comma-separated built-in aliases to remove (case-insensitive). | — |\n| `BRAPI_LOAD_LIMIT` | Default inline row cap for finders before spilling to a dataframe. | `1000` |\n| `BRAPI_PAGE_SIZE` | Upstream `pageSize` for spillover page walks. The dataframe ceiling is `pageSize × 50`, capped at 50,000 rows. | `1000` |\n| `BRAPI_MAX_CONCURRENT_REQUESTS` | Per-connection concurrency cap. | `4` |\n| `BRAPI_RETRY_MAX_ATTEMPTS` / `BRAPI_RETRY_BASE_DELAY_MS` | Retries on 429/5xx and the exponential-backoff base delay. | `3` / `500` |\n| `BRAPI_REQUEST_TIMEOUT_MS` | Per-request HTTP timeout. | `30000` |\n| `BRAPI_COMPANION_TIMEOUT_MS` | Timeout for non-critical enrichment calls (FK lookups, count probes), which also skip retries. | `8000` |\n| `BRAPI_SEARCH_POLL_TIMEOUT_MS` / `BRAPI_SEARCH_POLL_INTERVAL_MS` | Async `/search` polling budget and interval. | `60000` / `1000` |\n| `BRAPI_DATASET_TTL_SECONDS` | Lifetime of dataframe provenance (the handle's `expiresAt`). | `86400` |\n| `BRAPI_REFERENCE_CACHE_TTL_SECONDS` | TTL for cached capability profiles and reference data (programs, trials, locations, crops). | `3600` |\n| `BRAPI_ALLOW_PRIVATE_IPS` | Allow RFC 1918 / loopback targets. Dev only. | `false` |\n| `BRAPI_SESSION_ISOLATION` | Scope connections and the default canvas to the MCP session when one exists; `false` shares them across the tenant. See [Deployment shapes](#deployment-shapes). | `true` |\n| `BRAPI_ENABLE_WRITES` | **Feature flag.** Registers `brapi_submit_observations`. | `false` |\n| `BRAPI_CANVAS_DROP_ENABLED` | **Feature flag.** Registers `brapi_dataframe_drop`. | `false` |\n| `BRAPI_EXPORT_DIR` | **Feature flag.** Output directory for `brapi_dataframe_export`; setting it registers the tool, over stdio only. | — |\n| `BRAPI_CANVAS_MAX_ROWS` / `BRAPI_CANVAS_QUERY_TIMEOUT_MS` | Response row cap and per-query timeout for `brapi_dataframe_query`. | `10000` / `30000` |\n| `BRAPI_GENOTYPE_CALLS_MAX_PULL` | Upstream call ceiling per `brapi_find_genotype_calls` or `brapi_export_genotype_matrix` call. Max `500000`. | `100000` |\n| `BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS` | Variant-column ceiling per `brapi_export_genotype_matrix` matrix. Max `500000`. | `10000` |\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |\n| `MCP_HTTP_PORT` | HTTP server port. | `3010` |\n| `MCP_SESSION_MODE` | HTTP session mode. This server requires `stateful` (apply-mode writes confirm over the session, and isolation keys off it); an HTTP start fails if it resolves to `stateless`. | `stateful` |\n| `MCP_AUTH_MODE` | Authentication: `none`, `jwt`, or `oauth`. | `none` |\n| `MCP_LOG_LEVEL` | Log level (`debug`, `info`, `warning`, `error`, etc.). | `info` |\n| `STORAGE_PROVIDER_TYPE` | Storage backend: `in-memory`, `filesystem`, `supabase`, `cloudflare-kv/r2/d1`. | `in-memory` |\n| `OTEL_ENABLED` | Enable [OpenTelemetry](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry). | `false` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n### Per-alias credentials\n\n`brapi_connect` fills `baseUrl` and `auth` from env vars when the agent omits them, in this order:\n\n1. **Agent input**, within the pairing rules below.\n2. **Per-alias env vars**: `BRAPI_<ALIAS>_*`, uppercased with hyphens as underscores (`my-server` → `BRAPI_MY_SERVER_*`).\n3. **Built-in aliases**: see [Built-in aliases](#built-in-aliases).\n4. **`BRAPI_DEFAULT_BASE_URL`**, for an alias with no URL or credentials of its own.\n\nEnv credentials go only to the server configured with them:\n\n- An alias's credentials pair with its `BRAPI_<ALIAS>_BASE_URL`, else its enabled built-in URL. A caller `baseUrl` that points elsewhere fails with `auth_base_url_mismatch`. Credentials with no URL of their own, including those left behind by a built-in disabled via `BRAPI_BUILTIN_ALIASES_DISABLED`, fail with `alias_base_url_unset` and are never sent to `BRAPI_DEFAULT_BASE_URL`.\n- `BRAPI_DEFAULT_*` credentials attach only when the resolved URL is `BRAPI_DEFAULT_BASE_URL`; an alias pointed anywhere else connects without auth unless it has credentials of its own. With no `BRAPI_DEFAULT_BASE_URL` set, default credentials fail with `alias_base_url_unset`.\n\nURLs compare after normalizing host case, default ports, and trailing slashes. Caller-supplied `auth` is never mixed with env credentials.\n\nEach alias carries one credential family, and the auth mode follows from which fields are set. Mixing families within an alias raises a `ValidationError`.\n\n| Vars set | Resolved `mode` |\n|:---------|:----------------|\n| `_USERNAME` + `_PASSWORD` | `sgn` (Breedbase `/token` exchange) |\n| `_BEARER_TOKEN` | `bearer` |\n| `_API_KEY` (+ optional `_API_KEY_HEADER`) | `api_key` |\n| `_OAUTH_CLIENT_ID` + `_OAUTH_CLIENT_SECRET` (+ optional `_OAUTH_TOKEN_URL`) | `oauth2` |\n| _(none set)_ | `none` |\n\n`BRAPI_<ALIAS>_DIALECT` pins the dialect adapter (`spec`, `brapi-test`, `breedbase`, `cassavabase`, `bms`) when detection picks the wrong one; `auto` or unset detects it.\n\n```sh\n# .env — attach write credentials to the built-in 'bti-cassava' alias\nBRAPI_BTI_CASSAVA_USERNAME=alice\nBRAPI_BTI_CASSAVA_PASSWORD=...\n# (BASE_URL omitted — the built-in registry covers it)\n\n# Static API key as alias 'prod'\nBRAPI_PROD_BASE_URL=https://my-brapi.example.com/brapi/v2\nBRAPI_PROD_API_KEY=...\nBRAPI_PROD_API_KEY_HEADER=X-API-Key\n```\n\nThe agent then calls `brapi_connect({ alias: 'bti-cassava' })` with no `baseUrl`, no `auth`, and no secrets in the prompt.\n\n### Built-in aliases\n\nThese public BrAPI v2 endpoints connect with no configuration. Their orientation envelope carries license, citation, and homepage in an `attribution` block ([Creative Commons Attribution](https://creativecommons.org/licenses/by/4.0/)).\n\n| Alias | Upstream | Hosted by | Crop | Notes |\n|:------|:---------|:----------|:-----|:------|\n| `bti-cassava` | [cassavabase.org](https://cassavabase.org/) | Boyce Thompson Institute | Cassava | NextGen Cassava |\n| `bti-sweetpotato` | [sweetpotatobase.org](https://sweetpotatobase.org/) | Boyce Thompson Institute | Sweet potato | |\n| `bti-breedbase-demo` | [breedbase.org](https://breedbase.org/) | Boyce Thompson Institute | _Demo_ | Sample data only, for onboarding and tests |\n\nThe registry holds only servers verified for anonymous reads. Servers that require login, including the Triticeae Toolbox (T3) wheat, oat, and barley hosts, connect through `BRAPI_<ALIAS>_BASE_URL` plus credentials (see [`.env.example`](./.env.example)).\n\n`BRAPI_<ALIAS>_BASE_URL` overrides a built-in URL, e.g. to point `bti-sweetpotato` at a staging mirror via `BRAPI_BTI_SWEETPOTATO_BASE_URL`. `BRAPI_<ALIAS>_USERNAME` and friends attach credentials on top of the built-in URL; each Breedbase instance has its own user table, so write access needs a separate account on each. `BRAPI_BUILTIN_ALIASES_DISABLED=bti-cassava,bti-breedbase-demo` removes entries.\n\n**Citation:** all three built-ins reference Morales et al. 2022, _\"Breedbase: a digital ecosystem for modern plant breeding.\"_ G3 12(7): jkac078. [doi:10.1093/g3journal/jkac078](https://doi.org/10.1093/g3journal/jkac078).\n\n## Running the server\n\n### Local development\n\n- **Build and run the production version**:\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start            # transport from MCP_TRANSPORT_TYPE (stdio default)\n  bun run start:stdio\n  bun run start:http\n\n  # Or run from source with hot reload\n  bun --watch src/index.ts\n  ```\n\n- **Run checks and tests**:\n\n  ```sh\n  bun run devcheck         # Lint, format, typecheck, security, changelog sync\n  bun run test             # Vitest suite\n  bun run lint:mcp         # Validate MCP definitions\n  ```\n\n### Docker\n\n```sh\ndocker build -t brapi-mcp-server .\ndocker run --rm -p 3010:3010 brapi-mcp-server\n```\n\nThe image defaults to HTTP transport, `stateful` session mode, and logs to `/var/log/brapi-mcp-server`. OpenTelemetry peer dependencies are installed by default; build with `--build-arg OTEL_ENABLED=false` to omit them.\n\n### Deployment shapes\n\nTwo kinds of state scope by tenant and, by default, by MCP session: **connection state** (registered aliases and exchanged upstream tokens) and **dataframes** (`df_<uuid>` tables, usable by anyone who holds the name within its bucket). Three configurations set where those buckets end:\n\n| Shape | Settings | Isolation | Best for |\n|:------|:---------|:----------|:---------|\n| **Per-session (default)** | `MCP_AUTH_MODE=none` + HTTP stateful + `BRAPI_SESSION_ISOLATION=true` | Each MCP session gets its own connections and canvas. Requests without a session share one tenant-wide namespace, so `brapi_connect` refuses their caller-supplied `auth` with `auth_session_required`; keyless connections and operator env credentials still work. | Multi-user hosting without SSO |\n| **Per-user credentials** | `MCP_AUTH_MODE=jwt` or `oauth` (+ HTTP stateful) | Each user's JWT `tid` claim is its own tenant; sessions sub-scope inside it when isolation is on. | Multi-user hosting with institutional SSO; the strongest separation |\n| **Shared workspace** | `MCP_AUTH_MODE=none` + `BRAPI_SESSION_ISOLATION=false` | All callers share one tenant's connections and canvas. | One researcher running parallel agents on shared upstream credentials |\n\nStdio is always a single session. Clients on MCP protocol revision 2026-07-28 carry no session on any transport, so outside the per-user-credentials shape they land in the shared tenant workspace, where re-registering an alias re-points every such caller's later calls to it.\n\nOn HTTP without per-user auth, `brapi_dataframe_describe` won't list dataframes without a name, and `brapi_dataframe_query` rejects system-catalog reads in every shape, so a caller without a known `df_<uuid>` name can't enumerate other callers' tables.\n\n## Project structure\n\n| Directory | Purpose |\n|:----------|:--------|\n| `src/index.ts` | `createApp()` entry point: registers tools (behind their feature flags), resources, and prompts, and inits services. |\n| `src/config` | Server env parsing (Zod), per-alias credential resolution, and the built-in alias registry. |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`) and shared helpers. Twenty-five tools across connection, retrieval, analysis, write, and raw passthrough. |\n| `src/mcp-server/resources` | Resource definitions (`*.resource.ts`). |\n| `src/mcp-server/prompts` | Prompt definitions (`*.prompt.ts`). |\n| `src/services` | BrAPI client, dialect adapters, filter catalog, canvas bridge, capability registry, ISO country resolver, ontology resolver, reference-data cache, server registry. |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for logging, `ctx.state` for tenant-scoped storage — no `console`, no direct persistence access\n- Add new tools to the matching group in `src/mcp-server/tools/definitions/index.ts`; `src/index.ts` composes the groups behind their feature flags\n- Wrap upstream calls: validate raw → normalize → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}