Senechal MCP Server
by mattjoyce
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/health/summary/{period}":{"get":{"tags":["health"],"summary":"Get Health Summary","operationId":"get_health_summary_health_summary__period__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"period","in":"path","required":true,"schema":{"enum":["day","week","month","year"],"type":"string","title":"Period"}},{"name":"metrics","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated metrics/groups or 'all'","default":"all","title":"Metrics"},"description":"Comma-separated metrics/groups or 'all'"},{"name":"span","in":"query","required":false,"schema":{"type":"integer","maximum":52,"minimum":1,"description":"Number of periods to return","default":1,"title":"Span"},"description":"Number of periods to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of periods to offset from now","default":0,"title":"Offset"},"description":"Number of periods to offset from now"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health/profile":{"get":{"tags":["health"],"summary":"Get Health Profile","description":"Get health profile from configured file location","operationId":"get_health_profile_health_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/health/current":{"get":{"tags":["health"],"summary":"Get Current Measurements","description":"Get latest measurements for all health metrics","operationId":"get_current_measurements_health_current_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"Filter by measurement types","title":"Types"},"description":"Filter by measurement types"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health/trends":{"get":{"tags":["health"],"summary":"Get Health Trends","description":"Get trend data for specified period and metrics","operationId":"get_health_trends_health_trends_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","description":"Number of days to analyze","default":30,"title":"Days"},"description":"Number of days to analyze"},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"Filter by measurement types","title":"Types"},"description":"Filter by measurement types"},{"name":"interval","in":"query","required":false,"schema":{"type":"string","description":"Grouping interval: day, week, month","default":"day","title":"Interval"},"description":"Grouping interval: day, week, month"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health/stats":{"get":{"tags":["health"],"summary":"Get Health Stats","description":"Get statistical analysis of health metrics","operationId":"get_health_stats_health_stats_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Analysis period in days","default":30,"title":"Days"},"description":"Analysis period in days"},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"Filter by measurement types","title":"Types"},"description":"Filter by measurement types"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/getTest":{"get":{"summary":"Get Test","operationId":"get_test_getTest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/setTest":{"post":{"summary":"Set Test","operationId":"set_test_setTest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestData"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"measurements":{"items":{"$ref":"#/components/schemas/Measurement"},"type":"array","title":"Measurements"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","default":"2025-03-01T23:36:51.084541"},"timezone":{"type":"string","title":"Timezone","default":"UTC"}},"type":"object","required":["measurements"],"title":"HealthResponse"},"HealthSummaryResponse":{"properties":{"period_type":{"type":"string","title":"Period Type"},"summaries":{"items":{"$ref":"#/components/schemas/PeriodSummary"},"type":"array","title":"Summaries"},"generated_at":{"type":"string","format":"date-time","title":"Generated At","default":"2025-03-01T23:36:51.087305"}},"type":"object","required":["period_type","summaries"],"title":"HealthSummaryResponse"},"Measurement":{"properties":{"id":{"type":"integer","title":"Id"},"date":{"type":"string","format":"date-time","title":"Date"},"type":{"type":"integer","title":"Type"},"value":{"type":"number","title":"Value"},"measure_name":{"type":"string","title":"Measure Name"},"display_unit":{"type":"string","title":"Display Unit"}},"type":"object","required":["id","date","type","value","measure_name","display_unit"],"title":"Measurement"},"MetricValue":{"properties":{"avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg"},"min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max"},"unit":{"type":"string","title":"Unit"},"sample_count":{"type":"integer","title":"Sample Count"}},"type":"object","required":["avg","min","max","unit","sample_count"],"title":"MetricValue"},"PeriodSummary":{"properties":{"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"metrics":{"additionalProperties":{"$ref":"#/components/schemas/MetricValue"},"type":"object","title":"Metrics"}},"type":"object","required":["period_start","period_end","metrics"],"title":"PeriodSummary"},"StatMeasurement":{"properties":{"type":{"type":"integer","title":"Type"},"measure_name":{"type":"string","title":"Measure Name"},"avg_value":{"type":"number","title":"Avg Value"},"min_value":{"type":"number","title":"Min Value"},"max_value":{"type":"number","title":"Max Value"},"display_unit":{"type":"string","title":"Display Unit"},"reading_count":{"type":"integer","title":"Reading Count"},"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classification"}},"type":"object","required":["type","measure_name","avg_value","min_value","max_value","display_unit","reading_count"],"title":"StatMeasurement"},"StatsResponse":{"properties":{"stats":{"items":{"$ref":"#/components/schemas/StatMeasurement"},"type":"array","title":"Stats"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","default":"2025-03-01T23:36:51.085507"},"timezone":{"type":"string","title":"Timezone","default":"UTC"}},"type":"object","required":["stats"],"title":"StatsResponse"},"TestData":{"properties":{"content":{"type":"string","title":"Content"}},"type":"object","required":["content"],"title":"TestData"},"TrendMeasurement":{"properties":{"period":{"type":"string","format":"date-time","title":"Period"},"type":{"type":"integer","title":"Type"},"measure_name":{"type":"string","title":"Measure Name"},"avg_value":{"type":"number","title":"Avg Value"},"min_value":{"type":"number","title":"Min Value"},"max_value":{"type":"number","title":"Max Value"},"display_unit":{"type":"string","title":"Display Unit"},"reading_count":{"type":"integer","title":"Reading Count"}},"type":"object","required":["period","type","measure_name","avg_value","min_value","max_value","display_unit","reading_count"],"title":"TrendMeasurement"},"TrendResponse":{"properties":{"trends":{"items":{"$ref":"#/components/schemas/TrendMeasurement"},"type":"array","title":"Trends"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","default":"2025-03-01T23:36:51.085039"},"timezone":{"type":"string","title":"Timezone","default":"UTC"}},"type":"object","required":["trends"],"title":"TrendResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}