Skip to main content
Version: v2026.1.0

FlowerDocs MCP Server

The FlowerDocs MCP server exposes FlowerDocs administration and configuration management as tools that an AI assistant can call, using the Model Context Protocol. Connect any MCP-compatible assistant (Claude Desktop, Claude Code, Cursor, VS Code, and others) and drive FlowerDocs in natural language: create tag classes, edit GUI configurations, manage scripts and operation handlers, purge caches, and more.

It runs as a standalone service alongside your FlowerDocs Core and GUI, and speaks the Model Context Protocol over the Streamable HTTP transport.

It is an administration tool

Every tool runs under real FlowerDocs user credentials, and the whole server is gated by a shared access key. It is meant for administrators and integrators. See Authentication. Do not expose it openly on the internet.

Prerequisites​

  • Java 25
  • Running FlowerDocs Core and FlowerDocs GUI instances.
  • FlowerDocs user credentials: the MCP always authenticates; there is no anonymous access.
  • The MCP access key for your deployment (ask your administrator).

Connect your AI client​

Once the server is running (see Installation), the MCP endpoint is available at http://localhost:8086/flowerdocs-mcp/mcp. Declare two servers in your client configuration: flowerdocs, which performs the changes, and uxodocs, which gives the assistant this documentation so it gets them right (see Documentation MCP).

Edit claude_desktop_config.json (Windows: %APPDATA%\Claude\, Mac: ~/Library/Application Support/Claude/):

{
"mcpServers": {
"flowerdocs": {
"command": "mcp-remote",
"args": [
"http://localhost:8086/flowerdocs-mcp/mcp",
"--header", "X-FlowerDocs-Access-Key: ENC(yourEncryptedAccessKey)",
"--header", "X-FlowerDocs-User: yourUsername",
"--header", "X-FlowerDocs-Password: ENC(yourEncryptedPassword)",
"--header", "X-FlowerDocs-Scope: FD"
]
},
"uxodocs": {
"command": "mcp-remote",
"args": ["https://gitmcp.io/Uxopian/uxodocs"]
}
}
}

mcp-remote bridges URL-based MCP servers for Claude Desktop; install it with npm install -g mcp-remote. Restart Claude Desktop; both servers appear as connected.

To browse and call the tools interactively without an assistant, use the MCP Inspector, selecting the Streamable HTTP transport and the URL above.

Try it out​

Once connected, ask your assistant:

List all the admin entity types available.

Show me all tag classes defined in the FD scope.

Create a tag class called "InvoiceAmount" of type INT, make it searchable.

Show me the XML content of the GUI configuration "search-form-invoice".

Update the script "validate-invoice" to add a check on the InvoiceAmount tag.

What the assistant can do​

The tools are grouped into families:

FamilyPurpose
Admin entitiesGeneric CRUD over tag classes, component classes, ACLs, tag categories, workflows
Team configurationUpdate a scope's team settings, such as profile tabs
Class helpersField-type discovery, appending allowed values / tag references
Technical documentsGUI configurations, scripts, operation handlers, CSS, routes, templates, pages
CacheList and purge Core caches after bulk configuration changes
Config componentsInstances of technical virtual-folder / folder classes (e.g. profile tabs)

Each tool is advertised with readOnly / destructive hints, so a client such as Claude Desktop groups read-only tools apart from a Write / delete tools group and can ask for confirmation before running the destructive ones.

Why the second server matters​

Tool descriptions are intentionally minimal: technicaldoc_describe tells the assistant that a GUI configuration holds XML, not which XML FlowerDocs expects. The uxodocs entry closes that gap, so the assistant reads the reference page before writing the document instead of guessing its structure.

See Documentation MCP for what that changes in practice.