Platform Backend

AI Interfaces

The platform exposes its management capabilities to language models twice, for two audiences:

AI Assistant

Part of the Studio. It runs its own tool loop inside the backend on Azure OpenAI, with tools that call the services directly and drive the Studio UI over Socket.IO.

Hosted MCP Server and Claude Plugin

Lets an external client — Claude — operate the platform as the signed-in user. Its tools call the REST controllers in-process, so every call passes the same @PreAuthorize checks as the HTTP API. The Studio frontend is its OAuth authorization server, and the Promethist Claude plugin registers it in Claude.

AI Assistant Hosted MCP server

Audience

Studio users, next to the Studio’s panels

Claude, on the web, in Claude Desktop, Cowork and Claude Code

Transport

Socket.IO, namespace /api/socket/io/chat on port 9311

Stateless MCP over HTTP at /api/v1/mcp

Identity

The Keycloak access token of the Studio session

An access token the Studio issues for the MCP resource

Model

Runs in the backend (LLMService, Azure OpenAI)

The client’s own

Tools

Spring AI @Tool methods, assembled per Studio section (component/*Tools.kt)

McpTool descriptors of the Mcp*Tools.kt providers, one listing for every client

Domain knowledge

The assistant’s prompts (llm/constants/Prompts.kt)

The operating guides served by get_guide (backend/src/main/resources/mcp-guides/)

Destructive actions

A confirmation the user answers in the UI

A confirm: true argument the client sends after asking the user

Both carry Promethist’s knowledge of how to build good agents, so a change of platform behavior usually has to be reflected in the assistant’s prompts, in the guides and in this documentation alike.

In this section