MCP Kostenpositionen als Text ausgeben

This commit is contained in:
gitea_admin committed 2026-09-21 11:49:09 +02:00
1 parent 42127b0916
commit c4e1c291d8
1 file changed
+21 -1
+21 -1
View File
@@ -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'),