Biorhythm MCP Server by RoxyAPI
Biorhythm cycles, forecasts, critical days and compatibility for AI agents, one API key.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"biorhythm": {
"url": "https://roxyapi.com/mcp/biorhythm"
}
}
}Remote endpoints
https://roxyapi.com/mcp/biorhythmstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢post_biorhythm_reading(lang, birthDate, targetDate, compact)
Calculate a complete biorhythm reading for a given birth date and target date. Returns all 10 cycle values (physical, emotional, intellectual, intuitive, aesthetic, awareness, spiritual, passion, mastery, wisdom), phase detection with 8 distinct states, energy rating (1-10), overall phase assessment, editorial-grade interpretation, actionable advice, and critical day alerts. Perfect for wellness apps, dating platforms, productivity tools, and AI chatbot integrations that need structured biorhythm data.
Input Schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru",
"zh-Hans",
"zh-Hant"
],
"default": "en",
"example": "en"
},
"birthDate": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date of the person in YYYY-MM-DD format. This is the anchor for all biorhythm cycle calculations."
},
"targetDate": {
"type": "string",
"format": "date",
"example": "2026-04-10",
"description": "Date to calculate the reading for in YYYY-MM-DD format. Defaults to today (UTC) if omitted."
},
"compact": {
"type": "boolean",
"description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
"default": false
}
},
"required": [
"birthDate"
],
"examples": [
{
"birthDate": "1990-07-15"
}
]
}Output Schema
{
"type": "object",
"properties": {
"birthDate": {
"type": "string"
},
"targetDate": {
"type": "string"
},
"daysSinceBirth": {
"type": "number"
},
"cycles": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"rawValue": {
"type": "number"
},
"phase": {
"type": "string",
"enum": [
"peak",
"high",
"rising",
"critical_ascending",
"critical_descending",
"falling",
"low",
"trough"
]
},
"phaseLabel": {
"type": "string"
},
"dayInCycle": {
"type": "number"
},
"daysUntilPeak": {
"type": "number"
},
"daysUntilTrough": {
"type": "number"
},
"daysUntilCritical": {
"type": "number"
},
"trend": {
"type": "string",
"enum": [
"rising",
"falling",
"peaking",
"bottoming"
]
},
"interpretation": {
"type": "string"
}
},
"required": [
"value",
"rawValue",
"phase",
"phaseLabel",
"dayInCycle",
"daysUntilPeak",
"daysUntilTrough",
"daysUntilCritical",
"trend",
"interpretation"
]
}
},
"energyRating": {
"type": "number"
},
"overallPhase": {
"type": "string",
"enum": [
"high_energy",
"mixed",
"recovery",
"critical"
]
},
"interpretation": {
"type": "string"
},
"advice": {
"type": "string"
},
"criticalAlerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cycle": {
"type": "string",
"enum": [
"physical",
"emotional",
"intellectual",
"intuitive",
"aesthetic",
"awareness",
"spiritual",
"passion",
"mastery",
"wisdom"
]
},
"type": {
"type": "string",
"enum": [
"zero_crossing"
]
},
"direction": {
"type": "string",
"enum": [
"ascending",
"descending"
]
},
"advisory": {
"type": "string"
}
},
"required": [
"cycle",
"type",
"direction",
"advisory"
]
}
}
},
"required": [
"birthDate",
"targetDate",
"daysSinceBirth",
"cycles",
"energyRating",
"overallPhase",
"interpretation",
"advice",
"criticalAlerts"
]
}🟢post_biorhythm_forecast(lang, birthDate, startDate, endDate, compact)
Generate a biorhythm forecast for a date range up to 90 days. Returns daily cycle values for physical, emotional, intellectual, and intuitive cycles, daily energy ratings, critical day identification, and a summary with best day, worst day, average energy, and period-level guidance. Ideal for wellness apps, productivity planners, scheduling tools, and calendar integrations that need forward-looking biorhythm data.
Input Schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru",
"zh-Hans",
"zh-Hant"
],
"default": "en",
"example": "en"
},
"birthDate": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date of the person in YYYY-MM-DD format."
},
"startDate": {
"type": "string",
"format": "date",
"example": "2026-04-01",
"description": "Start date of the forecast range in YYYY-MM-DD format. Defaults to today (UTC)."
},
"endDate": {
"type": "string",
"format": "date",
"example": "2026-04-30",
"description": "End date of the forecast range in YYYY-MM-DD format. Defaults to startDate + 30 days. Maximum range: 90 days."
},
"compact": {
"type": "boolean",
"description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
"default": false
}
},
"required": [
"birthDate"
],
"examples": [
{
"birthDate": "1990-07-15"
}
]
}Output Schema
{
"type": "object",
"properties": {
"birthDate": {
"type": "string"
},
"startDate": {
"type": "string"
},
"endDate": {
"type": "string"
},
"totalDays": {
"type": "number"
},
"summary": {
"type": "object",
"properties": {
"bestDay": {
"type": "string"
},
"worstDay": {
"type": "string"
},
"criticalDayCount": {
"type": "number"
},
"averageEnergy": {
"type": "number"
},
"periodAdvice": {
"type": "string"
}
},
"required": [
"bestDay",
"worstDay",
"criticalDayCount",
"averageEnergy",
"periodAdvice"
]
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"daysSinceBirth": {
"type": "number"
},
"physical": {
"type": "number"
},
"emotional": {
"type": "number"
},
"intellectual": {
"type": "number"
},
"intuitive": {
"type": "number"
},
"energyRating": {
"type": "number"
},
"isCritical": {
"type": "boolean"
},
"criticalCycles": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"date",
"daysSinceBirth",
"physical",
"emotional",
"intellectual",
"intuitive",
"energyRating",
"isCritical",
"criticalCycles"
]
}
}
},
"required": [
"birthDate",
"startDate",
"endDate",
"totalDays",
"summary",
"days"
]
}🟢post_biorhythm_critical_days(lang, birthDate, startDate, endDate, compact)
Find all critical days (zero crossings) within a date range up to 180 days. Returns each critical day with cycle name, period, direction (ascending or descending), severity (single, double, or triple), and advisory text. Highlights rare double critical days where two primary cycles cross zero simultaneously and extremely rare triple critical days where all three primary cycles cross zero on the same date. Ideal for calendar integrations, push notification systems, alert engines, and wellness scheduling tools.
Input Schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru",
"zh-Hans",
"zh-Hant"
],
"default": "en",
"example": "en"
},
"birthDate": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date of the person in YYYY-MM-DD format."
},
"startDate": {
"type": "string",
"format": "date",
"example": "2026-04-01",
"description": "Start date of the search range in YYYY-MM-DD format. Defaults to today (UTC)."
},
"endDate": {
"type": "string",
"format": "date",
"example": "2026-06-30",
"description": "End date of the search range in YYYY-MM-DD format. Defaults to startDate + 90 days. Maximum range: 180 days."
},
"compact": {
"type": "boolean",
"description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
"default": false
}
},
"required": [
"birthDate"
],
"examples": [
{
"birthDate": "1990-07-15"
}
]
}Output Schema
{
"type": "object",
"properties": {
"birthDate": {
"type": "string"
},
"startDate": {
"type": "string"
},
"endDate": {
"type": "string"
},
"totalCriticalDays": {
"type": "number"
},
"criticalDays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"cycle": {
"type": "string",
"enum": [
"physical",
"emotional",
"intellectual"
]
},
"period": {
"type": "number"
},
"direction": {
"type": "string",
"enum": [
"ascending",
"descending"
]
},
"severity": {
"type": "string",
"enum": [
"single",
"double",
"triple"
]
},
"advisory": {
"type": "string"
}
},
"required": [
"date",
"cycle",
"period",
"direction",
"severity",
"advisory"
]
}
},
"doubleCriticalDays": {
"type": "array",
"items": {
"type": "string"
}
},
"tripleCriticalDay": {
"type": [
"string",
"null"
]
}
},
"required": [
"birthDate",
"startDate",
"endDate",
"totalCriticalDays",
"criticalDays",
"doubleCriticalDays",
"tripleCriticalDay"
]
}🟢post_biorhythm_compatibility(lang, person1, person2, targetDate, compact)
Calculate biorhythm compatibility between two people by overlaying their cycle profiles on a target date. Returns per-cycle alignment scores (0-100) for physical, emotional, and intellectual cycles, an overall compatibility score, relationship rating, strengths, challenges, practical advice, and a daily sync snapshot showing the absolute difference in each primary cycle. Perfect for dating apps, relationship platforms, team-building tools, and couples coaching applications.
Input Schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru",
"zh-Hans",
"zh-Hant"
],
"default": "en",
"example": "en"
},
"person1": {
"type": "object",
"properties": {
"birthDate": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date of person 1 in YYYY-MM-DD format."
}
},
"required": [
"birthDate"
]
},
"person2": {
"type": "object",
"properties": {
"birthDate": {
"type": "string",
"format": "date",
"example": "1992-03-22",
"description": "Birth date of person 2 in YYYY-MM-DD format."
}
},
"required": [
"birthDate"
]
},
"targetDate": {
"type": "string",
"format": "date",
"example": "2026-04-10",
"description": "Date to evaluate compatibility on in YYYY-MM-DD format. Defaults to today (UTC). Compatibility varies by day since biorhythm cycles are continuous."
},
"compact": {
"type": "boolean",
"description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
"default": false
}
},
"required": [
"person1",
"person2"
],
"examples": [
{
"person1": {
"birthDate": "1990-07-15"
},
"person2": {
"birthDate": "1992-03-22"
}
}
]
}Output Schema
{
"type": "object",
"properties": {
"person1": {
"type": "object",
"properties": {
"birthDate": {
"type": "string"
}
},
"required": [
"birthDate"
]
},
"person2": {
"type": "object",
"properties": {
"birthDate": {
"type": "string"
}
},
"required": [
"birthDate"
]
},
"targetDate": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"rating": {
"type": "string"
},
"cycles": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"person1Value": {
"type": "number"
},
"person2Value": {
"type": "number"
},
"difference": {
"type": "number"
},
"alignment": {
"type": "number"
},
"phase": {
"type": "string",
"enum": [
"in_sync",
"complementary",
"neutral",
"opposing"
]
},
"description": {
"type": "string"
}
},
"required": [
"person1Value",
"person2Value",
"difference",
"alignment",
"phase",
"description"
]
}
},
"strengths": {
"type": "array",
"items": {
"type": "string"
}
},
"challenges": {
"type": "array",
"items": {
"type": "string"
}
},
"advice": {
"type": "string"
},
"dailySync": {
"type": "object",
"properties": {
"physicalDiff": {
"type": "number"
},
"emotionalDiff": {
"type": "number"
},
"intellectualDiff": {
"type": "number"
}
},
"required": [
"physicalDiff",
"emotionalDiff",
"intellectualDiff"
]
}
},
"required": [
"person1",
"person2",
"targetDate",
"overallScore",
"rating",
"cycles",
"strengths",
"challenges",
"advice",
"dailySync"
]
}🟢post_biorhythm_phases(lang, birthDate, targetDate, compact)
Get current phase information for all 10 biorhythm cycles without the full interpretation payload. Returns value, phase name, phase label, day position within cycle, cycle period, days until next critical crossing, and short-term trend for each cycle. Includes a compact summary string. Designed as a lightweight endpoint for dashboards, widgets, status bars, and quick-check interfaces that need biorhythm phase data without editorial text.
Input Schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru",
"zh-Hans",
"zh-Hant"
],
"default": "en",
"example": "en"
},
"birthDate": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date of the person in YYYY-MM-DD format."
},
"targetDate": {
"type": "string",
"format": "date",
"example": "2026-04-10",
"description": "Date to get phase information for in YYYY-MM-DD format. Defaults to today (UTC)."
},
"compact": {
"type": "boolean",
"description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
"default": false
}
},
"required": [
"birthDate"
],
"examples": [
{
"birthDate": "1990-07-15"
}
]
}Output Schema
{
"type": "object",
"properties": {
"birthDate": {
"type": "string"
},
"targetDate": {
"type": "string"
},
"daysSinceBirth": {
"type": "number"
},
"phases": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"phase": {
"type": "string",
"enum": [
"peak",
"high",
"rising",
"critical_ascending",
"critical_descending",
"falling",
"low",
"trough"
]
},
"phaseLabel": {
"type": "string"
},
"dayInCycle": {
"type": "number"
},
"totalDays": {
"type": "number"
},
"daysUntilCritical": {
"type": "number"
},
"trend": {
"type": "string",
"enum": [
"rising",
"falling",
"peaking",
"bottoming"
]
}
},
"required": [
"value",
"phase",
"phaseLabel",
"dayInCycle",
"totalDays",
"daysUntilCritical",
"trend"
]
}
},
"summary": {
"type": "string"
}
},
"required": [
"birthDate",
"targetDate",
"daysSinceBirth",
"phases",
"summary"
]
}🟢post_biorhythm_daily(lang, seed, date, compact)
Get a daily biorhythm reading with seeded randomness for consistent "biorhythm of the day" features. Same seed and same date always produce the same reading, perfect for daily push notifications, morning briefings, and wellness app check-ins. Returns energy rating, overall phase, a spotlight on one featured cycle, quick-read values for all three primary cycles, a daily message, and actionable advice. The spotlight cycle is deterministically selected by the seed, creating variety across users while maintaining consistency for each individual.
Input Schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru",
"zh-Hans",
"zh-Hant"
],
"default": "en",
"example": "en"
},
"seed": {
"type": "string",
"example": "user123",
"description": "Optional seed for reproducible readings. Same seed + same date = same reading every time. Pass any unique identifier (userId, email hash, session token). Omit for anonymous daily readings."
},
"date": {
"type": "string",
"format": "date",
"example": "2026-03-06",
"description": "Date for the reading in YYYY-MM-DD format. Defaults to today (UTC). Useful for viewing past daily readings or pre-generating future ones."
},
"compact": {
"type": "boolean",
"description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
"default": false
}
},
"examples": [
{}
]
}Output Schema
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"seed": {
"type": "string"
},
"energyRating": {
"type": "number"
},
"overallPhase": {
"type": "string",
"enum": [
"high_energy",
"mixed",
"recovery",
"critical"
]
},
"spotlight": {
"type": "object",
"properties": {
"cycle": {
"type": "string",
"enum": [
"physical",
"emotional",
"intellectual"
]
},
"value": {
"type": "number"
},
"phase": {
"type": "string",
"enum": [
"peak",
"high",
"rising",
"critical_ascending",
"critical_descending",
"falling",
"low",
"trough"
]
},
"message": {
"type": "string"
}
},
"required": [
"cycle",
"value",
"phase",
"message"
]
},
"quickRead": {
"type": "object",
"properties": {
"physical": {
"type": "number"
},
"emotional": {
"type": "number"
},
"intellectual": {
"type": "number"
}
},
"required": [
"physical",
"emotional",
"intellectual"
]
},
"dailyMessage": {
"type": "string"
},
"advice": {
"type": "string"
}
},
"required": [
"date",
"seed",
"energyRating",
"overallPhase",
"spotlight",
"quickRead",
"dailyMessage",
"advice"
]
}Community
Evidence