Sandbox
@hauptsacheNet/typo3-mcp-server

MCP server for TYPO3 workspace content control

This extension connects a TYPO3 site to MCP clients so an assistant can inspect pages, records, and files and then stage changes in workspaces. It supports safe content editing, file upload, multilingual content tasks, and record updates through TYPO3’s own permissions and publishing flow.

96 starsβ€’25 forksβ€’PHPβ€’Updated 7d ago
Who it's for

Builders who want their AI assistant to work inside TYPO3 without touching live content first.

What it delivers

You can let an agent update TYPO3 content and review the result in a workspace before publishing.

What it does

Workspace-staged content editing

Pages and records are created or updated in TYPO3 workspaces instead of going live immediately.

MCP access for AI tools

The server exposes TYPO3 through MCP so clients like Claude, Cursor, and other MCP tools can connect to it.

File upload paths

Files can come from a URL, a local upload link, raw text, or YouTube and Vimeo sources.

Page and record browsing

The server can read page trees, content elements, and workspace-capable tables with schema awareness.

TYPO3 backend authentication

It supports OAuth for backend users as well as a local command-line connection.

How to get it

  1. 1Run
    composer require hn/typo3-mcp-server

README

TYPO3 MCP Server Extension

This extension provides a Model Context Protocol (MCP) server implementation for TYPO3 that allows AI assistants to safely view and manipulate TYPO3 pages and records through TYPO3's workspace system.

πŸ”’ Safe AI Content Management with Workspaces

All content changes are automatically queued in TYPO3 workspaces, making it completely safe for AI assistants to create, update, and modify content without immediately affecting your live website. Changes require explicit publishing to become visible to site visitors.

πŸ§ͺ Continuously Tested With Real LLMs

Every push to main runs a benchmark that has the latest models from Anthropic, OpenAI, Mistral, and Google actually use this MCP to perform real TYPO3 tasks. That's how we stay vendor-independent and prove the tool descriptions convey what they claim across very different prompting styles β€” your AI assistant of choice should just work, not only ours. Click any badge for the full run-by-run history.

haiku-4.5 gpt-5.4-mini gpt-oss-120b mistral-large-2512 gemini-3-flash

What Can You Do?

With the TYPO3 MCP Server, your AI assistant can help you:

πŸ“ Content Management

  • Translate Pages: "Translate the /about-us page to German" - The AI reads your content, translates it, and creates proper language versions
  • Import Documents: "Create a news article from this Word document" - Transform external documents into TYPO3 content with proper structure
  • Bulk Updates: "Update all product descriptions to include our new sustainability message" - Make consistent changes across multiple pages

πŸ” Content Analysis & SEO

  • SEO Optimization: "Add meta descriptions to all pages that don't have them" - Automatically generate missing SEO content based on page content
  • Tone Analysis: "Review the tone of our product pages and make them more friendly" - Get suggestions for improving content voice and style
  • Content Audit: "Find all pages mentioning our old company name" - Quickly locate content that needs updating

πŸš€ Productivity Boosters

  • Template Application: "Apply our standard legal disclaimer to all service pages" - Consistently apply content patterns
  • Content Migration: "Copy all news articles from 2023 to the archive folder" - Reorganize content efficiently
  • Multi-language Management: "Ensure all German pages have English translations" - Identify and fill translation gaps

πŸ–ΌοΈ Images, Videos & Files

  • Add Images From the Web: "Put this image on our homepage: https://example.org/press/team.jpg" - The AI downloads the file into your file storage and creates the content element that shows it
  • Embed Videos: "Put this video on the home page: https://www.youtube.com/watch?v=..." - YouTube and Vimeo links become proper TYPO3 online media assets
  • Add Text-Based Documents: "Add this price list as a CSV download on the service page" - Text formats like SVG, CSV or subtitles can be uploaded directly as content
  • Upload From Your Machine: "Upload the team photo from my Desktop and add it to the about page" - You get a single-use upload link, so the file goes directly to TYPO3 instead of through the AI's context

All these operations happen safely in workspaces, giving you full control to review before publishing!

πŸ’‘ Want to know how it works? Check out our Technical Overview for detailed information about the implementation, available tools, and real-world examples with actual tool calls.

Project Status

FeatureStatusNotes
MCP Connectionβœ… ReadyHTTP and stdin/stdout protocols (thanks to logiscape/mcp-sdk-php)
Authenticationβœ… ReadyOAuth for Backend Users
Page Tree Navigationβœ… ReadyPage tree view similar to the TYPO3 backend
Page Content Discoveryβœ… ReadySimilar to the List or Page module with backend layout support
Record Reading/Writingβœ… ReadyRead and write any workspace-capable TYPO3 table (core & extensions) with full schema inspection
Content Translation⚠️ ExperimentalImplemented, needs real-world testing
File Uploadβœ… ReadyFrom a URL, a YouTube/Vimeo link, raw text content, or a local file via single-use upload URL. Create-only: never overwrites or deletes, identical content is detected, executable files are refused
File Discovery & References⚠️ PartialBrowse sys_file and metadata within the user's file mounts (incl. public URLs), edit metadata, create file references. No visual or semantic image search yet
Workspace Selection❌ MissingCurrently uses the first writable workspace of the user

