1<?php
2
3use dokuwiki\ErrorHandler;
4use dokuwiki\Logger;
5use dokuwiki\plugin\mcp\McpServer;
6
7if (!defined('DOKU_INC')) define('DOKU_INC', __DIR__ . '/../../../');
8
9require_once(DOKU_INC . 'inc/init.php');
10session_write_close();  //close session
11
12header('Content-Type: application/json');
13
14Logger::debug('MCP Request', file_get_contents('php://input'));
15
16$server = new McpServer();
17try {
18    $result = $server->serve();
19} catch (\Exception $e) {
20    ErrorHandler::logException($e);
21    $result = $server->returnError($e);
22}
23
24$result = json_encode($result, JSON_THROW_ON_ERROR|JSON_PRETTY_PRINT);
25Logger::debug('MCP Response', $result);
26echo $result;
27