Skill Tracer
Skills › Scientific Agent Skills › tamarind › tool_catalog.md

tool_catalog.md

61 lines · skills/tamarind/references/tool_catalog.md at 5f2bc03

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Tamarind Bio tool discovery and schemas
2
3Reviewed 2026-09-30 against the [public catalog](https://app.tamarind.bio/tools.json)
4and [OpenAPI](https://app.tamarind.bio/api/openapi.json). Catalog presence is not
5proof of account entitlement or of a model's suitability for a scientific task.
6

Tamarind Bio tool discovery and schemas

Reviewed 2026-09-30 against the public catalog and OpenAPI. Catalog presence is not proof of account entitlement or of a model's suitability for a scientific task.

Raw lines 1 to 6
7## Three distinct discovery shapes
8
91. **Public** `https://app.tamarind.bio/tools.json` (or `/api/tools-catalog`): object
10 containing `tools`, counts, and tags. Entries use **`type`**, `displayName`,
11 `description`, `tags`, and `requiredSettings`. Filter with `?type=` or `?tag=`.
12 Required settings may carry `tasks`, `conditionals`, and a `taskSetting`
13 selector: alternative branches are not one combined required-field list.
142. **Authenticated** `GET /api/tools`: array of entries keyed by **`name`**, with
15 trimmed `settings` parameters. Filter name/description client-side.
16 `?custom=true` lists legacy custom tools, not all current custom deployments.
173. **Authenticated** `GET /api/tools/{name}/schema`: standard **JSON Schema** for
18 settings, with requiredness, supported properties, enums, bounds, and domain
19 hints such as `x-tamarind-type`. Optional `version` pins a custom build.
21Do not confuse public `requiredSettings`, REST `settings`, and the JSON Schema
22object. The public catalog is useful before obtaining credentials but omits
23optional settings and restricted/custom tools. A known current custom tool can
24be submittable even if `/tools` does not list it; check its schema directly.
26In trimmed REST parameters, only `name` and `required` are guaranteed. Read
27`type`, `default`, `description`, `options`, `extension`, and `list` defensively.
28A type such as `pdb` need not mean only PDB files: `extension` may include `cif`.
29A `list: true` parameter takes an array. Consult JSON Schema and domain validation
30instead of reimplementing all UI gating from a trimmed parameter list.

Three distinct discovery shapes

  1. Public https://app.tamarind.bio/tools.json (or /api/tools-catalog): object containing tools, counts, and tags. Entries use **type**, displayName, description, tags, and requiredSettings. Filter with ?type= or ?tag=. Required settings may carry tasks, conditionals, and a taskSetting selector: alternative branches are not one combined required-field list.
  2. Authenticated GET /api/tools: array of entries keyed by **name**, with trimmed settings parameters. Filter name/description client-side. ?custom=true lists legacy custom tools, not all current custom deployments.
  3. Authenticated GET /api/tools/{name}/schema: standard JSON Schema for settings, with requiredness, supported properties, enums, bounds, and domain hints such as x-tamarind-type. Optional version pins a custom build.

Do not confuse public requiredSettings, REST settings, and the JSON Schema object. The public catalog is useful before obtaining credentials but omits optional settings and restricted/custom tools. A known current custom tool can be submittable even if /tools does not list it; check its schema directly.

In trimmed REST parameters, only name and required are guaranteed. Read type, default, description, options, extension, and list defensively. A type such as pdb need not mean only PDB files: extension may include cif. A list: true parameter takes an array. Consult JSON Schema and domain validation instead of reimplementing all UI gating from a trimmed parameter list.

Raw lines 7 to 31
32## Task anchors
34| Goal | Example catalog types | Modeling distinction |
35|---|---|---|
36| Protein/complex folding | `alphafold`, `boltz`, `chai`, `protenix`, `esmfold`, `esmfold2` | AF2, cofolding, single-sequence, and complex-capable models have different inputs and assumptions. ESMFold2 is not simply an alias for single-sequence ESMFold. |
37| De novo binder/design | `rfdiffusion`, `boltzgen`, `bindcraft` | Motif scaffolding, target type, and available target structures determine fit. |
38| Inverse folding | `proteinmpnn`, `ligandmpnn` | Structure to designed sequence; re-fold and assess the result. |
39| Docking | `autodock-vina`, `diffdock`, `boltz`, `chai` | Fixed-receptor docking and cofolding answer different modeling questions. |
40| Antibody/developability | Search descriptions/tags for antibody, nanobody, stability, solubility | Check sequence versus structure input and applicable molecule types. |
41| MSA, MD, scoring | Search the relevant operation | Read required upstream inputs and compute settings. |

Task anchors

GoalExample catalog typesModeling distinction
Protein/complex foldingalphafold, boltz, chai, protenix, esmfold, esmfold2AF2, cofolding, single-sequence, and complex-capable models have different inputs and assumptions. ESMFold2 is not simply an alias for single-sequence ESMFold.
De novo binder/designrfdiffusion, boltzgen, bindcraftMotif scaffolding, target type, and available target structures determine fit.
Inverse foldingproteinmpnn, ligandmpnnStructure to designed sequence; re-fold and assess the result.
Dockingautodock-vina, diffdock, boltz, chaiFixed-receptor docking and cofolding answer different modeling questions.
Antibody/developabilitySearch descriptions/tags for antibody, nanobody, stability, solubilityCheck sequence versus structure input and applicable molecule types.
MSA, MD, scoringSearch the relevant operationRead required upstream inputs and compute settings.
Raw lines 32 to 42
Names a skill diffdock :39
43## Outputs and chaining
45Current `/tools` can publish `taskType`, `outputTypes`, `filterMetrics`, and an
46`outputs` block with `mainCSV`, `produces`, and `columns`. Missing declarations
47mean unknown output, not no output. `outputs.byTask` overrides the cross-task
48summary for a task-dependent tool; use the selected task's contract.
50Distinguish a molecule generated by a tool from input data echoed into a scores
51CSV. Use `filterMetrics` for allowed pipeline filter names; not every output
52column is filterable. Read `lowIsGood` and units when present, then verify the
53actual downloaded output. Avoid ranking all metric fields in the same direction.

Outputs and chaining

Current /tools can publish taskType, outputTypes, filterMetrics, and an outputs block with mainCSV, produces, and columns. Missing declarations mean unknown output, not no output. outputs.byTask overrides the cross-task summary for a task-dependent tool; use the selected task's contract.

Distinguish a molecule generated by a tool from input data echoed into a scores CSV. Use filterMetrics for allowed pipeline filter names; not every output column is filterable. Read lowIsGood and units when present, then verify the actual downloaded output. Avoid ranking all metric fields in the same direction.

Raw lines 43 to 54
55## MCP discovery
57The public [MCP guide](https://docs.tamarind.bio/tamarind/mcp-server.md) does not
58specify the complete live tool schemas. If the connected server advertises
59`getAvailableTools`, `getJobSchema`, modality/tag helpers, or `exampleJob`, read
60those live definitions. Do not infer MCP envelopes/parameter names from REST.
61Authenticated MCP tool discovery was not tested during this review.

MCP discovery

The public MCP guide does not specify the complete live tool schemas. If the connected server advertises getAvailableTools, getJobSchema, modality/tag helpers, or exampleJob, read those live definitions. Do not infer MCP envelopes/parameter names from REST. Authenticated MCP tool discovery was not tested during this review.

Raw lines 55 to 61
Uses an outside tool MCP :55