bump version

This commit is contained in:
2026-05-24 13:18:50 +02:00
parent 06d7a2fed1
commit d140d94166
8 changed files with 12 additions and 19 deletions
Generated
+1 -1
View File
@@ -1503,7 +1503,7 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]] [[package]]
name = "mcp_server_collection" name = "mcp_server_collection"
version = "0.2.1" version = "0.2.2"
dependencies = [ dependencies = [
"axum", "axum",
"chrono", "chrono",
+1 -1
View File
@@ -924,7 +924,7 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]] [[package]]
name = "mcp_server_collection" name = "mcp_server_collection"
version = "0.2.1" version = "0.2.2"
dependencies = [ dependencies = [
"axum", "axum",
"chrono", "chrono",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "mcp_server_collection" name = "mcp_server_collection"
version = "0.2.1" version = "0.2.2"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
+2 -2
View File
@@ -85,12 +85,12 @@ pub(crate) async fn find_calendars(
.ok_or(NoUserPrincipal)?; .ok_or(NoUserPrincipal)?;
let calendar_home_sets = caldav_client let calendar_home_sets = caldav_client
.request(FindCalendarHomeSet::new(&user_principal.path())) .request(FindCalendarHomeSet::new(user_principal.path()))
.await? .await?
.home_sets; .home_sets;
Ok(caldav_client Ok(caldav_client
.request(FindCalendars::new(&calendar_home_sets[0].path())) .request(FindCalendars::new(calendar_home_sets[0].path()))
.await? .await?
.calendars) .calendars)
} }
+2 -5
View File
@@ -10,7 +10,6 @@ use crate::server_handler::{
use http::Uri; use http::Uri;
use icalendar::{Event, EventLike, Todo}; use icalendar::{Event, EventLike, Todo};
use libdav::dav::FoundCollection; use libdav::dav::FoundCollection;
use rmcp::handler::server::tool::ToolRouter;
use rmcp::handler::server::wrapper::Parameters; use rmcp::handler::server::wrapper::Parameters;
use rmcp::model::{CallToolResult, ErrorCode, Implementation, ServerCapabilities, ServerInfo}; use rmcp::model::{CallToolResult, ErrorCode, Implementation, ServerCapabilities, ServerInfo};
use rmcp::schemars::JsonSchema; use rmcp::schemars::JsonSchema;
@@ -31,7 +30,6 @@ mod todo;
pub(crate) struct CalDavHandler { pub(crate) struct CalDavHandler {
client: AuthorizedCaldavClient, client: AuthorizedCaldavClient,
calendar_references: Vec<CalendarReference>, calendar_references: Vec<CalendarReference>,
tool_router: ToolRouter<Self>,
default_calendar_name: String, default_calendar_name: String,
} }
@@ -95,7 +93,6 @@ impl McpServerHandler for CalDavHandler {
Ok(Self { Ok(Self {
client, client,
calendar_references, calendar_references,
tool_router: Self::tool_router(),
default_calendar_name: default_calendar, default_calendar_name: default_calendar,
}) })
} }
@@ -209,7 +206,7 @@ impl CalDavHandler {
if let Some(event_component) = component.as_event() { if let Some(event_component) = component.as_event() {
let event: McpEvent = event_component.clone().try_into()?; let event: McpEvent = event_component.clone().try_into()?;
let lower_bound = Local::now().with_timezone(&icalendar::Tz::Local(chrono::Local)); let lower_bound = Local::now().with_timezone(&icalendar::Tz::Local(Local));
let upper_bound = lower_bound + DAYS_DELTA; let upper_bound = lower_bound + DAYS_DELTA;
let recurrence = event_component.get_recurrence(); let recurrence = event_component.get_recurrence();
@@ -219,7 +216,7 @@ impl CalDavHandler {
for date in recurrence_result.dates { for date in recurrence_result.dates {
let mut event_instance = event.clone(); let mut event_instance = event.clone();
event_instance.start = Some(date.with_timezone(&chrono::Local{})); event_instance.start = Some(date.with_timezone(&Local{}));
if let Some(start) = event.start && let Some(end) = event.end { if let Some(start) = event.start && let Some(end) = event.end {
let event_duration = end-start; let event_duration = end-start;
+2 -1
View File
@@ -14,7 +14,8 @@ pub struct Config {
#[derive(Debug, Clone, Deserialize, Serialize)] #[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ServerConfig { pub struct ServerConfig {
pub path: String, pub path: String,
pub r#type: McpServiceType, #[serde(rename = "type")]
pub service_type: McpServiceType,
#[serde(rename = "additional-properties", default = "Map::new")] #[serde(rename = "additional-properties", default = "Map::new")]
pub additional_properties: Map<String, toml::Value>, pub additional_properties: Map<String, toml::Value>,
} }
+2 -7
View File
@@ -1,23 +1,18 @@
use crate::server_handler::{McpServerHandler, McpServerHandlerError}; use crate::server_handler::{McpServerHandler, McpServerHandlerError};
use chrono::{Datelike, Local, Utc}; use chrono::{Datelike, Local, Utc};
use rmcp::handler::server::tool::ToolRouter;
use rmcp::model::{Implementation, ServerCapabilities, ServerInfo}; use rmcp::model::{Implementation, ServerCapabilities, ServerInfo};
use rmcp::{ServerHandler, tool, tool_handler, tool_router}; use rmcp::{ServerHandler, tool, tool_handler, tool_router};
use toml::Value; use toml::Value;
use toml::map::Map; use toml::map::Map;
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub(crate) struct DateTimeHandler { pub(crate) struct DateTimeHandler;
tool_router: ToolRouter<Self>,
}
impl McpServerHandler for DateTimeHandler { impl McpServerHandler for DateTimeHandler {
async fn new( async fn new(
_additional_properties: Map<String, Value>, _additional_properties: Map<String, Value>,
) -> Result<Self, McpServerHandlerError> { ) -> Result<Self, McpServerHandlerError> {
Ok(DateTimeHandler { Ok(DateTimeHandler {})
tool_router: Self::tool_router(),
})
} }
} }
+1 -1
View File
@@ -33,7 +33,7 @@ pub(crate) async fn mcp_router(
let mut router = Router::new(); let mut router = Router::new();
for config in server_configs { for config in server_configs {
router = match config.r#type { router = match config.service_type {
#[cfg(feature = "datetime")] #[cfg(feature = "datetime")]
McpServiceType::DateTime => router.route_service( McpServiceType::DateTime => router.route_service(
config.path.as_str(), config.path.as_str(),