Skip to main content
Glama
codesyntax

Plone Dynamic Pages MCP Server

by codesyntax

Plone Dynamic Pages MCP Server

A specialized Model Context Protocol (MCP) server for managing Plone sites built with the cs_dynamicpages product. This server allows LLMs to inspect, create, and manage complex page layouts directly.

🚀 Key Features

  • Session-Aware & Contextual: Use set_session_context to set credentials once and forget them for the rest of the session.

  • Dynamic Layout Management: Analyze full page structures, including rows and featured items.

  • Full CRUD Operations: Create, patch, move, and delete Plone content and layout components.

  • Universal Content Support: Generic create_content tool for any Plone content type (Folder, Document, Link, etc.).

  • Local File Integration: upload_local_asset allows direct upload of files from your filesystem.


Related MCP server: optimizely-cms-mcp

🛠️ Tools Provided

Tool

Description

check_credentials_status

Verifies if Plone credentials (token or cookie) are provided.

set_session_context

Sets the default site URL and credentials for the current session.

get_site_definitions

Fetches site-specific definitions (Schemas and Row Types) from Plone.

get_dynamic_page_content

Returns the full JSON structure of a DynamicPage (Rows + Featured Items). Handles up to 1000 items.

create_content

Creates any content type in Plone (Folder, Document, Link, etc.).

create_dynamic_page_row

Creates a new layout section (DynamicPageRow) in a page.

create_dynamic_page_row_featured

Creates a featured item (DynamicPageRowFeatured) within an existing row.

search_content

Searches for content, assets, or pages. Supports custom limit (default: 100).

patch_content

Updates an existing Plone object (PATCH).

delete_content

Deletes a Plone object (requires confirmation).

move_dynamic_page_row

Reorders layout rows (top, bottom, or specific position).

upload_file

Uploads images or files using Base64 data.

upload_local_asset

Reads a file from the local filesystem and uploads it to Plone.


💻 Installation & Usage

This server is designed to be run without manual installation or cloning, using npx.

Add the following configuration to your Opencode (opencode.json):

{
  "mcp": {
    "cs-dynamicpages": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "github:codesyntax/cs-dynamicpages-mcp"
      ],
      "enabled": true
    }
  }
}

Environment Variables

  • PLONE_API_URL: The base URL of your Plone REST API.

  • PLONE_TOKEN: Bearer token for authentication.

  • PLONE_COOKIE: Session cookie (__ac) for authentication.

Note: You can also set these dynamically during a session using the set_session_context tool.


🏗️ Project Structure

  • src/local.ts: Entry point for local stdio execution.

  • src/server.ts: Core MCP server logic and tool definitions.

  • src/tools/: Modular implementations of Plone API interactions.

  • src/utils.ts: Helper functions for URL normalization and headers.


🔒 Security

This server handles credentials strictly within your local environment. When running via npx, the code is fetched from GitHub and executed on your machine. Ensure you trust the source before providing sensitive API tokens.

F
license - not found
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Create and manage Lindo AI websites, pages, blogs, clients, and credits from any MCP client.

  • Build and run visual creative-production workflows from your AI agent.

  • Publish & manage shareable HTML/Markdown pages from your LLM, with access control.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/codesyntax/cs-dynamicpages-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server