addPrompt method
void
addPrompt({
- required String name,
- required String description,
- required List<
PromptArgument> arguments, - required PromptHandler handler,
- String? title,
- List<
Map< ? icons,String, dynamic> > - Map<
String, dynamic> ? meta,
override
Add a prompt to the server
Implementation
@override
void addPrompt({
required String name,
required String description,
required List<PromptArgument> arguments,
required PromptHandler handler,
String? title,
List<Map<String, dynamic>>? icons,
Map<String, dynamic>? meta,
}) {
if (_prompts.containsKey(name)) {
throw McpError('Prompt with name "$name" already exists');
}
final prompt = Prompt(
name: name,
title: title,
description: description,
arguments: arguments,
icons: icons,
meta: meta,
);
_prompts[name] = prompt;
_promptHandlers[name] = handler;
// Notify clients about prompt changes if connected and supported
if (isConnected && capabilities.hasPrompts && capabilities.promptsListChanged) {
_broadcastNotification('notifications/prompts/list_changed', {});
}
// Emit change event
_promptsChangedController.add(null);
}