mcp_core_rs/protocol/
capabilities.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
4pub struct ServerCapabilities {
5 #[serde(skip_serializing_if = "Option::is_none")]
6 pub prompts: Option<PromptsCapability>,
7 #[serde(skip_serializing_if = "Option::is_none")]
8 pub resources: Option<ResourcesCapability>,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub tools: Option<ToolsCapability>,
11 }
13
14#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
15#[serde(rename_all = "camelCase")]
16pub struct PromptsCapability {
17 pub list_changed: Option<bool>,
18}
19
20#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
21#[serde(rename_all = "camelCase")]
22pub struct ResourcesCapability {
23 pub subscribe: Option<bool>,
24 pub list_changed: Option<bool>,
25}
26
27#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
28#[serde(rename_all = "camelCase")]
29pub struct ToolsCapability {
30 pub list_changed: Option<bool>,
31}