While there are a lot of automated tests, TYPO3 instances are widely different and Language Models are also widely different. Feel free to create issues here on GitHub or share experiences in the typo3-core-ai channel.

πŸ–ΌοΈ Files and Images

Your assistant can bring new files into TYPO3, and it picks the right of these four ways on its own:

  • From a URL: the TYPO3 server downloads the file itself, so the file never has to pass through the AI.
  • From YouTube or Vimeo: those links become proper TYPO3 online media assets β€” the video itself stays where it is.
  • Directly as content: text-based documents like SVG, CSV or subtitle files can be uploaded as content, without a URL or a separate upload.
  • From your own computer: the assistant hands out a single-use upload link, and your MCP client sends the file directly to TYPO3. Binary data never travels through the AI's context, which keeps large photos both cheap and private.

Uploading is deliberately create-only β€” nothing you already have can be overwritten or deleted. A name that is already taken is resolved by renaming (image.jpg becomes image_01.jpg), and uploading content that already exists returns the existing file instead of creating a duplicate. Files that could be executed, by the server or by a visitor's browser, are refused, as are files that reconfigure the web server. Downloads only work from public http(s) addresses, and your backend user's file mounts and file permissions apply throughout.

Unlike records, files are not workspace-versioned in TYPO3, so an uploaded file lands in your file storage right away. It only becomes visible on the website once a record references it β€” and that reference is workspace-staged, so the usual review before publishing still applies.

πŸ’‘ See Put this image on the homepage in the Technical Overview for the actual tool calls, and Image/File Handling for the upload-token flow and the current limits.

Installation

composer require hn/typo3-mcp-server

Requirements:

  • TYPO3 v13.4+
  • TYPO3 Workspaces extension (automatically installed as dependency)

Configuration

The defaults work out of the box. All settings live in the extension configuration (Admin Tools β†’ Settings β†’ Extension Configuration β†’ mcp_server):

SettingDefaultPurpose
maxFileSizeMb500Upper limit in MiB for files fetched from a URL or received through an upload link
additionalReadOnlyTablessys_fileNon-workspace-capable tables exposed read-only β€” this is what lets the AI browse your files
additionalStandaloneTablessys_file_metadatahideTable tables exposed as independent tables β€” this is what makes file metadata such as titles and alt texts editable

Usage

Quick Start

There are two ways to connect AI assistants like Claude Desktop to your TYPO3 installation:

Option 1: OAuth Authentication (Recommended)

For secure remote access with proper authentication:

  1. Go to [Username] β†’ MCP Server in your TYPO3 backend
  2. Copy the Server URL (and optionally the Integration Name)
  3. Add the Integration to whatever MCP Client you are using.

MCP Server Setup

Option 2: Local Command Line Connection

This method gives you admin privileges by default. Add this to your mcp config file of Claude Desktop or whatever client you are using.

{
   "mcpServers": {
      "[your-typo3-name]": {
         "command": "php",
         "args": [
            "vendor/bin/typo3",
            "mcp:server"
         ]
      }
   }
}

Development

Running Tests

# Functional tests (PHPUnit)
composer test

# E2E tests β€” spins up MySQL, TYPO3, and Playwright in Docker
Build/runTests.sh -s e2e

# E2E without Docker (host PHP + SQLite + local Playwright).
# Auto-selected when Docker is unavailable.
Build/runTests.sh -s e2e --no-docker

# E2E against an existing TYPO3 instance
TYPO3_BASE_URL=https://my.ddev.site Build/runTests.sh -s e2e

# See all options
Build/runTests.sh -h

Adding New Tools

Tools are defined in the Classes/MCP/Tool directory. Each tool follows the MCP tool specification and maps to specific TYPO3 functionality.

Learn More

License

GPL-2.0-or-later

Files in the repo

Repository payloadβ€’20 top-level entries
  • .github
  • Build
  • Classes
  • Configuration
  • Documentation
  • Resources
  • Tests
  • .gitignore
  • CLAUDE.md
  • composer.json
  • ext_conf_template.txt
  • ext_emconf.php
  • ext_localconf.php
  • ext_tables.sql
  • LICENSE
  • mcp_setup.png
  • phpunit.xml.dist
  • PLAN.md
  • README.md
  • TECHNICAL_OVERVIEW.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

Universal provider proxy for OpenAI Codex & Claude Code β€” use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300Β΅s in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

62k
1 add

Open-source auth gateway connecting 1400+ SaaS providers to AI agents through SDK, CLI, MCP, HTTP, and OpenAPI.

5.7k

Open-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.

23k