Skip to content

Commit e0493f9

Browse files
author
alban bertolini
committed
docs: add CRUD tools (create, update, delete) to forest-mcp skill
1 parent eda63bc commit e0493f9

1 file changed

Lines changed: 41 additions & 3 deletions

File tree

claude-skills/forest-mcp/SKILL.md

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
name: forest-mcp
3-
description: Query Forest Admin data through MCP tools. Use when the user wants to search, filter, or explore data from their Forest Admin database. Triggers on questions like "find all users", "show orders from last week", "how many products", or any data exploration request.
3+
description: Query and manipulate Forest Admin data through MCP tools. Use when the user wants to search, filter, explore, create, update, or delete data from their Forest Admin database. Triggers on questions like "find all users", "create a new order", "update user 42", "delete inactive products", or any data operation request.
44
---
55

66
# Forest Admin MCP
77

8-
Query Forest Admin data as if it were a database, with an abstraction layer that handles authentication, filtering, and relationships.
8+
Query and manipulate Forest Admin data as if it were a database, with an abstraction layer that handles authentication, filtering, and relationships.
99

1010
## Available Tools
1111

@@ -14,12 +14,16 @@ Query Forest Admin data as if it were a database, with an abstraction layer that
1414
| `describeCollection` | Get collection schema (fields, types, operators, relations) |
1515
| `list` | Query records from a collection |
1616
| `listRelated` | Query records from a one-to-many or many-to-many relation |
17+
| `create` | Create a new record in a collection |
18+
| `update` | Update an existing record by ID |
19+
| `delete` | Delete one or more records by IDs |
1720

1821
## Workflow
1922

20-
1. **Always start with `describeCollection`** to understand the collection structure before querying
23+
1. **Always start with `describeCollection`** to understand the collection structure before querying or modifying data
2124
2. Use `list` for direct collection queries
2225
3. Use `listRelated` to traverse relationships (e.g., "orders of user 123")
26+
4. Use `create`, `update`, `delete` for data modifications
2327

2428
## Filter Syntax
2529

@@ -96,9 +100,43 @@ list({
96100
})
97101
```
98102

103+
**"Create a new user"**
104+
```
105+
create({
106+
collectionName: "users",
107+
attributes: {
108+
name: "John Doe",
109+
email: "john@example.com",
110+
status: "active"
111+
}
112+
})
113+
```
114+
115+
**"Update user 42's email"**
116+
```
117+
update({
118+
collectionName: "users",
119+
recordId: 42,
120+
attributes: {
121+
email: "newemail@example.com"
122+
}
123+
})
124+
```
125+
126+
**"Delete inactive users"**
127+
```
128+
1. list({ collectionName: "users", filters: { field: "status", operator: "Equal", value: "inactive" } })
129+
2. delete({
130+
collectionName: "users",
131+
recordIds: [1, 5, 12] // IDs from the list result
132+
})
133+
```
134+
99135
## Tips
100136

101137
- Use `enableCount: true` when user asks "how many" or needs totals
102138
- Use `fields: ["id", "name"]` to reduce payload when only specific fields needed
103139
- Use `search` parameter for full-text search across searchable fields
104140
- Check `isSortable` from describeCollection before using sort
141+
- For `update`, only include attributes you want to change
142+
- For `delete`, always confirm with user before deleting multiple records

0 commit comments

Comments
 (0)