Laboratory Protocol Generation Workflow
Usage
1. MCP Server Definition
Use the same DrugSDAClient class pattern with Thoth-Plan server.
2. Protocol Generation from User Description
This workflow generates detailed laboratory protocols from natural language descriptions, useful for experimental planning and automation.
Workflow Steps:
- Input User Description - Provide natural language description of desired protocol
- Generate Detailed Protocol - AI generates step-by-step experimental procedure
- Optional: Convert to Executable Format - Transform protocol to machine-readable JSON for automation
Implementation:
client = DrugSDAClient("https://scp.intern-ai.org.cn/api/v1/mcp/19/Thoth-Plan")
if not await client.connect():
print("connection failed")
return
## Step 1: Provide protocol description
user_prompt = """
I need a PCR protocol for amplifying a 500bp DNA fragment.
Use a standard Taq polymerase with the following conditions:
- Annealing temperature: 55°C
- Extension time: 30 seconds
- 30 cycles total
Include primer concentrations and buffer composition.
"""
## Step 2: Generate detailed protocol
result = await client.session.call_tool(
"protocol_generation",
arguments={
"user_prompt": user_prompt
}
)
protocol_text = client.parse_result(result)["protocol"]
print("Generated Protocol:")
print("=" * 80)
print(protocol_text)
print("=" * 80)
## Step 3 (Optional): Convert to executable JSON for lab automation
result = await client.session.call_tool(
"generate_executable_json",
arguments={
"protocol": protocol_text
}
)
executable_json = client.parse_result(result)["executable_json"]
print("\nExecutable JSON for lab automation:")
print(executable_json)
## Step 4 (Optional): Execute protocol via lab automation system
result = await client.session.call_tool(
"execute_json",
arguments={
"executable_json": executable_json
}
)
execution_info = client.parse_result(result)
print("\nExecution Info:")
print(execution_info)
await client.disconnect()
Tool Descriptions
Thoth-Plan Server:
protocol_generation: Generate detailed laboratory protocol from description
- Args:
user_prompt (str) - Natural language description of desired protocol
- Returns:
protocol (str) - Detailed step-by-step protocol text
generate_executable_json: Convert protocol text to machine-readable format
- Args:
protocol (str) - Protocol text
- Returns:
executable_json (str) - JSON format for Opentrons/lab automation
execute_json: Execute protocol via connected lab automation systems
- Args:
executable_json (str) - Executable protocol JSON
- Returns: Execution status and log
Input/Output
Input:
user_prompt: Natural language description of desired experimental protocol
- Can include: reagents, conditions, equipment, expected outcomes
- Can reference standard protocols or specific parameters
Output:
protocol: Detailed step-by-step protocol including:
- Materials and reagents list
- Equipment requirements
- Detailed procedure steps
- Safety considerations
- Expected results
- Troubleshooting tips
Example Protocol Types
The system can generate protocols for various laboratory procedures:
- Molecular Biology: PCR, cloning, gel electrophoresis, DNA extraction, transformation
- Protein Science: Protein purification, Western blot, ELISA, protein crystallization
- Cell Culture: Cell passage, transfection, differentiation, cryopreservation
- Biochemistry: Enzyme assays, metabolite extraction, chromatography
- Analytical: Spectroscopy, mass spectrometry sample prep, HPLC
Protocol Quality Guidelines
Generated protocols include:
- ✓ Precise volumes and concentrations
- ✓ Specific temperatures and times
- ✓ Safety warnings where applicable
- ✓ Quality control checkpoints
- ✓ Troubleshooting guidance
Integration with Lab Automation
The generated protocols can be converted to executable JSON format compatible with:
- Opentrons liquid handling robots
- Hamilton automated workstations
- Custom lab automation systems
- Electronic lab notebooks (ELNs)
Best Practices
For optimal protocol generation:
- Be Specific: Include target specifications (e.g., "500bp fragment", "55°C annealing")
- Mention Equipment: Specify if using particular instruments or kits
- State Goals: Describe the experimental objective
- Include Constraints: Note any limitations (time, budget, available reagents)
- Reference Standards: Mention if following particular methods or publications
Example Good Prompts:
"Generate a Western blot protocol for detecting GAPDH (37 kDa) in HEK293 cell lysates using a standard semi-dry transfer system"
"I need a DNA extraction protocol from plant tissue (Arabidopsis leaves) optimized for downstream PCR. Yield target is 50 µg from 100mg tissue"
"Create a protein purification protocol for His-tagged recombinant protein from E. coli using IMAC chromatography. Starting culture volume is 500mL"
Limitations
- Generated protocols should be reviewed by qualified personnel before execution
- May require adjustment based on specific lab equipment and reagents
- Safety protocols should be verified against institutional guidelines
- Novel or untested procedures may need optimization
1---2name: protocol-generation-from-description3description: Generate detailed laboratory protocols from natural language descriptions using AI, producing step-by-step experimental procedures ready for lab execution.4license: MIT license5---6
7# Laboratory Protocol Generation Workflow
8
9## Usage
10
11### 1. MCP Server Definition
12
13Use the same `DrugSDAClient` class pattern with Thoth-Plan server.
14
15### 2. Protocol Generation from User Description
16
17This workflow generates detailed laboratory protocols from natural language descriptions, useful for experimental planning and automation.
18
19**Workflow Steps:**
20
211. **Input User Description** - Provide natural language description of desired protocol
222. **Generate Detailed Protocol** - AI generates step-by-step experimental procedure
233. **Optional: Convert to Executable Format** - Transform protocol to machine-readable JSON for automation
24
25**Implementation:**
26
27```python
28client = DrugSDAClient("https://scp.intern-ai.org.cn/api/v1/mcp/19/Thoth-Plan")
29if not await client.connect():
30 print("connection failed")
31 return
32
33## Step 1: Provide protocol description
34user_prompt = """
35I need a PCR protocol for amplifying a 500bp DNA fragment.
36Use a standard Taq polymerase with the following conditions:
37- Annealing temperature: 55°C
38- Extension time: 30 seconds
39- 30 cycles total
40Include primer concentrations and buffer composition.
41"""
42
43## Step 2: Generate detailed protocol
44result = await client.session.call_tool(
45 "protocol_generation",
46 arguments={
47 "user_prompt": user_prompt
48 }
49)
50
51protocol_text = client.parse_result(result)["protocol"]
52
53print("Generated Protocol:")
54print("=" * 80)
55print(protocol_text)
56print("=" * 80)
57
58## Step 3 (Optional): Convert to executable JSON for lab automation
59result = await client.session.call_tool(
60 "generate_executable_json",
61 arguments={
62 "protocol": protocol_text
63 }
64)
65
66executable_json = client.parse_result(result)["executable_json"]
67print("\nExecutable JSON for lab automation:")
68print(executable_json)
69
70## Step 4 (Optional): Execute protocol via lab automation system
71result = await client.session.call_tool(
72 "execute_json",
73 arguments={
74 "executable_json": executable_json
75 }
76)
77
78execution_info = client.parse_result(result)
79print("\nExecution Info:")
80print(execution_info)
81
82await client.disconnect()
83```
84
85### Tool Descriptions
86
87**Thoth-Plan Server:**
88
89- `protocol_generation`: Generate detailed laboratory protocol from description
90 - Args: `user_prompt` (str) - Natural language description of desired protocol
91 - Returns: `protocol` (str) - Detailed step-by-step protocol text
92
93- `generate_executable_json`: Convert protocol text to machine-readable format
94 - Args: `protocol` (str) - Protocol text
95 - Returns: `executable_json` (str) - JSON format for Opentrons/lab automation
96
97- `execute_json`: Execute protocol via connected lab automation systems
98 - Args: `executable_json` (str) - Executable protocol JSON
99 - Returns: Execution status and log
100
101### Input/Output
102
103**Input:**
104- `user_prompt`: Natural language description of desired experimental protocol
105 - Can include: reagents, conditions, equipment, expected outcomes
106 - Can reference standard protocols or specific parameters
107
108**Output:**
109- `protocol`: Detailed step-by-step protocol including:
110 - Materials and reagents list
111 - Equipment requirements
112 - Detailed procedure steps
113 - Safety considerations
114 - Expected results
115 - Troubleshooting tips
116
117### Example Protocol Types
118
119The system can generate protocols for various laboratory procedures:
120
121- **Molecular Biology**: PCR, cloning, gel electrophoresis, DNA extraction, transformation
122- **Protein Science**: Protein purification, Western blot, ELISA, protein crystallization
123- **Cell Culture**: Cell passage, transfection, differentiation, cryopreservation
124- **Biochemistry**: Enzyme assays, metabolite extraction, chromatography
125- **Analytical**: Spectroscopy, mass spectrometry sample prep, HPLC
126
127### Protocol Quality Guidelines
128
129Generated protocols include:
130- ✓ Precise volumes and concentrations
131- ✓ Specific temperatures and times
132- ✓ Safety warnings where applicable
133- ✓ Quality control checkpoints
134- ✓ Troubleshooting guidance
135
136### Integration with Lab Automation
137
138The generated protocols can be converted to executable JSON format compatible with:
139- Opentrons liquid handling robots
140- Hamilton automated workstations
141- Custom lab automation systems
142- Electronic lab notebooks (ELNs)
143
144### Best Practices
145
146**For optimal protocol generation:**
147
1481. **Be Specific**: Include target specifications (e.g., "500bp fragment", "55°C annealing")
1492. **Mention Equipment**: Specify if using particular instruments or kits
1503. **State Goals**: Describe the experimental objective
1514. **Include Constraints**: Note any limitations (time, budget, available reagents)
1525. **Reference Standards**: Mention if following particular methods or publications
153
154**Example Good Prompts:**
155
156```
157"Generate a Western blot protocol for detecting GAPDH (37 kDa) in HEK293 cell lysates using a standard semi-dry transfer system"
158
159"I need a DNA extraction protocol from plant tissue (Arabidopsis leaves) optimized for downstream PCR. Yield target is 50 µg from 100mg tissue"
160
161"Create a protein purification protocol for His-tagged recombinant protein from E. coli using IMAC chromatography. Starting culture volume is 500mL"
162```
163
164### Limitations
165
166- Generated protocols should be reviewed by qualified personnel before execution
167- May require adjustment based on specific lab equipment and reagents
168- Safety protocols should be verified against institutional guidelines
169- Novel or untested procedures may need optimization