{"ok":true,"site":{"host":"app.imt.dev","url":"https://app.imt.dev/longevity-mcp/","type":"live","desc":"A privacy-first WebMCP experience for building a conditional Life Function and comparing Androphysics scenarios with your AI agent.","tools":[{"name":"get_intake_manifest","kind":"answer","impl":"imperative","description":"Get the Longevity contract, privacy boundary, and four-chapter interview policy. With little context, the interview usually takes about ten short questions covering ancestors, parents, the client’s life events, and influence coefficients. After submitting known context, call get_next_interview_step.","annotations":{"readOnlyHint":true,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]},{"name":"submit_known_facts","kind":"transact","impl":"imperative","description":"Before submission, explain that data stays only in tab memory and is not sent to a Longevity server; conversation retention depends on the agent platform. No separate confirmation is required to calculate. If the platform requires confirmation for a specific sensitive fact, obtain it immediately before submission; if declined, do not send it or retry. Then send known structured facts with privacyNoticeDelivered=true. Never send raw chat, transcripts, or audio. Follow nextInterviewStep in the response.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"privacyNoticeDelivered":{"type":"boolean","const":true,"description":"Set true only after explaining the data-retention boundaries in privacyNoticeForClient."},"profile":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string"},"currentAge":{"type":"number","minimum":0,"maximum":130},"currentAgePrecision":{"type":"string","enum":["exact","approximate","unknown"]},"father":{"$ref":"#/$defs/parent"},"mother":{"$ref":"#/$defs/parent"}}},"coefficients":{"type":"object","additionalProperties":false,"properties":{"father":{"type":"number","minimum":0,"maximum":1},"mother":{"type":"number","minimum":0,"maximum":1},"environment":{"type":"number","minimum":0,"maximum":1}},"required":["father","mother","environment"]},"ancestors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"relationship":{"type":"string"},"branch":{"type":"string","enum":["father","mother"]},"deathAge":{"type":"number","minimum":0,"maximum":130},"precision":{"type":"string","enum":["exact","approximate","unknown"]},"deathCause":{"type":"string"},"lifeEvents":{"type":"array","items":{"type":"string"},"description":"Known important events or long-term circumstances in this ancestor’s life. Use only facts from context or the client’s answer."},"included":{"type":"boolean"}},"required":["id","name","relationship","branch","included"]}},"events":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"episodeId":{"type":"string","description":"Use the same episodeId for multiple criteria from one life period. One period counts as one interview point."},"person":{"type":"string","enum":["father","mother","client"]},"criterion":{"type":"string","enum":["education","projects","tasks","influence","ambition","potential","income","children","health","fitness","books","clients","followers"]},"score":{"type":"string","enum":["very_negative","negative","neutral","positive","very_positive"]},"startAge":{"type":"number","minimum":0,"maximum":130},"endAge":{"type":"number","minimum":0,"maximum":130},"note":{"type":"string"},"layer":{"type":"string","enum":["base","environment"]},"environmentType":{"type":"string"},"agencyFactor":{"type":"number","minimum":0,"maximum":1},"sourceKind":{"type":"string","enum":["agent_context","agent_inference","user_text","user_voice"]},"sourceSummary":{"type":"string"},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["id","person","criterion","score","startAge","endAge","note","layer","sourceKind","sourceSummary","confidence"]}},"acknowledgedUnknowns":{"type":"array","uniqueItems":true,"description":"Use only when the client explicitly says this information is unknown. It prevents repeat questions but does not increase completeness.","items":{"type":"string","enum":["father-ancestors","mother-ancestors","father-ancestor-events","mother-ancestor-events","father-events","mother-events"]}}},"$defs":{"parent":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["living","deceased","unknown"]},"currentAge":{"type":"number","minimum":0,"maximum":130},"deathAge":{"type":"number","minimum":0,"maximum":130},"precision":{"type":"string","enum":["exact","approximate","unknown"]}},"required":["status"]}},"required":["privacyNoticeDelivered"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]},{"name":"get_intake_status","kind":"answer","impl":"imperative","description":"Get input completeness and calculation readiness.","annotations":{"readOnlyHint":true,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]},{"name":"get_next_interview_step","kind":"answer","impl":"imperative","description":"Get exactly one next step in the live interview. Ask the single question returned in question, accept text or voice, clarify at most once, and submit only structured facts. When phase=preliminary_ready, stop the required interview and show the calculation.","annotations":{"readOnlyHint":true,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]},{"name":"get_missing_questions","kind":"answer","impl":"imperative","description":"Compatibility tool: get all remaining blocking gaps. For a live interview, prefer get_next_interview_step, which returns one question and stops required collection at the right time.","annotations":{"readOnlyHint":true,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]},{"name":"submit_interview_answers","kind":"transact","impl":"imperative","description":"Submit structured facts from one text or voice answer with privacyNoticeDelivered=true. If the platform requires confirmation for a specific sensitive fact, obtain it immediately before submission; if declined, do not send it or retry. For an explicit “I don’t know,” record the matching acknowledgedUnknowns value. Do not invent causes or ask more than one follow-up. Then follow nextInterviewStep.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"privacyNoticeDelivered":{"type":"boolean","const":true,"description":"Set true only after explaining the data-retention boundaries in privacyNoticeForClient."},"profile":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string"},"currentAge":{"type":"number","minimum":0,"maximum":130},"currentAgePrecision":{"type":"string","enum":["exact","approximate","unknown"]},"father":{"$ref":"#/$defs/parent"},"mother":{"$ref":"#/$defs/parent"}}},"coefficients":{"type":"object","additionalProperties":false,"properties":{"father":{"type":"number","minimum":0,"maximum":1},"mother":{"type":"number","minimum":0,"maximum":1},"environment":{"type":"number","minimum":0,"maximum":1}},"required":["father","mother","environment"]},"ancestors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"relationship":{"type":"string"},"branch":{"type":"string","enum":["father","mother"]},"deathAge":{"type":"number","minimum":0,"maximum":130},"precision":{"type":"string","enum":["exact","approximate","unknown"]},"deathCause":{"type":"string"},"lifeEvents":{"type":"array","items":{"type":"string"},"description":"Known important events or long-term circumstances in this ancestor’s life. Use only facts from context or the client’s answer."},"included":{"type":"boolean"}},"required":["id","name","relationship","branch","included"]}},"events":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"episodeId":{"type":"string","description":"Use the same episodeId for multiple criteria from one life period. One period counts as one interview point."},"person":{"type":"string","enum":["father","mother","client"]},"criterion":{"type":"string","enum":["education","projects","tasks","influence","ambition","potential","income","children","health","fitness","books","clients","followers"]},"score":{"type":"string","enum":["very_negative","negative","neutral","positive","very_positive"]},"startAge":{"type":"number","minimum":0,"maximum":130},"endAge":{"type":"number","minimum":0,"maximum":130},"note":{"type":"string"},"layer":{"type":"string","enum":["base","environment"]},"environmentType":{"type":"string"},"agencyFactor":{"type":"number","minimum":0,"maximum":1},"sourceKind":{"type":"string","enum":["agent_context","agent_inference","user_text","user_voice"]},"sourceSummary":{"type":"string"},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["id","person","criterion","score","startAge","endAge","note","layer","sourceKind","sourceSummary","confidence"]}},"acknowledgedUnknowns":{"type":"array","uniqueItems":true,"description":"Use only when the client explicitly says this information is unknown. It prevents repeat questions but does not increase completeness.","items":{"type":"string","enum":["father-ancestors","mother-ancestors","father-ancestor-events","mother-ancestor-events","father-events","mother-events"]}}},"$defs":{"parent":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["living","deceased","unknown"]},"currentAge":{"type":"number","minimum":0,"maximum":130},"deathAge":{"type":"number","minimum":0,"maximum":130},"precision":{"type":"string","enum":["exact","approximate","unknown"]}},"required":["status"]}},"required":["privacyNoticeDelivered"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]},{"name":"get_scenario_comparison","kind":"answer","impl":"imperative","description":"Get the conditional Life Function and scenario comparison after the required core is complete.","annotations":{"readOnlyHint":true,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/longevity-mcp/","pages":["/longevity-mcp/"]}],"category":"Health & Education","favicon":"/favicons/app.imt.dev.png","apiSurface":"spec","toolCount":7}}