strapi-mcp-connect 1.0.6 β†’ 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +228 -85
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,51 +1,94 @@
1
- # strapi-connect-mcp
1
+ # strapi-mcp-connect
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/strapi-connect-mcp.svg)](https://www.npmjs.com/package/strapi-connect-mcp)
4
- [![npm downloads](https://img.shields.io/npm/dt/strapi-connect-mcp.svg)](https://www.npmjs.com/package/strapi-connect-mcp)
3
+ [![npm version](https://img.shields.io/npm/v/strapi-mcp-connect.svg)](https://www.npmjs.com/package/strapi-mcp-connect)
4
+ [![npm downloads](https://img.shields.io/npm/dt/strapi-mcp-connect.svg)](https://www.npmjs.com/package/strapi-mcp-connect)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![Node Version](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org)
7
7
  [![Strapi Compatibility](https://img.shields.io/badge/Strapi-v4%20%7C%20v5-blue.svg)](https://strapi.io)
8
8
  [![MCP Version](https://img.shields.io/badge/MCP-1.13.0-purple.svg)](https://modelcontextprotocol.io)
9
9
 
10
- An enterprise-ready **Model Context Protocol (MCP)** server that connects AI assistants (**Claude Desktop, Cursor, VS Code, Windsurf, Claude Code, and Antigravity**) directly to your **Strapi Headless CMS**.
10
+ An enterprise-ready **Model Context Protocol (MCP) server** that connects AI assistants such as **Claude Desktop, Cursor, VS Code, Windsurf, Claude Code, and Antigravity** directly to your **Strapi Headless CMS**.
11
11
 
12
- Empower your LLM to perform CRUD operations, inspect and update Single & Collection Types, filter, paginate, deeply populate relations/media, and manage draft/published content seamlessly using natural language.
12
+ Use natural-language requests to work with Strapi content through MCP tools for CRUD operations, Single Types, Collection Types, filtering, pagination, relations, media population, and draft/published content workflows.
13
13
 
14
14
  ---
15
15
 
16
16
  ## πŸ›οΈ Architecture & How It Works
17
17
 
18
- ```
18
+ ```text
19
19
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
20
20
  β”‚ AI Client / Assistant β”‚
21
- β”‚ (Claude Desktop, Cursor IDE, VS Code, Windsurf) β”‚
21
+ β”‚ Claude Desktop β€’ Cursor β€’ VS Code β€’ Windsurf β€’ etc. β”‚
22
22
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
23
23
  β”‚ Standard I/O (stdio)
24
24
  β”‚ JSON-RPC MCP Protocol
25
25
  β–Ό
26
26
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
27
- β”‚ strapi-connect-mcp β”‚
28
- β”‚ (Type-Safe Zod Schema & Validation Engine) β”‚
27
+ β”‚ strapi-mcp-connect β”‚
28
+ β”‚ Type-Safe Zod Schema & Validation Engine β”‚
29
29
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
30
30
  β”‚ Authenticated REST API
31
- β”‚ (Bearer Token / API Key)
31
+ β”‚ Bearer Token / API Token
32
32
  β–Ό
33
33
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
34
34
  β”‚ Strapi CMS (v4 / v5) β”‚
35
- β”‚ (http://localhost:1337) β”‚
35
+ β”‚ http://localhost:1337 β”‚
36
36
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
37
37
  ```
38
38
 
39
+ ### Request Flow
40
+
41
+ ```text
42
+ Natural-language request
43
+ ↓
44
+ AI Client / Assistant
45
+ ↓
46
+ MCP Tool Selection
47
+ ↓
48
+ Schema Validation
49
+ ↓
50
+ Strapi REST API
51
+ ↓
52
+ Create / Read / Update / Delete / Publish
53
+ ↓
54
+ Result returned to the AI client
55
+ ```
56
+
39
57
  ---
40
58
 
41
59
  ## ✨ Key Highlights
42
60
 
43
- - ⚑ **Zero Installation (`npx`)**: Run instantly in any MCP-compatible client without manual downloads or repository cloning.
44
- - πŸ“¦ **Full Collection CRUD**: Complete create, read, update, and delete support across all collection types.
45
- - πŸ“„ **Native Single Types**: First-class support for single types (e.g. `homepage`, `navigation`, `footer`, `global`).
46
- - πŸš€ **Strapi v5 & v4 Ready**: Fully supports Strapi v5 `documentId` identifiers and `draft` / `published` workflows alongside classic numeric IDs.
47
- - πŸ”— **Deep Population & Filters**: Filter queries, sorting parameters, and `populate=*` for nested relations and media fields.
48
- - πŸ›‘οΈ **Type-Safe Validation**: Built on top of Zod schemas and official Model Context Protocol SDK.
61
+ - ⚑ **Zero-Clone Setup with `npx`**: Run the MCP server directly without manually downloading or cloning the repository.
62
+ - πŸ“¦ **Full Collection CRUD**: Complete create, read, update, and delete support across Collection Types.
63
+ - πŸ“„ **Native Single Types**: First-class support for Single Types such as `homepage`, `navigation`, `footer`, and `global`.
64
+ - πŸš€ **Strapi v4 & v5 Ready**: Supports Strapi v4 numeric IDs and Strapi v5 `documentId`-based content workflows.
65
+ - πŸ”— **Deep Population & Filters**: Supports filtering, sorting, pagination, relations, and media population such as `populate=*`.
66
+ - πŸ›‘οΈ **Type-Safe Validation**: Built with the Model Context Protocol TypeScript SDK and Zod schemas.
67
+ - πŸ” **Token-Based Authentication**: Uses a Strapi API Token for authenticated REST API access.
68
+
69
+ ---
70
+
71
+ ## πŸ“¦ Installation
72
+
73
+ ### Install from npm
74
+
75
+ ```bash
76
+ npm install strapi-mcp-connect
77
+ ```
78
+
79
+ ### Run directly with `npx`
80
+
81
+ ```bash
82
+ npx -y strapi-mcp-connect
83
+ ```
84
+
85
+ ### CLI command
86
+
87
+ The executable exposed by the package is:
88
+
89
+ ```bash
90
+ strapi-connect-mcp
91
+ ```
49
92
 
50
93
  ---
51
94
 
@@ -53,18 +96,37 @@ Empower your LLM to perform CRUD operations, inspect and update Single & Collect
53
96
 
54
97
  | Variable | Required | Default | Description |
55
98
  |---|---|---|---|
56
- | `STRAPI_URL` | **Yes** | `http://localhost:1337` | The base URL of your Strapi CMS (e.g. `http://localhost:1337` or `https://cms.yourdomain.com`). |
57
- | `STRAPI_API_TOKEN` | **Yes** | *(empty)* | Full-access or custom API Token generated from your Strapi Admin Panel. |
99
+ | `STRAPI_URL` | **Yes** | `http://localhost:1337` | Base URL of your Strapi CMS. |
100
+ | `STRAPI_API_TOKEN` | **Yes** | β€” | Strapi API Token used to authenticate REST API requests. |
101
+
102
+ Example:
103
+
104
+ ```env
105
+ STRAPI_URL=http://localhost:1337
106
+ STRAPI_API_TOKEN=YOUR_STRAPI_API_TOKEN
107
+ ```
108
+
109
+ > **Security:** Never commit real Strapi API tokens to GitHub or hard-code them in source code. Use environment variables or your AI client's secure environment configuration.
58
110
 
59
111
  ---
60
112
 
61
- ## πŸš€ Quick Setup Guide (All AI Clients)
113
+ # πŸš€ Quick Setup Guide
114
+
115
+ ## 1. Claude Desktop
116
+
117
+ Add this configuration to your Claude Desktop configuration file.
62
118
 
63
- ### 1. Claude Desktop
119
+ **Windows**
64
120
 
65
- Add this configuration to your Claude Desktop config:
66
- - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
67
- - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
121
+ ```text
122
+ %APPDATA%\Claude\claude_desktop_config.json
123
+ ```
124
+
125
+ **macOS**
126
+
127
+ ```text
128
+ ~/Library/Application Support/Claude/claude_desktop_config.json
129
+ ```
68
130
 
69
131
  ```json
70
132
  {
@@ -73,7 +135,7 @@ Add this configuration to your Claude Desktop config:
73
135
  "command": "npx",
74
136
  "args": [
75
137
  "-y",
76
- "strapi-connect-mcp"
138
+ "strapi-mcp-connect"
77
139
  ],
78
140
  "env": {
79
141
  "STRAPI_URL": "http://localhost:1337",
@@ -84,11 +146,13 @@ Add this configuration to your Claude Desktop config:
84
146
  }
85
147
  ```
86
148
 
149
+ Restart Claude Desktop after changing the configuration.
150
+
87
151
  ---
88
152
 
89
- ### 2. Cursor IDE
153
+ ## 2. Cursor IDE
90
154
 
91
- 1. Navigate to **Cursor Settings** $\rightarrow$ **Features** $\rightarrow$ **MCP** (or create `.cursor/mcp.json` in your project root):
155
+ Open **Cursor Settings β†’ Features β†’ MCP**, or configure MCP in your project using `.cursor/mcp.json`.
92
156
 
93
157
  ```json
94
158
  {
@@ -97,7 +161,7 @@ Add this configuration to your Claude Desktop config:
97
161
  "command": "npx",
98
162
  "args": [
99
163
  "-y",
100
- "strapi-connect-mcp"
164
+ "strapi-mcp-connect"
101
165
  ],
102
166
  "env": {
103
167
  "STRAPI_URL": "http://localhost:1337",
@@ -110,9 +174,13 @@ Add this configuration to your Claude Desktop config:
110
174
 
111
175
  ---
112
176
 
113
- ### 3. Windsurf IDE
177
+ ## 3. Windsurf IDE
178
+
179
+ Add the server to:
114
180
 
115
- Add to `~/.codeium/windsurf/mcp_config.json`:
181
+ ```text
182
+ ~/.codeium/windsurf/mcp_config.json
183
+ ```
116
184
 
117
185
  ```json
118
186
  {
@@ -121,7 +189,7 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
121
189
  "command": "npx",
122
190
  "args": [
123
191
  "-y",
124
- "strapi-connect-mcp"
192
+ "strapi-mcp-connect"
125
193
  ],
126
194
  "env": {
127
195
  "STRAPI_URL": "http://localhost:1337",
@@ -134,9 +202,9 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
134
202
 
135
203
  ---
136
204
 
137
- ### 4. VS Code (Cline / Roo Code / Copilot MCP)
205
+ ## 4. VS Code
138
206
 
139
- Add to your workspace `.vscode/mcp.json` or settings:
207
+ For MCP-compatible VS Code clients or extensions, configure the server in `.vscode/mcp.json` when supported:
140
208
 
141
209
  ```json
142
210
  {
@@ -146,7 +214,7 @@ Add to your workspace `.vscode/mcp.json` or settings:
146
214
  "command": "npx",
147
215
  "args": [
148
216
  "-y",
149
- "strapi-connect-mcp"
217
+ "strapi-mcp-connect"
150
218
  ],
151
219
  "env": {
152
220
  "STRAPI_URL": "http://localhost:1337",
@@ -159,9 +227,13 @@ Add to your workspace `.vscode/mcp.json` or settings:
159
227
 
160
228
  ---
161
229
 
162
- ### 5. Antigravity IDE
230
+ ## 5. Antigravity IDE
163
231
 
164
- Add to your global or workspace configuration (`~/.gemini/config/mcp_config.json`):
232
+ Add to your global or workspace MCP configuration:
233
+
234
+ ```text
235
+ ~/.gemini/config/mcp_config.json
236
+ ```
165
237
 
166
238
  ```json
167
239
  {
@@ -170,7 +242,7 @@ Add to your global or workspace configuration (`~/.gemini/config/mcp_config.json
170
242
  "command": "npx",
171
243
  "args": [
172
244
  "-y",
173
- "strapi-connect-mcp"
245
+ "strapi-mcp-connect"
174
246
  ],
175
247
  "env": {
176
248
  "STRAPI_URL": "http://localhost:1337",
@@ -183,35 +255,38 @@ Add to your global or workspace configuration (`~/.gemini/config/mcp_config.json
183
255
 
184
256
  ---
185
257
 
186
- ### 6. Claude Code CLI
258
+ ## 6. Claude Code CLI
259
+
260
+ Add the MCP server with:
187
261
 
188
262
  ```bash
189
- claude mcp add strapi -- npx -y strapi-connect-mcp
263
+ claude mcp add strapi -- npx -y strapi-mcp-connect
190
264
  ```
191
265
 
192
-
193
266
  ---
194
267
 
195
- ## πŸ› οΈ Available MCP Tools & Parameters
268
+ # πŸ› οΈ Available MCP Tools & Parameters
196
269
 
197
270
  | Tool | Purpose | Parameters |
198
271
  |---|---|---|
199
- | **`test_connection`** | Verifies Strapi instance health and token validity. | *(None)* |
200
- | **`get_entries`** | Fetch collection entries with pagination, sorting, filters, populate & status. | `pluralApiId`, `page`, `pageSize`, `filters`, `populate`, `sort`, `status` |
201
- | **`get_entry`** | Fetch a single collection entry by `id` or `documentId`. | `pluralApiId`, `id`, `populate`, `status` |
202
- | **`get_single_type`** | Fetch single type content (e.g. `homepage`, `footer`). | `singularApiId`, `populate`, `status` |
203
- | **`update_single_type`** | Update single type content. | `singularApiId`, `data` |
204
- | **`create_entry`** | Create a new entry in a collection. | `pluralApiId`, `data`, `status` |
205
- | **`update_entry`** | Modify an existing collection entry. | `pluralApiId`, `id`, `data` |
206
- | **`delete_entry`** | Permanently delete a collection entry. | `pluralApiId`, `id` |
207
- | **`raw_query`** | Execute direct requests on any custom Strapi endpoint. | `endpoint`, `method`, `body` |
272
+ | **`test_connection`** | Verifies Strapi availability and token authentication. | None |
273
+ | **`get_entries`** | Fetches Collection Type entries with pagination, sorting, filters, population, and status. | `pluralApiId`, `page`, `pageSize`, `filters`, `populate`, `sort`, `status` |
274
+ | **`get_entry`** | Fetches a Collection Type entry by `id` or `documentId`. | `pluralApiId`, `id`, `populate`, `status` |
275
+ | **`get_single_type`** | Fetches Single Type content such as `homepage` or `footer`. | `singularApiId`, `populate`, `status` |
276
+ | **`update_single_type`** | Updates Single Type content. | `singularApiId`, `data` |
277
+ | **`create_entry`** | Creates a new Collection Type entry. | `pluralApiId`, `data`, `status` |
278
+ | **`update_entry`** | Updates an existing Collection Type entry. | `pluralApiId`, `id`, `data` |
279
+ | **`delete_entry`** | Deletes a Collection Type entry. | `pluralApiId`, `id` |
280
+ | **`raw_query`** | Sends a direct request to a custom Strapi endpoint. | `endpoint`, `method`, `body` |
208
281
 
209
282
  ---
210
283
 
211
- ## πŸ’‘ Practical Examples
284
+ # πŸ’‘ Practical Examples
285
+
286
+ ## 1. Fetch entries with relations
212
287
 
213
- ### 1. Fetching Entries with Relations
214
288
  **Tool:** `get_entries`
289
+
215
290
  ```json
216
291
  {
217
292
  "pluralApiId": "articles",
@@ -221,8 +296,10 @@ claude mcp add strapi -- npx -y strapi-connect-mcp
221
296
  }
222
297
  ```
223
298
 
224
- ### 2. Creating a Published Entry
299
+ ## 2. Create a published entry
300
+
225
301
  **Tool:** `create_entry`
302
+
226
303
  ```json
227
304
  {
228
305
  "pluralApiId": "pages",
@@ -235,8 +312,10 @@ claude mcp add strapi -- npx -y strapi-connect-mcp
235
312
  }
236
313
  ```
237
314
 
238
- ### 3. Fetching a Single Type
315
+ ## 3. Fetch a Single Type
316
+
239
317
  **Tool:** `get_single_type`
318
+
240
319
  ```json
241
320
  {
242
321
  "singularApiId": "homepage",
@@ -246,61 +325,125 @@ claude mcp add strapi -- npx -y strapi-connect-mcp
246
325
 
247
326
  ---
248
327
 
249
- ## πŸ”‘ Generating Your Strapi API Token
328
+ # πŸ”‘ Generating Your Strapi API Token
329
+
330
+ 1. Open your Strapi Admin Panel:
331
+ ```text
332
+ http://localhost:1337/admin
333
+ ```
334
+ 2. Go to **Settings β†’ API Tokens**.
335
+ 3. Click **Create new API Token**.
336
+ 4. Use a name such as:
337
+ ```text
338
+ MCP Connector
339
+ ```
340
+ 5. Choose the permissions required for your content operations.
341
+ 6. Save the token and copy it securely.
342
+
343
+ Then configure:
344
+
345
+ ```env
346
+ STRAPI_API_TOKEN=YOUR_STRAPI_API_TOKEN
347
+ ```
348
+
349
+ > For production environments, use the minimum permissions required for the workflow instead of granting unnecessary access.
350
+
351
+ ---
352
+
353
+ # πŸ’¬ Natural Language Prompt Examples
354
+
355
+ After configuration, you can ask your AI assistant:
356
+
357
+ ```text
358
+ List all entries from my articles collection in Strapi.
359
+ ```
360
+
361
+ ```text
362
+ Fetch the homepage single type content and summarize it.
363
+ ```
364
+
365
+ ```text
366
+ Create a new product in Strapi with title "Wireless Headphones" and price 149.
367
+ ```
368
+
369
+ ```text
370
+ Update the about-page entry and change the contact email.
371
+ ```
372
+
373
+ ```text
374
+ Find all draft pages in Strapi.
375
+ ```
250
376
 
251
- 1. Open your Strapi Admin Panel (`http://localhost:1337/admin`).
252
- 2. Go to **Settings** $\rightarrow$ **API Tokens** $\rightarrow$ Click **Create new API Token**.
253
- 3. Choose:
254
- - **Name:** `MCP Connector`
255
- - **Token duration:** `Unlimited`
256
- - **Token type:** `Full access` *(or configure granular permissions)*
257
- 4. Click **Save** and copy the generated token into your MCP configuration.
377
+ ```text
378
+ Create a 2BHK property in Ahmedabad with a price of 45 lakh.
379
+ ```
258
380
 
259
381
  ---
260
382
 
261
- ## πŸ’¬ Natural Language Prompt Examples
383
+ # πŸ” Security & Permissions
262
384
 
263
- Once configured, simply talk to your AI assistant:
385
+ This MCP server communicates with Strapi through authenticated REST API requests.
264
386
 
265
- - *"List all entries from my **articles** collection in Strapi."*
266
- - *"Fetch the **homepage** single type content and summarize it."*
267
- - *"Create a new product in Strapi with title 'Wireless Headphones' and price 149."*
268
- - *"Update the **about-page** entry to change the contact email."*
269
- - *"Find all draft pages in Strapi."*
387
+ Recommended practices:
388
+
389
+ - Never hard-code Strapi API tokens in source code.
390
+ - Never commit `.env` files containing real credentials.
391
+ - Grant only the Strapi permissions required by your workflow.
392
+ - Keep production credentials separate from local development credentials.
393
+ - Review `raw_query` usage carefully because it can access custom endpoints supported by the configured token.
270
394
 
271
395
  ---
272
396
 
273
- ## ❓ Troubleshooting & FAQs
397
+ # ❓ Troubleshooting & FAQs
274
398
 
275
399
  | Issue | Root Cause | Solution |
276
400
  |---|---|---|
277
- | **401 Unauthorized** | Invalid, expired, or missing Strapi API Token. | Generate a fresh Full Access token in Strapi Admin $\rightarrow$ Settings $\rightarrow$ API Tokens and update your MCP configuration. |
278
- | **404 Not Found** | Incorrect collection name or Plural API ID. | Check the exact **Plural API ID** in Strapi Admin $\rightarrow$ Content-Type Builder (e.g. use `pages`, `articles`, `products`). |
279
- | **Connection Refused** | Strapi server is not running or URL is wrong. | Ensure `npm run dev` is active in your Strapi project and `STRAPI_URL` points to `http://localhost:1337`. |
280
- | **Tools Not Showing** | Config syntax error or editor wasn't restarted. | Verify JSON syntax and fully restart your AI editor (check background processes). |
401
+ | **401 Unauthorized** | Invalid, expired, or missing Strapi API Token. | Generate a valid API token and update `STRAPI_API_TOKEN`. |
402
+ | **403 Forbidden** | The token does not have sufficient permissions. | Update the token permissions for the required content type/action. |
403
+ | **404 Not Found** | Incorrect Collection Type name, Single Type name, or endpoint. | Verify the exact API ID in Strapi. |
404
+ | **Connection Refused** | Strapi is not running or `STRAPI_URL` is incorrect. | Start Strapi and verify the configured URL. |
405
+ | **Tools Not Showing** | MCP configuration is incorrect or the AI client has not reloaded the server. | Check the JSON configuration and restart the AI client. |
406
+ | **Invalid Data** | Request fields do not match the Strapi content-type schema. | Check the content-type schema and provide the correct fields. |
407
+
408
+ ---
409
+
410
+ # πŸ—ΊοΈ Roadmap
411
+
412
+ - [ ] Automated Schema & Content-Type Discovery
413
+ - [ ] GraphQL query execution support
414
+ - [ ] Advanced Strapi Media Library management
415
+ - [ ] Batch entry creation & bulk updates
416
+ - [ ] More granular permission-aware tool discovery
281
417
 
282
418
  ---
283
419
 
284
- ## πŸ—ΊοΈ Roadmap
420
+ # ⚠️ Known Limitations
285
421
 
286
- - [ ] Automated Schema & Content-Type Discovery (auto-detect all plural and singular API IDs).
287
- - [ ] GraphQL query execution support.
288
- - [ ] Advanced Strapi Media Library management integration.
289
- - [ ] Batch entry creation & bulk updates.
422
+ - **REST API Dependency:** This MCP server communicates with Strapi through the REST API.
423
+ - **Permissions:** Available operations depend on the permissions assigned to the configured Strapi API Token.
424
+ - **Custom Plugins:** Custom plugins with non-standard route structures can be accessed using `raw_query` when the token has sufficient permissions.
425
+ - **Schema Discovery:** Automated schema and Content-Type discovery is planned for a future release.
290
426
 
291
427
  ---
292
428
 
293
- ## ⚠️ Known Limitations
429
+ # 🀝 Contributing
430
+
431
+ Contributions, issues, and feature requests are welcome.
294
432
 
295
- - **REST API Dependency:** This MCP server communicates via Strapi's standard REST API. Ensure the REST endpoints are enabled in your Strapi project.
296
- - **Permissions:** Operations depend on the permissions assigned to your Strapi API Token. If a tool fails with `403 Forbidden`, ensure the token has sufficient permissions for that content type in Strapi Admin $\rightarrow$ Settings $\rightarrow$ API Tokens.
297
- - **Custom Plugins:** Custom plugins with non-standard API route structures can be accessed using the `raw_query` tool.
433
+ 1. Fork the repository.
434
+ 2. Create a feature branch.
435
+ 3. Make your changes.
436
+ 4. Run the build.
437
+ 5. Verify the MCP server locally.
438
+ 6. Open a pull request.
298
439
 
299
440
  ---
300
441
 
301
- ## πŸ“„ License
442
+ # πŸ“„ License
302
443
 
303
444
  Distributed under the **MIT License**.
304
445
 
305
- Authored with ❀️ by **[Kevin-patel](https://github.com/kevinpateldevelopment)**
446
+ Authored with ❀️ by **Kevin Patel**
306
447
 
448
+ - GitHub: https://github.com/kevinpateldevelopment
449
+ - npm: https://www.npmjs.com/package/strapi-mcp-connect
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "name":"strapi-mcp-connect",
3
- "version": "1.0.6",
2
+ "name": "strapi-mcp-connect",
3
+ "version": "1.0.7",
4
4
  "description": "Model Context Protocol (MCP) server for Strapi CMS. Connects Claude Desktop, Cursor, VS Code, and AI IDEs to Strapi REST API.",
5
5
  "type": "module",
6
6
  "main": "build/index.js",