# n8n Visual Configuration Guide πΈ
## π― The Exact Setup You Need
---
## Screenshot 1: Your Current Setup (AI Agent - Causing Issues)
**What you have now:**
```
βββββββββββββββββββββββββββββββ
β AI Agent Node β
β ββ Credential: Simplicate β
β ββ Prompt: "Show me..." β
β ββ β Schema Error β
βββββββββββββββββββββββββββββββ
```
**The Problem:** AI Agent doesn't understand the exact tool format!
---
## Screenshot 2: What You SHOULD Use (Direct MCP)
**What you need:**
```
βββββββββββββββββββββββββββββββ
β MCP Node β
β ββ Credential: Simplicate β
β ββ Operation: Execute Tool β
β ββ Tool Name: get_absences β
β ββ Parameters: β
β { β
β "limit": 50, β
β "offset": 0 β
β } β
βββββββββββββββββββββββββββββββ
```
---
## π§ Exact Field Values
### Field 1: Credential
```
Value: Simplicate (or whatever you named your MCP connection)
```
### Field 2: Operation
```
Value: Execute Tool
(NOT "List Tools", NOT "Get Tool Info")
```
### Field 3: Tool Name
```
Value: get_absences
(exact text, no quotes, no extra spaces)
```
### Field 4: Tool Parameters (JSON)
```json
{
"limit": 50,
"offset": 0
}
```
---
## π Copy-Paste Values for Different Queries
### Query 1: Get Absences
```
Tool Name: get_absences
Parameters: {"limit": 50, "offset": 0}
```
### Query 2: Get All Employees
```
Tool Name: get_employees
Parameters: {"limit": 100, "offset": 0}
```
### Query 3: Get Dwayne's Employee Info
```
Tool Name: get_employee
Parameters: {"employee_id": "employee:3b70f4dd49fafb356d44e34a3f0f8c3d"}
```
### Query 4: Get All Hours
```
Tool Name: get_hours
Parameters: {"limit": 100, "offset": 0}
```
### Query 5: Get All Projects
```
Tool Name: get_projects
Parameters: {"limit": 50, "offset": 0}
```
### Query 6: Get Leave Entries
```
Tool Name: get_leave
Parameters: {"limit": 50, "offset": 0}
```
### Query 7: Get Timetable/Schedule
```
Tool Name: get_calendar_events
Parameters: {"limit": 50, "offset": 0}
```
---
## π― Complete Working Workflow
### Workflow: "Check Dwayne's Availability"
```
Step 1: Manual Trigger
ββ When: Manually or on schedule
ββ Output: Trigger signal
Step 2: Get Leave Entries
ββ Node Type: MCP
ββ Tool: get_leave
ββ Params: {"limit": 100, "offset": 0}
ββ Output: All leave entries
Step 3: Filter for Dwayne
ββ Node Type: Code
ββ Code:
β const leaves = $input.all();
β return leaves.filter(item =>
β item.json.employee?.name?.toLowerCase().includes('dwayne')
β );
ββ Output: Only Dwayne's leave
Step 4: Get Absences
ββ Node Type: MCP
ββ Tool: get_absences
ββ Params: {"limit": 100, "offset": 0}
ββ Output: All absences
Step 5: Filter for Dwayne
ββ Node Type: Code
ββ Code: (same as step 3)
ββ Output: Only Dwayne's absences
Step 6: Get Hours
ββ Node Type: MCP
ββ Tool: get_hours
ββ Params: {"limit": 100, "offset": 0}
ββ Output: All hours
Step 7: Filter for Dwayne This Week
ββ Node Type: Code
ββ Code:
β const hours = $input.all();
β const today = new Date();
β const weekStart = new Date(today);
β weekStart.setDate(today.getDate() - 7);
β
β return hours.filter(item => {
β const name = item.json.employee?.name?.toLowerCase() || '';
β const date = new Date(item.json.start_date);
β return (name.includes('dwayne') || name.includes('paisley'))
β && date >= weekStart;
β });
ββ Output: Dwayne's hours this week
Step 8: Merge Data
ββ Node Type: Merge
ββ Output: Combined availability report
Step 9: Send to Slack/Email
ββ Node Type: Slack/Email/etc
ββ Message: "Dwayne's availability report..."
```
---
## π§ͺ Quick Test - 30 Seconds
1. **Delete your AI Agent node**
2. **Add new MCP node**
3. **Set these exact values:**
- Credential: `Simplicate`
- Operation: `Execute Tool`
- Tool Name: `get_employees`
- Parameters: `{"limit": 10, "offset": 0}`
4. **Click "Execute node"**
5. **See results!** β
---
## π‘ Why This Works
| Approach | Result |
|----------|--------|
| AI Agent + "Show me absences" | β Schema error |
| AI Agent + Natural language | β Misinterprets |
| **MCP Node + Exact tool name** | **β
Works!** |
| **MCP Node + JSON params** | **β
Works!** |
---
## π¨ Common Mistakes
### Mistake 1: Using AI Agent
```
β AI Agent β "Show me absences"
β
MCP Node β Tool: get_absences
```
### Mistake 2: Wrong operation
```
β Operation: List Tools
β
Operation: Execute Tool
```
### Mistake 3: Adding quotes to tool name
```
β Tool Name: "get_absences"
β
Tool Name: get_absences
```
### Mistake 4: Missing parameters
```
β No parameters
β
Parameters: {"limit": 50, "offset": 0}
```
---
## π Need Help?
If you're still getting errors:
1. **Check your MCP server is running**
```bash
cd /Users/dwayne/Documents/Playground/Simplicate
npm start
```
2. **Check your .env file exists**
```bash
cat .env
```
3. **Test the API directly**
```bash
npm run test:all
```
4. **Check n8n can see the tools**
- Use "List Tools" operation first
- Verify "get_absences" is in the list
- Then switch to "Execute Tool"
---
## β
Success Checklist
- [ ] Using **MCP Node** (not AI Agent)
- [ ] Operation set to **"Execute Tool"**
- [ ] Tool name is **exact** (e.g., `get_absences`)
- [ ] Parameters are **valid JSON**
- [ ] MCP server is **running**
- [ ] Credentials are **configured in n8n**
---
**Once all checkboxes are ticked, it WILL work!** π