MCP App Store
by KeenEthics
Uncountable (US) icon

Uncountable (US)

By Uncountable Inc.

Get New App Alerts

Overview

Connect your Uncountable workspace to search experiments, formulations, samples, and test results, pull specific measurements, and draft technical write-ups grounded in your own lab data. Access respects your existing Uncountable permissions.

Tools

add_recipe_to_project

ChatGPT
Adds an existing recipe to a project. The project may be in a different material family than the recipe.

archive_recipes

ChatGPT
Archives the provided recipes and their child recipes. Fails if any of the recipes are locked. An optional reason can be provided for the archive.

associate_recipe_as_input

ChatGPT
Associates a recipe as an input (ingredient). When no existing input is specified, creates a new input or returns the existing association if one already exists. When an existing input is specified, associates it with the recipe; fails if that input is already associated with a different recipe. Use disassociate_recipe_as_input to remove an existing association first. Returns the input ID and whether a modification was made.

create_inputs

ChatGPT
Creates new inputs (ingredients or process parameters) in the specified material families. Each input must belong to at least one material family. Optionally sets attribute values, a category, and field values on creation.

create_recipe

ChatGPT
Creates a single recipe in the specified material family and workflow. If a matching recipe already exists, no new recipe is created and the existing recipe ID is returned. Returns the recipe ID.

disassociate_recipe_as_input

ChatGPT
Removes the input (ingredient) association from a recipe. If the recipe is not currently associated as an input, this is a no-op. Returns whether a modification was made.

get_current_user_info

ChatGPT
Returns the user ID of the currently authenticated user. Requires a valid authenticated session. Takes no arguments.

get_input_names

ChatGPT
Returns the ID and name of all non-archived inputs (ingredients and/or process parameters) in a material family. Can filter by type (ingredient vs parameter) using is_parameter. Paginated with a default and maximum limit of 20,000 results, ordered by input ID.

get_inputs_data

ChatGPT
Returns detailed metadata for a list of inputs by their IDs, including attribute values, categories per material family, and subcategory tags. Also returns attribute definitions (name and quantity type) for all referenced attributes.

get_output_data

ChatGPT
Returns detailed metadata for outputs in a material family, including quantity type, global category assignments, and associated units. Can filter by specific output IDs. Excludes archived outputs. Paginated with a default and maximum limit of 1,000 results, ordered by output ID. Also returns referenced global category and unit definitions.

get_output_names

ChatGPT
Returns the ID and name of all non-archived outputs in a material family. Outputs represent measurement values of any type (numeric, text, curve, calculation, etc.). Paginated with a default and maximum limit of 20,000 results, ordered by output ID.

get_projects

ChatGPT
Lists non-archived projects the user has permission to access, optionally filtered by material family ID. Requires either allMaterialFamilies=true or a specific materialFamilyId; returns 400 if neither is set. Returns projects ordered by ID along with their associated phase definitions. Projects represent groupings of experiments, similar to folders in a directory structure.

get_recipe_metadata_data

ChatGPT
Retrieves recipe metadata field definitions for a material family. Recipe metadata represents data associated with experiments that is not an input, output, or calculation (e.g. sample ID, location). Results are paginated with a default and maximum limit of 1000, ordered by metadata field ID. Optionally filters to specific metadata IDs.

get_recipe_names

ChatGPT
Returns the ID and name of all non-archived recipes in the specified project, ordered by recipe ID. Archived recipes are excluded from the results.

get_recipes_data

ChatGPT
Retrieves data for the requested experiments or project, including inputs, outputs, metadata, workflow steps, step relationships, tags, experiment groups, and lock status. Each step includes both recipeStepNumber (its stored position within its workflow step) and displayMixOrderNumber (the experiment editor's mix-order number). Paginated by experiment ID.

list_id_source

ChatGPT
List id and label pairs for a given id source spec. Supports pagination via offset and limit and text search filtering via search_label.

lock_recipes

ChatGPT
Locks experiments to prevent editing. Supports locking all data (inputs and measurements) or inputs only. Returns whether a modification was made.

remove_recipe_from_project

ChatGPT
Removes a recipe from a project.

set_input_category

ChatGPT
Sets or unsets the global category for an input within its material families. Pass a category_id to assign a category, or null to remove the current category. Optionally scope the update to specific material families via material_family_ids; if omitted, updates across all material families the input belongs to. Validates that the category exists. Requires SET_FIELD_VALUE access on the input entity.

set_input_subcategories

ChatGPT
Modifies the subcategory (tag) assignments for an input. Supports three update types: 'append' adds the specified subcategories without removing existing ones, 'override' replaces all subcategories with the specified set (archiving any not in the list), and 'remove' archives only the specified subcategories. Requires SET_FIELD_VALUE access on the input entity.

set_recipe_inputs

ChatGPT
Sets input values for experiments. Supports numeric, text, and categorical types. Validates that the recipe step belongs to the correct recipe. Supports setting actual values, associating lots (creating them if needed), and removing inputs. Writes all values to the first workflow step when no step is specified. Fails if both a numeric and string value are provided.

set_recipe_metadata

ChatGPT
Sets metadata values on a recipe identified by key. Accepts a list of metadata field-value pairs to populate on the recipe. Fails if any of the metadata fields are read-only.

set_recipe_outputs

ChatGPT
Sets output measurement values for experiments. Supports numeric, text, categorical, curve, color, and recipe-as-output types. Fails if both a numeric and string value are provided. Experiment number must be 1 or greater. Use resolve_output_conditions to obtain a condition ID when setting conditioned outputs. Supports configurable null behavior (do nothing, ensure output exists, or remove the output row).

set_recipe_tags

ChatGPT
Modifies tags on a recipe identified by key. Supports three update modes - append (adds tags to existing ones), override (replaces all tags with the provided set), or remove (removes the specified tags).

unarchive_recipes

ChatGPT
Restores previously archived recipes, making them active again. Fails if any of the recipes are locked.

unlock_recipes

ChatGPT
Unlocks previously locked experiments, making them editable again. Returns whether a modification was made.

Capabilities

Writes

Similar Apps