site
Server Details
BioBricks: the site's own MCP server — dataset, enquiry (enquiry = a human handoff, not a...
- Status
- Healthy
- Uptime
- 92.3% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes (e.g., dataset_columns vs dataset_stats vs dataset_top). However, dataset_compare and dataset_row both fetch rows based on column values, and dataset_search also retrieves rows, which could cause confusion in some cases. Descriptions help but boundaries are not always sharp.
Most tools follow a consistent prefix-based pattern: dataset_* for read operations and enquiry_* for enquiry operations. The tool 'submit_enquiry' deviates by using a verb_noun without the enquiry_ prefix, but overall the naming is predictable and readable.
With 10 tools, the count is well within the typical 3-15 range. Each tool appears to serve a specific purpose in the dataset exploration and enquiry workflow, earning its place without redundancy.
The dataset tools cover reading, searching, comparing, and statistics, but lack write operations (e.g., no create/update/delete), which may be out of scope. The enquiry workflow includes description, fields, and submission with confirmation, but lacks a way to check status or cancel an enquiry, creating some dead ends.
Available Tools
10 toolsdataset_columnsDataset columns and shapeAInspect
The columns, which of them are numeric, the row count and the provenance banner of the BioBricks dataset. Call this first to learn the schema.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well by enumerating exactly what information the tool returns. As a zero-parameter read-only metadata operation, there are no side effects or hidden requirements to disclose; the only minor gap is not stating that it is read-only, but the content strongly implies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence front-loads the exact output contents, and the second gives a clear action directive. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter metadata tool, the description is complete enough: it specifies the dataset, the exact fields returned, and the recommended call order. The lack of an output schema is not a problem since the description already states the returned elements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline for zero-parameter tools is 4. The description appropriately focuses on the output rather than inputs, and no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly lists what the tool returns — columns, numeric flags, row count, and provenance banner — for the BioBricks dataset. It also states a clear directive ('Call this first to learn the schema'), which sets it apart from sibling tools like dataset_stats or dataset_provenance by identifying its role as the schema-discovery entry point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Call this first to learn the schema' provides explicit guidance on when to invoke this tool before other dataset tools. It does not explicitly list exclusions or alternatives, but the 'first' ordering and the schema-learning purpose make the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_compareCompare rows side by sideAInspect
The rows of the BioBricks dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes | ||
| values | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose that rows are filtered by 'any' matching values and that returned order follows the input value order. Still, it leaves exact-match semantics, case sensitivity, and the output/row shape unspecified, which an agent would need to predict results precisely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with no filler: the core behavior and ordering constraint are front-loaded, followed by the use-case cue. Every phrase earns its place, and nothing unnecessarily repeats the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-style comparison tool with no output schema and no annotations, the description is minimally viable: it states what is returned, how rows are selected, and when to use it. The missing output-shape details and exact-match semantics are real gaps, but the simple filter-and-order behavior keeps it usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'column' is the field being filtered and that 'values' are the match values whose order controls result ordering. It does not explain exact matching behavior or the min/max value constraints, leaving some semantics to the schema's type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete operation: return BioBricks rows whose column matches any of the supplied values, preserving the order of the given values. The title 'Compare rows side by side' adds a clear comparative intent that distinguishes it from generic fetch, search, or stats tools. It does not explicitly contrast sibling tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for "X vs Y" questions' gives an explicit scenario for choosing this tool over one-off row or aggregate queries. However, it does not mention any sibling tools or provide negative guidance about when not to use it, so it misses the full alternatives criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_provenanceWhere this data comes from, and how to cite itAInspect
The source, the date it was computed, the licence and the citation for the BioBricks dataset. Read this to attribute a figure correctly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It implies a non-mutating read operation with 'Read this', and lists the output content, but it does not describe behavior such as errors, availability, or absence of side effects. For a zero-parameter provenance query, this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the content and ends with the practical use case. Every clause earns its place, and there is no redundant repetition of the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema tool, the description is sufficiently complete: it states what information is provided and why an agent would use it. It could add a bit more about citation format or licensing specifics, but nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema provides no semantics to complement. The description adds meaningful context by enumerating exactly what information will be returned (source, date, licence, citation), which fully compensates for the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool exposes: source, computation date, licence, and citation for the BioBricks dataset. It is distinct from sibling tools like dataset_search or dataset_stats because it focuses on provenance and attribution, though it does not explicitly name a sibling as the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Read this to attribute a figure correctly' gives an explicit use case for when this tool is appropriate. It does not discuss when not to use it or compare against sibling tools, but the context is clear enough for a simple read-only provenance tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_rowLook a row up by an exact keyBInspect
The rows of the BioBricks dataset where a column equals a value exactly (case-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| column | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior. It mentions case-insensitivity and that it returns rows (plural) matching the condition, but it does not state whether it is read-only, how results are ordered, or what happens if no matches exist. This is a minimal but non-contradictory disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is not front-loaded with a clear verb; it begins with 'The rows of...' which is passive and slightly awkward. It conveys the necessary information without excess, but could be more direct and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% schema coverage, the description is thin. It does not describe the return format (full rows, field names), any limits, or error behavior (e.g., no match). For a lookup tool, an agent would need to know whether it returns one or many rows, which is implied by 'rows' but not confirmed. It also lacks examples or guidance on column naming conventions. Overall, it is inadequate for a tool with such minimal structured support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must explain the parameters. It clarifies that 'column' is a column name and 'value' is the comparison value, and that the match is exact and case-insensitive. However, it does not specify valid column names, value formatting, or that the column must exist in the dataset. It provides basic meaning but not enough to fully compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (retrieving rows) and the target (BioBricks dataset) with a specific matching condition (exact, case-insensitive). It distinguishes from fuzzy search by emphasizing 'exactly', though it doesn't name the sibling tool. The phrasing is slightly awkward but the intent is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for exact matches and case-insensitive lookups, which hints that dataset_search is for fuzzy queries. However, it does not explicitly state when to prefer this over siblings or any exclusions. The guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_searchSearch the datasetAInspect
Rows of the BioBricks dataset whose cells contain the query (case-insensitive), up to 50.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | text to look for in any cell |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral burden. It usefully discloses case-insensitive matching, cell-level containment, and the 50-result cap, which go beyond the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence delivers the core behavior with no fluff. The distinguishing details—case-insensitivity, cell matching, and limit—are front-loaded and each one earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, the description covers the essential behavior: what is searched, what is returned, and the result cap. It would be slightly stronger with an explicit default-limit note, but nothing critical is missing for invoking a basic search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, leaving the 'limit' parameter undocumented in the schema. The description partially compensates with 'up to 50' and clarifies query behavior, but it does not explain the default limit or how the limit interacts with the cap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: returns rows of the BioBricks dataset whose cells contain the query, case-insensitive, capped at 50. This clearly separates it from sibling tools like dataset_stats or dataset_row.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: use this when you need text search across dataset cells. However, it does not explicitly say when not to use it or name alternatives, leaving some selection reasoning to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_statsSummary statistics for a numeric columnAInspect
count, min, max, mean, median and sum of a numeric column of the BioBricks dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It does reveal that grouping commas and currency symbols are handled and that non-numeric rows are excluded and counted. However, it omits the output format (e.g., JSON structure with field names), error behavior for entirely non-numeric columns, and whether the tool requires the column to exist. These are significant gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that efficiently lists the statistics, specifies the dataset, and includes the two data-cleaning behaviors in parentheses. It front-loads the core purpose and avoids any fluff or repetition, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), but the description is not fully complete for an agent. It covers what statistics are computed and how data is cleaned, but it does not specify the return format (e.g., JSON keys) or behavior for edge cases like an empty column or all-non-numeric data. Given no output schema and no annotations, the description should provide more operational detail to be fully actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'column' as a string with minLength 1, with no description. The description adds that the column must be numeric and that formatting (commas, currency) is handled, which clarifies expected input semantics. This meaningfully compensates for the 0% schema description coverage, though it does not explicitly state that the value should be a column name from the dataset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: computing summary statistics (count, min, max, mean, median, sum) for a numeric column of the BioBricks dataset. It lists specific metrics and mentions handling of formatting and non-numeric rows, which differentiates it from sibling tools like dataset_row or dataset_search that retrieve data rather than aggregate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools such as dataset_columns, dataset_top, or dataset_search, nor does it state conditions that would favor one over the other. The intended use case is implied (when summary stats are needed) but not explicitly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_topRank rows by a numeric columnBInspect
The highest (or lowest) rows of the BioBricks dataset by a numeric column — "which is the most/least X".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| column | Yes | ||
| ascending | No | true for the lowest first; default highest first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It states the basic sort/rank behavior and high/low orientation, but does not mention default limit, tie handling, error behavior for non-numeric columns, or what the returned rows look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with a helpful illustrative phrase. It is front-loaded with the tool's core behavior and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool this is adequate but not complete: an agent can infer the call shape, but the optional `limit` behavior, default output size, and returned row format are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description needs to add parameter meaning. It adds the useful notion that `column` must be numeric and that high/low corresponds to `ascending`, but it does not clarify the meaning or default of `limit`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a ranking operation ('highest (or lowest) rows ... by a numeric column') and attaches it to the BioBricks dataset. It distinguishes the tool from sibling search/stats/row tools conceptually, though it does not name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The quoted use case, 'which is the most/least X', implies when to use the tool for ranking questions. It does not provide explicit guidance on when not to use it or which sibling (e.g., dataset_search, dataset_stats) would be a better alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enquiry_describeWhat you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)AInspect
Read first. States plainly what submit_enquiry does on BioBricks: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the semantic contract (nothing is bought, ordered or paid; no quote guaranteed; free) and clarifies this is a human-mediated process. It stops short of describing response format or latency, but for a zero-parameter read tool this is unusually rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with "Read first." followed by tightly packed clauses that each carry information about what the tool says and returns. Slightly dense in the middle, but no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by stating what comes back: who receives the details, the consent wording, and how the person confirms. Combined with the no-purchase/no-quote/free framing, an agent has enough to call and interpret it, though it omits any note on response timing or format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly describes the nature of the returned content rather than inventing inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (describes/states plainly) and resource (the enquiry flow behind submit_enquiry), and its title explicitly frames the output as an ENQUIRY with a human, not a purchase or quote. It is clearly distinguishable from submit_enquiry, the action it documents, though it does not name that sibling outright as an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Read first" gives explicit ordering guidance relative to submit_enquiry, which is the key usage decision for a describe tool. It does not spell out when NOT to call it or name alternatives by name, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enquiry_fieldsThe questions the enquiry asksAInspect
Every field of the BioBricks enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It compensates by enumerating the returned fields (key, label, type, required, help text, options) and showing how the output feeds submit_enquiry, but says nothing about read-only nature, permissions, or caching/rate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The return contents come first and the chaining instruction to submit_enquiry comes last, which is exactly the right front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must describe the return payload, and it does so field by field. It also ties the output to the downstream submit_enquiry call, leaving only the sibling distinction to enquiry_describe unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; the baseline for 0 params is 4. The mention of 'field key' correctly refers to the return shape rather than an input argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precisely what the tool returns - every field of the BioBricks enquiry with key, label, type, required flag, help text and allowed options. An agent knows the resource and the payload shape, but the description never differentiates itself from the sibling enquiry_describe, which plausibly overlaps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete workflow cue - pass answers to submit_enquiry keyed by field key - which is genuinely useful routing advice. It does not say when to call this versus enquiry_describe, nor any prerequisite, so usage is only partially covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_enquirySubmit an ENQUIRY to human providers (two steps; not a purchase)AInspect
Submits an enquiry to BioBricks — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "Send my contact details to up to three gene synthesis and research supply firms, chosen by BioBricks, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
| Name | Required | Description | Default |
|---|---|---|---|
| answers | Yes | the person's answers, keyed by field key | |
| consent | Yes | true only when the person has agreed to: Send my contact details to up to three gene synthesis and research supply firms, chosen by BioBricks, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them. | |
| confirmation | No | the confirmation token from step 1, after the person has approved the summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and does so: it discloses the two-phase validation/submission behavior, that step 1 is non-committal, what step 2 actually triggers (email with a link the person must click before any provider sees it), and the exact scope of consent (up to three firms, direct contact, notification and opt-out). This is unusually rich behavioral disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical constraint ('NOT a purchase') is front-loaded and the step sequence is tight and scannable. The only waste is the full consent sentence quoted verbatim, which already appears in the schema's consent description — a small duplication that costs tokens without new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, yet the description still explains what step 1 returns (summary, consent line, confirmation token) and what step 2 produces (submission plus a verification email). For a two-step, nested-object tool with 3 parameters, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: 'answers' must be keyed by field keys from enquiry_fields, consent must be true and represents a specific agreed statement, and 'confirmation' is defined as the token returned by step 1 after approval. It clarifies the parameter's provenance rather than merely restating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('submits an enquiry to BioBricks') and immediately distinguishes it from adjacent-but-different actions ('NOT a purchase, NOT a guaranteed quote'). An agent can separate this from dataset_* and enquiry_* siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It prescribes the exact call sequence: Step 1 with answers and consent=true, show the returned summary/consent line to the person, then Step 2 only if the person agrees, passing the confirmation token. Conditions for each call and the gating between them are explicit, with no inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
submit_enquiry1 field changed- changed
Input schema / properties / consent / descriptionPrevious value: -"true only when the person has agreed to: Send my contact details to up to three synthesis and sequencing providers, chosen by BioBricks, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."New value: +"true only when the person has agreed to: Send my contact details to up to three gene synthesis and research supply firms, chosen by BioBricks, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
1 tool update
- Changed
submit_enquiry1 field changed- changed
Input schema / properties / consent / descriptionPrevious value: -"true only when the person has agreed to: By submitting you agree BioBricks shares your details with relevant synthesis and sequencing providers who may contact you about your project."New value: +"true only when the person has agreed to: Send my contact details to up to three synthesis and sequencing providers, chosen by BioBricks, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
3 tool updates
- Added
enquiry_describe - Added
enquiry_fields - Added
submit_enquiry
7 tool updates
- First observed
dataset_columns - First observed
dataset_compare - First observed
dataset_provenance - First observed
dataset_row - First observed
dataset_search - First observed
dataset_stats - First observed
dataset_top
Related MCP Connectors
Buffrota: the site's own MCP server — dataset, enquiry (enquiry = a human handoff, not a...
EntitySearch HQ: the site's own MCP server — dataset, enquiry (enquiry = a human handoff, not a...
HostingByStack: the site's own MCP server — dataset, enquiry (enquiry = a human handoff, not a...
Procedure Cost Checker: the site's own MCP server — dataset, enquiry (enquiry = a human handoff,...
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for searching research grants across NSF (US), ERC (EU), and KRF/NRF (Korea) via a unified interface. NIH excluded—covered by existing connectors.311 npmMIT
- FlicenseAqualityBmaintenanceBiological and medical data search MCP server.42-
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes the KEGG REST API — pathways, genes, compounds, reactions, enzymes, diseases, drugs, modules, orthology, glycans, and BRITE hierarchies, with cross-database linking. Provides 34 tools and 8 resource templates.MIT
- FlicenseNot gradedqualityBmaintenanceMCP server for maintaining specific Wikidata items (person, company, publications) with read tools and a two-step write workflow that enforces sourced, human-approved batch edits.-
Glama MCP Gateway
Add one secure layer between your agents and this server.