diff --git a/docs/Universe/MCP/chatgpt.md b/docs/Universe/MCP/chatgpt.md index a01f3fee..6c4ae55b 100644 --- a/docs/Universe/MCP/chatgpt.md +++ b/docs/Universe/MCP/chatgpt.md @@ -57,7 +57,7 @@ Start a new chat, make sure the Flotiq plugin is enabled in the message composer !!! Note ChatGPT decides on its own which tools to call. Read [Working safely with write tools](index.md#working-safely-with-write-tools) before letting it create or update - content. + content or Content Types. ## Related docs diff --git a/docs/Universe/MCP/index.md b/docs/Universe/MCP/index.md index a0959fc3..4a61fde0 100644 --- a/docs/Universe/MCP/index.md +++ b/docs/Universe/MCP/index.md @@ -18,6 +18,7 @@ Instead of copying content between your CMS and a chat window, you can simply as * *"How many products do I have in Flotiq?"* * *"Create a blog post about our new pricing and leave it as a draft."* * *"Find all events without a cover image."* +* *"Create an Author content type and link it to my blog posts."* ## Server URL @@ -46,10 +47,10 @@ Space. **Permissions** - choose the access scope: -| Scope | Available tools | -|----------------|-----------------------------------------------------------------------------| -| `Read` | `data_efficient_list_ctd`, `get_content_type`, `list_objects`, `get_object` | -| `Read & Write` | all tools, including `create_object`, `update_object`, `publish_object` | +| Scope | Available tools | +|----------------|--------------------------------------------------------------------------------------------------------------------------| +| `Read` | `data_efficient_list_ctd`, `get_content_type`, `list_objects`, `get_object` | +| `Read & Write` | all tools, including `create_object`, `update_object`, `publish_object`, `create_content_type` and `update_content_type` | Grant `Read` unless you actually want the assistant to change your content. This limit is enforced by Flotiq, so it holds regardless of how your client is configured. @@ -65,19 +66,46 @@ Most clients support Dynamic Client Registration, so the OAuth Client ID and Cli ## Available tools -| Tool | Access | Description | -|---------------------------|--------|-----------------------------------------------------------| -| `data_efficient_list_ctd` | read | Lists all Content Type Definitions in your Flotiq account | -| `get_content_type` | read | Fetches a single Content Type | -| `list_objects` | read | Lists Content Objects of a given Content Type | -| `get_object` | read | Fetches a single Content Object by its ID | -| `create_object` | write | Creates a new Content Object of a given Content Type | -| `update_object` | write | Updates an existing Content Object | -| `publish_object` | write | Publishes a draft object so it becomes publicly visible | +| Tool | Access | Description | +|---------------------------|--------|-----------------------------------------------------------------| +| `data_efficient_list_ctd` | read | Lists all Content Type Definitions in your Flotiq account | +| `get_content_type` | read | Fetches a single Content Type | +| `list_objects` | read | Lists Content Objects of a given Content Type | +| `get_object` | read | Fetches a single Content Object by its ID | +| `create_object` | write | Creates a new Content Object of a given Content Type | +| `update_object` | write | Updates an existing Content Object | +| `publish_object` | write | Publishes a draft object so it becomes publicly visible | +| `create_content_type` | write | Creates a new Content Type Definition | +| `update_content_type` | write | Changes fields and settings of an existing Content Type | + +## Managing content + +With the `Read` scope the assistant can browse and search your [Content Objects](../../panel/ContentObjects/index.md). +With the `Read & Write` scope it can also create, update and publish them. You can describe what you need in plain +language, for example: + +* *"List all blog posts published this month."* +* *"Create a draft blog post about our new pricing."* +* *"Fix typos in the description of the 'Summer sale' product and publish it."* Objects created through `create_object` follow the same [Draft & Public](../../panel/ContentObjects/draft-public.md) rules as objects created in the Flotiq editor. +![](../images/mcp/mcp-manage-content.png){: .center .width50 .border} + +## Managing Content Types + +With the `Read & Write` scope the assistant can also design your data model - create new +[Content Types](../../panel/content-types.md) and change existing ones. You can describe what you need in plain +language, for example: + +* *"Create a Product content type with a name, price, description, gallery and a unique slug generated from the + name."* +* *"Add a required 'Reading time' number field to Blog post."* +* *"Enable Draft & Public on the Event content type."* + +![](../images/mcp/mcp-create-update-content-type.png){: .center .width50 .border} + ## Setting up your client * [ChatGPT](chatgpt.md) @@ -95,13 +123,17 @@ account immediately - Flotiq does not ask for a second confirmation. Before you 1. **Require confirmation for write tools.** Most clients let you decide per tool whether the model may run it automatically. Allow `data_efficient_list_ctd`, `get_content_type`, `list_objects` and `get_object`, and require - confirmation for `create_object`, `update_object` and `publish_object`. + confirmation for `create_object`, `update_object`, `publish_object`, `create_content_type` and + `update_content_type`. 2. **Test on a separate Space.** [Spaces](../../panel/spaces.md) are isolated, so you can experiment without touching - production content - just pick the test Space on the login screen when connecting. -3. **Review the diff.** Assistants can misread your data model. Check changed objects in the Flotiq editor. + production content - just pick the test Space on the login screen when connecting. This is especially important + for Content Type changes, which affect every object of that type. +3. **Review the diff.** Assistants can misread your data model. Check changed objects and Content Types in the Flotiq + editor. ## Related docs - [Universe overview](../overview.md) - [Get Started with API](../../API/get-started.md) +- [Content Types](../../panel/content-types.md) - [Spaces and Organization](../../panel/spaces.md) diff --git a/docs/Universe/images/mcp/mcp-create-update-content-type.png b/docs/Universe/images/mcp/mcp-create-update-content-type.png new file mode 100644 index 00000000..5c39a18f Binary files /dev/null and b/docs/Universe/images/mcp/mcp-create-update-content-type.png differ diff --git a/docs/Universe/images/mcp/mcp-manage-content.png b/docs/Universe/images/mcp/mcp-manage-content.png new file mode 100644 index 00000000..d86e0433 Binary files /dev/null and b/docs/Universe/images/mcp/mcp-manage-content.png differ