Skip to content

Repository files navigation

Longevity — Human-Agent Life Function Workspace

Longevity is a privacy-first WebMCP application in which a person and their AI agent build a structured Life Function together, then compare conditional Androphysics scenarios and turn the result into a program of action.

Live app: https://app.imt.dev/longevity-mcp/

Public repository: https://github.com/KiteTools/longevity-webmcp

The interface opens in English and includes a complete Russian version. Switching EN / RU changes both the human interface and the WebMCP contract used by the agent.

Longevity is a conditional model under stated assumptions. It is not medical advice, a biological forecast, or a prediction of a person’s date of death.

Why WebMCP changes the experience

A conventional form knows nothing about the person and asks everything from zero. A client-side WebMCP agent can first use facts already present in its context, submit only the structured subset needed by the model, and ask only for the gaps. The page and the agent then share the same in-tab state: every accepted fact immediately changes completeness, charts, scenarios, and the visible program.

The interview is intentionally conversational rather than form-like:

  • four short chapters: family and influence, ancestors, parents, and the client’s trajectory;
  • exactly one question per agent message;
  • text, voice, approximate answers, and “I don’t know” are accepted;
  • a sparse case normally reaches its first calculation in about ten questions;
  • optional refinements appear only after the first result.

WebMCP tools

Tool Purpose
get_intake_manifest Returns the data contract, privacy boundary, interview policy, and supported event criteria.
submit_known_facts Submits structured facts already known to the agent and updates the page.
get_intake_status Returns completeness, readiness, explicit assumptions, and remaining gaps.
get_next_interview_step Returns exactly one next question and a stop signal when the first calculation is ready.
get_missing_questions Compatibility view of all remaining blocking gaps.
submit_interview_answers Adds structured facts extracted from one client answer.
get_scenario_comparison Returns the conditional Life Function scenario comparison after the required core is complete.

Tools are registered through document.modelContext.registerTool() and scoped with an AbortSignal. Changing the UI language aborts the previous registration and registers the same tools again with a matching English or Russian contract.

Privacy design

  • No account, database, analytics, cookies, or server-side intake endpoint.
  • Personal facts live only in JavaScript memory inside the open tab.
  • Reload, tab close, or Clear deletes the package.
  • The page accepts structured facts only—never raw chat, audio, or transcripts.
  • The Content Security Policy uses connect-src 'none' for the deployed static app.
  • The agent must present the page privacy notice before its first submission.
  • If an agent platform requires consent for a specific sensitive fact, it requests that consent immediately before transmitting only that fact.

Conversation retention remains the responsibility of the agent platform and is stated explicitly in both the UI and the WebMCP manifest.

See PRIVACY.md for the concise threat boundary.

Local development

Requirements: Node.js 22 and npm.

npm install
npm run dev

Production build and tests:

npm test
npm run build:longevity

The Netlify configuration builds dist/, serves the single-page app, disables framing, and applies a strict CSP.

Localization rule

English is the default locale. Every user-facing change must ship in both en and ru, including:

  1. visible UI and accessibility labels;
  2. copied agent instructions;
  3. WebMCP tool descriptions and JSON Schema descriptions;
  4. interview questions, assumptions, scenario labels, and result text;
  5. metadata that describes the default English experience.

The interface copy uses a paired typed dictionary, and tests render all four English screens to ensure Russian UI copy cannot leak into the English experience.

Challenge submission package

Prepared materials are in docs/challenge:

  • final project description;
  • a sub-three-minute demo script and shot list;
  • a judging-criteria evidence map;
  • the final submission checklist.

License

MIT. See LICENSE.

About

Privacy-first bilingual WebMCP app for building and exploring a conditional Life Function with an AI agent

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages