true, 'tokens' => UserMcpTokens::listForUser($userId), 'config' => [ 'stdio_command' => 'npx', 'stdio_args' => ['-y', '@bluenotelogic/mcp', 'dobetternorge-mcp', '--stdio'], 'hosted_url' => 'https://mcp.dobetternorge.no/mcp', 'env_var' => 'DBN_MCP_TOKEN', ], ]); } if ($method !== 'POST') { dbnToolsError('Method not allowed.', 405, 'method_not_allowed'); } $input = dbnToolsJsonInput(4000); $action = (string)($input['action'] ?? 'create'); if ($action === 'create') { $created = UserMcpTokens::createForUser($userId, (string)($input['name'] ?? 'DBN MCP')); dbnToolsRespond(['ok' => true, 'token' => $created]); } if ($action === 'revoke') { $tokenId = (int)($input['id'] ?? 0); if ($tokenId <= 0) { dbnToolsError('Token id is required.', 422, 'missing_id'); } dbnToolsRespond(['ok' => true, 'revoked' => UserMcpTokens::revokeForUser($userId, $tokenId)]); } dbnToolsError('Unknown action.', 400, 'bad_action');