pub struct DynamicPromptRegistry { /* private fields */ }Expand description
A thread-safe, cloneable handle for runtime prompt management.
Obtained from McpRouter::with_dynamic_prompts().
Prompts registered here are merged with the router’s static prompts when
handling prompts/list and prompts/get requests.
When a prompt is registered or unregistered, all connected sessions receive a
notifications/prompts/list_changed notification.
§Example
use tower_mcp::{McpRouter, PromptBuilder};
let (router, registry) = McpRouter::new()
.server_info("my-server", "1.0.0")
.with_dynamic_prompts();
// Register a prompt at runtime
let prompt = PromptBuilder::new("greet")
.description("Greet someone")
.user_message("Hello!");
registry.register(prompt);Implementations§
Source§impl DynamicPromptRegistry
impl DynamicPromptRegistry
Sourcepub fn register(&self, prompt: Prompt)
pub fn register(&self, prompt: Prompt)
Register a prompt, replacing any existing prompt with the same name.
Broadcasts PromptsListChanged to all connected sessions.
Sourcepub fn unregister(&self, name: &str) -> bool
pub fn unregister(&self, name: &str) -> bool
Unregister a prompt by name.
Returns true if the prompt existed and was removed.
Broadcasts PromptsListChanged only if the prompt was actually removed.
Trait Implementations§
Source§impl Clone for DynamicPromptRegistry
impl Clone for DynamicPromptRegistry
Source§fn clone(&self) -> DynamicPromptRegistry
fn clone(&self) -> DynamicPromptRegistry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DynamicPromptRegistry
impl RefUnwindSafe for DynamicPromptRegistry
impl Send for DynamicPromptRegistry
impl Sync for DynamicPromptRegistry
impl Unpin for DynamicPromptRegistry
impl UnsafeUnpin for DynamicPromptRegistry
impl UnwindSafe for DynamicPromptRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more