MCP Tools Reference
Complete reference for all ProBeya MCP tools — callable operations for AI assistants organized by category.
Every tool listed below can be invoked by an MCP-connected AI assistant. Each tool enforces scope-based authorization, validates input via Zod schemas, and dispatches to the underlying tRPC procedure. Tool annotations (readOnlyHint, destructiveHint, idempotentHint) help the AI make safe decisions about when to call each tool.
Navigation
Browse the organizational hierarchy: Workspaces > Projects > Boards.
list_workspaces
List all workspaces in the organization. The starting point for discovering projects and boards.
| Property | Value |
|---|---|
| Scope | read:items |
| Input | (none) |
| Annotations | readOnlyHint: true, idempotentHint: true |
Example call and response:
// Input
{ "tool": "list_workspaces", "arguments": {} }
// Output
{
"workspaces": [
{ "id": "clx9ws001", "name": "Brussels Manufacturing Site", "slug": "brussels-site", "level": 1, "parentId": null },
{ "id": "clx9ws002", "name": "Quality Assurance", "slug": "qa-dept", "level": 2, "parentId": "clx9ws001" },
{ "id": "clx9ws003", "name": "Sterile Filling Area", "slug": "sterile-filling", "level": 3, "parentId": "clx9ws002" }
]
}
list_projects
List all projects in a specific workspace.
| Property | Value |
|---|---|
| Scope | read:items |
| Input | workspaceId (string, required) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Input
{ "tool": "list_projects", "arguments": { "workspaceId": "clx9ws001" } }
// Output
{
"projects": [
{ "id": "clx9pj001", "name": "OEE Improvement Q2-2026", "slug": "oee-q2-2026", "description": "Track OEE metrics and improvement actions" },
{ "id": "clx9pj002", "name": "CAPA Tracking", "slug": "capa-tracking", "description": "Corrective and preventive action management" }
]
}
get_board
Get the full board data for a project — groups, columns, items, and values. Returns a resource link to probeya://board/{boardId}.
| Property | Value |
|---|---|
| Scope | read:items |
| Input | projectId (string, required) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Input
{ "tool": "get_board", "arguments": { "projectId": "clx9pj001" } }
// Output (abbreviated)
{
"board": {
"id": "clx9bd001",
"name": "OEE Improvement Q2-2026",
"groups": [
{ "id": "clx9gr001", "name": "To Do", "itemCount": 8 },
{ "id": "clx9gr002", "name": "In Progress", "itemCount": 3 },
{ "id": "clx9gr003", "name": "Done", "itemCount": 12 }
],
"columns": [
{ "id": "clx9co001", "name": "Status", "type": "status" },
{ "id": "clx9co002", "name": "Person", "type": "person" },
{ "id": "clx9co003", "name": "Due Date", "type": "date" },
{ "id": "clx9co004", "name": "Priority", "type": "priority" }
],
"items": [
{
"id": "clx9it001",
"name": "Replace seal on filling head #3",
"groupId": "clx9gr002",
"values": {
"clx9co001": { "label": "In Progress", "color": "#fdab3d" },
"clx9co002": { "id": "clx9us003", "name": "Dr. Marie Chen" },
"clx9co003": "2026-04-15",
"clx9co004": { "label": "High", "color": "#e2445c" }
}
}
]
}
}
Item CRUD
Create, update, delete, and move board items. All write tools return resource links back to the parent board.
create_item
| Property | Value |
|---|---|
| Scope | write:items |
| Input | boardId (required), groupId (required), name (required) |
| Annotations | destructiveHint: false, idempotentHint: false |
// Pharma example: create a deviation item
{
"tool": "create_item",
"arguments": {
"boardId": "clx9bd001",
"groupId": "clx9gr001",
"name": "DEV-2026-0851: Temperature excursion during Batch BX-4475 hold"
}
}
// Response: { "id": "clx9it015", "name": "DEV-2026-0851: ...", "boardId": "clx9bd001", "groupId": "clx9gr001" }
update_item
| Property | Value |
|---|---|
| Scope | write:items |
| Input | itemId (required), name (optional), assigneeId (optional) |
| Annotations | destructiveHint: false, idempotentHint: true |
{
"tool": "update_item",
"arguments": {
"itemId": "clx9it015",
"name": "DEV-2026-0851: Temperature excursion (CAPA required)",
"assigneeId": "clx9us003"
}
}
delete_item
Permanently deletes an item and all associated data. Uses MCP elicitation to request user confirmation before executing (graceful fallback if the client does not support elicitation).
| Property | Value |
|---|---|
| Scope | write:items |
| Input | itemId (required) |
| Annotations | destructiveHint: true, idempotentHint: false |
// The AI will ask for confirmation before executing this tool
{ "tool": "delete_item", "arguments": { "itemId": "clx9it015" } }
move_item
Move an item to a different group (e.g., “To Do” to “In Progress”).
| Property | Value |
|---|---|
| Scope | write:items |
| Input | itemId (required), groupId (required), sortOrder (optional, default: 0) |
| Annotations | destructiveHint: false, idempotentHint: true |
{
"tool": "move_item",
"arguments": {
"itemId": "clx9it015",
"groupId": "clx9gr002",
"sortOrder": 0
}
}
set_item_values
Set one or more cell values for an item. Value format depends on column type:
| Column Type | Value Format | Example |
|---|---|---|
| Status | JSON object | {"label": "Done", "color": "#00c875"} |
| Priority | JSON object | {"label": "Critical", "color": "#e2445c"} |
| Date | ISO string | "2026-04-18" |
| Person | JSON object | {"id": "clx9us003", "name": "Dr. Chen"} |
| Text | Plain string | "Batch BX-4471" |
| Property | Value |
|---|---|
| Scope | write:items |
| Input | itemId (required), values (array of { columnId, value }, required) |
| Annotations | destructiveHint: false, idempotentHint: true |
{
"tool": "set_item_values",
"arguments": {
"itemId": "clx9it015",
"values": [
{ "columnId": "clx9co001", "value": { "label": "In Review", "color": "#fdab3d" } },
{ "columnId": "clx9co003", "value": "2026-04-18" },
{ "columnId": "clx9co004", "value": { "label": "Critical", "color": "#e2445c" } }
]
}
}
Search
search
Full-text search across items, projects, and workspaces by keyword. Case-insensitive substring matching. Returns up to 5 results per entity type.
| Property | Value |
|---|---|
| Scope | read:search |
| Input | query (string 1-200 chars, required) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Input
{ "tool": "search", "arguments": { "query": "batch BX-4471" } }
// Output
{
"items": [
{ "id": "clx9it010", "name": "DEV-2026-0847: pH excursion on Batch BX-4471" },
{ "id": "clx9ac002", "name": "CAPA-2026-0194: Investigate Batch BX-4471 OOS" }
],
"projects": [],
"workspaces": []
}
KPIs
Monitor and update SQCDP performance indicators.
list_kpis
List all KPI definitions for a board with latest values and active targets.
| Property | Value |
|---|---|
| Scope | read:kpis |
| Input | boardId (required) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Input
{ "tool": "list_kpis", "arguments": { "boardId": "clx9bd001" } }
// Output (abbreviated)
{
"kpis": [
{
"id": "clx9kp001",
"name": "OEE",
"category": "delivery",
"unit": "%",
"direction": "higher_is_better",
"thresholds": { "red": 65, "amber": 75, "green": 85 },
"latestValue": { "value": 87.3, "date": "2026-04-13", "status": "green" },
"activeTarget": { "targetValue": 90, "periodEnd": "2026-12-31" }
}
]
}
set_kpi_value
Record a new KPI measurement data point. Uses upsert semantics (same KPI + date = overwrite).
| Property | Value |
|---|---|
| Scope | write:kpis |
| Input | kpiDefinitionId (required), date (YYYY-MM-DD, required), value (string, required), comment (optional) |
| Annotations | destructiveHint: false, idempotentHint: true |
// Pharma example: recording daily OEE from MES
{
"tool": "set_kpi_value",
"arguments": {
"kpiDefinitionId": "clx9kp001",
"date": "2026-04-13",
"value": "87.3",
"comment": "Line 2 down 45min for seal replacement. A=91% P=96% Q=99.8%"
}
}
get_kpi_alerts
Get KPIs breaching red or amber thresholds. Only returns alert-state indicators.
| Property | Value |
|---|---|
| Scope | read:kpis |
| Input | boardId (required) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Output
{
"alertCount": 2,
"alerts": [
{ "kpiName": "OEE", "status": "amber", "value": 82.5, "threshold": { "amber": 75, "green": 85 } },
{ "kpiName": "Right First Time", "status": "amber", "value": 96.2, "threshold": { "amber": 95, "green": 98 } }
]
}
Actions
Manage tier-based action items with lifecycle tracking: open > assigned > in_progress > done > verified.
list_actions
| Property | Value |
|---|---|
| Scope | read:actions |
| Input | boardId (required), status (optional), tierLevel (1-3, optional), category (S/Q/C/D/P/custom, optional), overdue (boolean, optional) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Pharma example: get overdue quality actions
{
"tool": "list_actions",
"arguments": {
"boardId": "clx9bd001",
"category": "Q",
"overdue": true
}
}
// Output
{
"actions": [
{
"id": "clx9ac002",
"title": "CAPA-2026-0194: Investigate Batch BX-4471 OOS",
"status": "assigned",
"priority": "critical",
"category": "quality",
"tierLevel": 1,
"responsibleId": "clx9us003",
"dueDate": "2026-04-10"
}
]
}
create_action
| Property | Value |
|---|---|
| Scope | write:actions |
| Input | boardId (required), title (required), description (optional), responsibleId (optional), dueDate (YYYY-MM-DD, optional), priority (critical/high/medium/low, default: medium), category (S/Q/C/D/P/custom, default: custom) |
| Annotations | destructiveHint: false, idempotentHint: false |
// Pharma example: create CAPA from OOS
{
"tool": "create_action",
"arguments": {
"boardId": "clx9bd001",
"title": "CAPA-2026-0198: Root cause investigation — Assay failure Batch BX-4478",
"description": "Assay 103.2% vs spec 95-102%. Batch held pending RCA.",
"priority": "critical",
"category": "Q",
"responsibleId": "clx9us003",
"dueDate": "2026-04-20"
}
}
update_action
| Property | Value |
|---|---|
| Scope | write:actions |
| Input | id (required), title (optional), description (optional), status (optional), responsibleId (optional), dueDate (optional), priority (optional) |
| Annotations | destructiveHint: false, idempotentHint: true |
escalate_action
Escalate an action to a higher tier: T1 (team) > T2 (department) > T3 (site).
| Property | Value |
|---|---|
| Scope | write:actions |
| Input | id (required), reason (optional, recommended for audit trail) |
| Annotations | destructiveHint: false, idempotentHint: false |
{
"tool": "escalate_action",
"arguments": {
"id": "clx9ac002",
"reason": "Root cause involves vendor raw material quality. Needs QA Director decision."
}
}
Dashboard and Organization
get_dashboard_stats
| Property | Value |
|---|---|
| Scope | read:dashboard |
| Input | (none) |
| Annotations | readOnlyHint: true, idempotentHint: true |
// Output
{ "totalItems": 847, "totalProjects": 12, "totalMembers": 43, "completionRate": 0.74 }
list_members
List all organization members with roles. Use to find user IDs for assignments.
| Property | Value |
|---|---|
| Scope | read:items |
| Input | (none) |
| Annotations | readOnlyHint: true, idempotentHint: true |
AI-Powered
analyze_board
Uses MCP LLM sampling to ask the connected AI to analyze a board’s health, bottlenecks, and recommendations. Falls back to returning raw data if the client does not support sampling.
| Property | Value |
|---|---|
| Scope | read:items |
| Input | projectId (required), focus (bottlenecks/workload/kpis/actions/overall, default: overall) |
| Annotations | readOnlyHint: true, idempotentHint: true |
{
"tool": "analyze_board",
"arguments": {
"projectId": "clx9pj001",
"focus": "bottlenecks"
}
}
Collaboration
add_comment
| Property | Value |
|---|---|
| Scope | write:items |
| Input | itemId (required), content (required) |
| Annotations | destructiveHint: false, idempotentHint: false |
Technology Transfer
list_tech_transfers
| Property | Value |
|---|---|
| Scope | projects:read |
| Input | status (optional), phase (optional), search (optional) |
get_tech_transfer
| Property | Value |
|---|---|
| Scope | projects:read |
| Input | id (required) |
Compliance Radar
list_compliance_requirements
List GxP compliance requirements filtered by framework, status, or risk level.
| Property | Value |
|---|---|
| Scope | compliance:read |
| Input | framework (optional), status (optional), riskLevel (optional) |
get_compliance_dashboard
| Property | Value |
|---|---|
| Scope | compliance:read |
| Input | (none) |
Hoshin Kanri
list_hoshin_matrices
| Scope | projects:read | Input | status (optional) |
get_hoshin_matrix
| Scope | projects:read | Input | id (required) |
Inspection Shield
list_inspection_checklists
GMP/FDA/ISO inspection checklists.
| Scope | compliance:read | Input | type (optional), status (optional) |
list_inspection_sessions
| Scope | compliance:read | Input | checklistId (optional), status (optional) |
Asset Pulse
list_assets
List equipment and assets with maintenance status (ISO 55000).
| Scope | assets:read | Input | category (optional), status (optional), search (optional) |
log_asset_maintenance
{
"tool": "log_asset_maintenance",
"arguments": {
"assetId": "clx9as001",
"maintenanceType": "calibration",
"description": "Annual calibration of pH meter #7 — NIST traceable buffer verification",
"performedAt": "2026-04-13T10:00:00Z",
"nextDueAt": "2027-04-13T10:00:00Z"
}
}
| Scope | assets:write | Input | assetId (required), maintenanceType (preventive/corrective/calibration/inspection), description (required), performedAt (ISO datetime), nextDueAt (optional) |
Routine Runner
list_routine_templates
| Scope | routines:read | Input | category (optional) |
start_routine_execution
| Scope | routines:write | Input | templateId (required) |
Knowledge Forge
list_knowledge_articles
| Scope | knowledge:read | Input | category (optional), status (optional), search (optional) |
create_knowledge_article
{
"tool": "create_knowledge_article",
"arguments": {
"title": "Seal replacement procedure for filling head Type-B",
"content": "Step 1: Depressurize the filling manifold...",
"category": "maintenance",
"tags": ["filling", "seals", "type-b", "preventive-maintenance"]
}
}
| Scope | knowledge:write | Input | title (1-255 chars), content (required), category (optional), tags (string array, optional) |
Monte Carlo Simulation
list_simulations
| Scope | projects:read | Input | projectId (required) |
run_monte_carlo
Run a Monte Carlo schedule simulation. Returns P10/P50/P80/P90 dates, sensitivity analysis, and critical path.
| Scope | projects:write | Input | simulationId (required) |
Additional Tools
IFQHC Training: list_qualifications
| Scope | training:read | Input | userId (optional), frameworkId (optional) |
Tickets: list_tickets
| Scope | tickets:read | Input | status (optional), priority (optional) |
Tickets: create_ticket
| Scope | tickets:write | Input | title (1-255 chars), description (optional), priority (critical/high/medium/low) |
Shift Handover: list_shift_handovers
| Scope | boards:read | Input | boardId (required) |
Problem Solving: list_problem_sheets
| Scope | boards:read | Input | status (optional), type (optional) |
PPM Programs: list_ppm_programs
| Scope | projects:read | Input | status (optional) |
Error Handling
All tools return errors in the same format:
{
"content": [{ "type": "text", "text": "Error: Item not found in this organization." }],
"isError": true
}
| Error | Cause | AI Recovery |
|---|---|---|
| Insufficient scope | API key missing required scope | Inform user to generate a new API key with the needed scope |
| Tool not permitted | MCP key allowedTools does not include this tool | Inform user to update MCP key permissions |
| Not found | Entity does not exist in the user’s organization | Ask user to verify the ID, or use search to find the correct one |
| Invalid input | Missing required field or invalid format | Fix the input and retry |
| Token budget exceeded | Monthly token limit reached for MCP key | Inform user to increase the budget or wait for the next billing cycle |
Was this page helpful?