From c4e1c291d89f31e36a407cf0ba1631b9fd15eaae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Gla=CC=88ser?= Date: Mon, 21 Sep 2026 11:49:09 +0200 Subject: [PATCH] MCP Kostenpositionen als Text ausgeben --- modules/market_management/mcp.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/market_management/mcp.php b/modules/market_management/mcp.php index 4b751c2..a804c7e 100644 --- a/modules/market_management/mcp.php +++ b/modules/market_management/mcp.php @@ -195,9 +195,24 @@ function market_management_mcp_get_occurrence(PDO $pdo, int $occurrenceId, bool } unset($market['occurrences']); $occurrence['market'] = $market; + $occurrence['cost_items_text'] = market_management_mcp_cost_items_text($occurrence['cost_items'] ?? []); return $occurrence; } +function market_management_mcp_cost_items_text(array $costItems): ?string +{ + foreach ($costItems as $costItem) { + if (!is_array($costItem)) { + continue; + } + $description = $costItem['description'] ?? null; + if ($description !== null && trim((string) $description) !== '') { + return (string) $description; + } + } + return null; +} + function market_management_mcp_get_market(PDO $pdo, int $marketId, bool $includeArchived = false): array { $market = market_management_get_market($pdo, $marketId, $includeArchived); @@ -207,6 +222,7 @@ function market_management_mcp_get_market(PDO $pdo, int $marketId, bool $include foreach ($market['occurrences'] as $index => $occurrence) { $enriched = market_management_get_occurrence($pdo, (int) $occurrence['id'], $includeArchived); if ($enriched !== null) { + $enriched['cost_items_text'] = market_management_mcp_cost_items_text($enriched['cost_items'] ?? []); $market['occurrences'][$index] = $enriched; } } @@ -293,7 +309,11 @@ function market_management_mcp_call(PDO $pdo, string $tool, array $arguments): a 'markets' => market_management_search_markets($pdo, $arguments), 'occurrences' => market_management_search_occurrences($pdo, $arguments), ], - 'market_management.create_occurrence' => market_management_create_occurrence($pdo, $arguments), + 'market_management.create_occurrence' => (static function () use ($pdo, $arguments): array { + $occurrence = market_management_create_occurrence($pdo, $arguments); + $occurrence['cost_items_text'] = market_management_mcp_cost_items_text($occurrence['cost_items'] ?? []); + return $occurrence; + })(), 'market_management.get_occurrence' => market_management_mcp_get_occurrence( $pdo, market_management_require_positive_id($arguments['occurrence_id'] ?? null, 'occurrence_id'),