Skip to content

Repository files navigation

Lumin

Example apps built on the Lumin MCP server.
KP astrology inside a product feature, not a chatbot.


Apps

App What it does Birth data
today-panel Panchang, choghadiya and hora for any city No
horary-desk Ask a question, pick a number 1 to 249, get a verdict No
weather-windows Outdoor windows for a place and date range No
muhurta-scheduler A date picker that knows what the date is for Yes
kundli-match Three compatibility systems, side by side Two charts
career-fit Vocational fit and timing, each rule reported separately Yes
wellness-matcher Ayurvedic products matched to a chart-derived constitution Yes
products-matcher Consumer personality, then products across categories Yes
health-risk-analyzer Constitutional risk across body systems Yes

Three need no personal data at all. 21 of the server's tools take only a place and a date, or only a number and a moment, so you can ship a real feature with no consent flow.

USE-CASES.md lists 98 more, with the tool chain for each.

Run one

Needs Bun 1.2 or newer.

bun install
cp apps/today-panel/.env.example apps/today-panel/.env.local
bun run --filter today-panel dev     # http://localhost:3110

Two keys. ANTHROPIC_API_KEY is yours, the model bill is yours. LUMIN_API_KEY comes from app.lumin.guru/developer.

Top up any amount from $1 for 400 calls. A lookup is a few calls, a full reading is 25 to 40.

Bun is the package manager and task runner. Next itself still builds on Node, because Next 16 with Turbopack does not run under the Bun runtime yet.

The pattern

Every app calls packages/lumin-client.

const result = await runLumin({
  allowedTools: ALLOWED_TOOLS,   // the model can call these and nothing else
  system: buildSystemPrompt(),
  user: buildUserPrompt(input),
  maxTokens: 16000,
  effort: "xhigh",
  signal: req.signal,
});
const parsed = ensureShape(parseJsonBlock<MatchResponse>(result.text), validate);

It handles what a bare messages.create does not: pause_turn resumption, refusals and truncation mapped to real statuses, a check that some Lumin tool actually ran, and the rate limit that arrives as tool-result text rather than an HTTP status.

Contributing

CONTRIBUTING.md. Two rules matter most. Verify every tool name, because bun run check:tools fails CI on one that does not exist. Label every non-KP tool, because a third of the surface is Parashari, Jaimini or Tajik.

MIT. See LICENSE.

About

Example apps built on the Lumin MCP server. KP astrology inside a product feature, not a chatbot.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages