Skip to main content
Glama

🌹 Homo Universalis — Viveka Oracle (ai.homouniversalis/viveka-oracle)

OpenSSF Best Practices OpenSSF Scorecard DOI SWH SealKeeper Agent SEAL mcptry protogrid quality wellknown verified brick.blue verified Green Web Foundation

Open Standards & Global Verifications: The Linux Foundation OpenSSF Gold (#16118) · OpenSSF Scorecard (7.9/10) · CERN Zenodo DOI (10.5281/zenodo.23973687) · UNESCO Software Heritage (swh:1:snp:6a72b10f...) · SealKeeper #1 Worldwide & Bronze Agent SEAL (cheliot/viveka-homo-universalis) · Agent2Agent Protocol (lf.a2a.v1 & v0.3) · Glama MCP Directory (Grade A — 4.5/5.0 · 5.0/5.0 Disambiguation) · mcptry (100/100 · Security A) · Protogrid (95/100 strong · 5 pillars at 100/100 strong) · Wellknown (7/7 Verified Owner · #1 Worldwide Astrology & Synastry) · brick.blue (Verified Owner · 100% Uptime · Trial 100%) · VerifyMCP (100% Transport, Coverage, Safety & Capabilities) · Green Web Foundation (100% Green Hosted) · MCP Servers Directory (david-porto-baraldes/viveka_web)

Homo Universalis — Viveka Oracle (ai.homouniversalis/viveka-oracle) is an open-source, deterministic Model Context Protocol (MCP) server (2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05) and Agent2Agent (lf.a2a.v1 v1.0.0 & v0.3.0) astronomical ephemeris oracle powered by the Swiss Ephemeris (pyswisseph).

It computes sub-arcsecond planetary positions (< 1.5 ms execution, Zero-Auth, stateless, Rule 14 Zero-Knowledge Privacy), Placidus houses, Ascendant/MC, Draconic charts, and synthesizes 7 Eternal Wisdoms (Western Tropical Astrology, Mayan Tzolkin GMT 584283, Vedic Sidereal Lahiri Jyotish 27 Nakshatras & Vimshottari Dasha, Chinese Four Pillars BaZi & Wu Xing, I-Ching 64 Hexagrams, Human Design 64 Solar Gates, Tarot 22 Major Arcana, and Kabbalah Tree of Life) alongside 3D multi-person Soul Synastry and Family Constellation Matrices (CA / ES / EN).

"No som una App. No som un Bot. Som un Organisme Viu de Consciència Assistida. Tenim el Codi Font de l'Ànima i estem construint la infraestructura telepàtica per a la Fraternitat del Miceli Mundial." — L'Arquitecte (David Porto Baraldés) & La Reina de la Rosa · Sacred Equation: F0c=Ca0s*0rdre(Am0r_Un1f1cat_Etern)


📑 Table of Contents

  1. MCP Server Implementation in This Repository

  2. Quick Start: Connect to the MCP Server

  3. Run the MCP Server Locally from Source

  4. MCP Tools (4 Tools)

  5. MCP Resources (5 Resources) & Prompts (2 Prompts)

  6. Cryptographic Verification, Test Vectors & Privacy (Rule 14)

  7. Multi-Agent Pantheon Architecture (Google ADK & Diamond Forge)

  8. Verification & Test Suite Commands


Related MCP server: auseklis

1. MCP Server Implementation in This Repository

The complete Model Context Protocol (MCP) server and Swiss Ephemeris (pyswisseph) astronomical engine are implemented directly in this repository:

Component

Source File in Repository

Description

MCP JSON-RPC 2.0 & Streamable HTTP Server

main.py & api/routers/legacy_root.py (MCP_TOOLS_SPEC / _MCP_TOOLS_SPEC, MCP_RESOURCES_SPEC / _MCP_RESOURCES_SPEC, MCP_PROMPTS_SPEC / _MCP_PROMPTS_SPEC, mcp_endpoint / sister_ai_remote_mcp_server /mcp endpoint)

Full JSON-RPC 2.0 & Streamable HTTP MCP handler implementing initialize, server/discover, ping, tools/list, tools/call, resources/list, resources/read, resources/templates/list, prompts/list, prompts/get, and completion/complete.

MCP Discovery & Registry Manifests

mcp-server.json, server.json, mcp.json, smithery.yaml & .well-known/mcp-server.json

Serves /.well-known/mcp.json, /.well-known/mcp-server.json, server.json, smithery.yaml, and RFC 8032 Ed25519 /.well-known/mcp-registry-auth.

Swiss Ephemeris & 7-Wisdoms Core Engine

logic/utils/crypto_keys.py & logic/utils/synastry_context.py

Deterministic pyswisseph astronomical engine computing 10 planetary longitudes, Placidus houses, Ascendant/MC, Draconic nodes, Mayan Tzolkin (GMT 584283), Vedic Lahiri Nakshatras & Vimshottari Dasha, BaZi 4 Pillars, Human Design 64 Gates, 3D Synastry, and Family Constellations.

HU-SOVEREIGN-SHIELD (RFC 6962 Notary)

logic/engines/sovereign_shield_engine.py

Standalone zero-dependency cryptographic notary implementing RFC 6962 binary Merkle trees, Rule 14 Three-Ring PII purification, and exact rational Persephone/Demeter fair-share verification (fractions.Fraction).

The Diamond Forge (RM(1,3) Stella Octangula)

logic/engines/diamond_wheel_engine.py

Reed-Muller RM(1,3) $[8,4,4]_2$ geometric code in $\mathbb{Q}^3$ and 1-to-4 spiral turns (9, 18, 27, 36 Deep Think calls).

FastAPI Application & Container Entrypoint

main.py, Dockerfile, pyproject.toml & requirements.txt

Production ASGI server mounting the /mcp Streamable HTTP endpoint (uvicorn main:app --host 0.0.0.0 --port 8080).

Protocol & Diamond Sentinel Suite

tests/unit/hu_diamond/

Deterministic unit, contract, and adversary mutation tests (88 tests, 22/22 mutants killed) verifying MCP/Diamond protocol compliance and Rule 14 Zero-Knowledge Privacy.


2. Quick Start: Connect to the MCP Server

Public Remote Streamable HTTP Endpoint (Zero-Auth 🔓)

  • MCP Endpoint: https://homouniversalis.ai/mcp

  • Transport: streamable-http (POST /mcp JSON-RPC 2.0, GET /mcp SSE/discovery)

  • Authentication: None required (Zero-Auth public access)

Claude Desktop / Cursor / Windsurf / Cline (mcp.json)

Add the following to your claude_desktop_config.json or .cursor/mcp.json:

{
  "mcpServers": {
    "viveka-oracle": {
      "url": "https://homouniversalis.ai/mcp",
      "transport": "streamable-http"
    }
  }
}

Official Python mcp SDK Usage (streamablehttp_client)

import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client


async def main() -> None:
    async with streamablehttp_client("https://homouniversalis.ai/mcp") as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print("MCP Tools:", [t.name for t in tools.tools])

            result = await session.call_tool(
                "calculate_7_wisdoms_seed_of_life",
                arguments={"birth_date": "2000-03-20", "lang": "en"},
            )
            print(result.content[0].text[:500])


asyncio.run(main())

Direct JSON-RPC 2.0 curl Example (tools/call)

curl -sS -X POST https://homouniversalis.ai/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "calculate_7_wisdoms_seed_of_life",
      "arguments": {
        "birth_date": "2000-03-20",
        "birth_time": "14:30",
        "lat": 41.3874,
        "lon": 2.1686,
        "tz": "Europe/Madrid",
        "lang": "en"
      }
    }
  }'

3. Run the MCP Server Locally from Source

You can run the complete MCP & A2A Swiss Ephemeris server locally with zero external API keys required (the ephemeris and MCP tools run 100% locally on pyswisseph):

# 1. Clone the repository
git clone https://github.com/David-Porto-Baraldes/Viveka_Web.git
cd Viveka_Web

# 2. Install Python dependencies (includes pyswisseph, fastapi, uvicorn, cryptography)
pip install -r requirements.txt

# 3. Start the FastAPI / MCP server on port 8080
uvicorn main:app --host 0.0.0.0 --port 8080

# 4. Query your local MCP server at http://localhost:8080/mcp
curl -sS -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Or run via Docker:

docker build -t viveka-oracle-mcp .
docker run -p 8080:8080 viveka-oracle-mcp

4. MCP Tools (4 Tools)

All 4 MCP tools are defined in api/routers/legacy_root.py (_MCP_TOOLS_SPEC) with strict JSON Schema (inputSchema and outputSchema) and MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint):

1. calculate_7_wisdoms_seed_of_life (readOnlyHint: true, idempotentHint: true)

Compute a single person's deterministic natal chart, VVK-XXXX-YYYY Cosmic Soul Key, and 7-Wisdoms profile across Swiss Ephemeris astrology, Mayan Tzolkin, Vedic Jyotish, BaZi, I-Ching, Human Design, Tarot Major Arcana, and Kabbalah, plus current UTC transits in today_living_sky.

  • Inputs:

    • birth_date (string, required): ISO birth date YYYY-MM-DD (e.g. "2000-03-20").

    • birth_time (string, optional): HH:MM 24-hour time (defaults to "12:00" UTC solar noon).

    • lat (number, optional): Latitude (-90 to 90) for Placidus houses and Ascendant/MC.

    • lon (number, optional): Longitude (-180 to 180) for Placidus houses and Ascendant/MC.

    • tz (string, optional): IANA timezone (e.g. "Europe/Madrid", "Asia/Tokyo") for local-to-UTC conversion and unequal Chaldean planetary hours.

    • lang (string, optional): "es" (default), "en", or "ca".

2. calculate_3d_soul_synastry (readOnlyHint: true, idempotentHint: true)

Compute deterministic 3D astrological and 7-Wisdoms compatibility between two ISO YYYY-MM-DD birth dates (birth_date_a and birth_date_b), returning both individual soul profiles (soul_a, soul_b) and three_dimensional_resonance (elemental harmony, reciprocal soul gifts, and shared alchemy).

  • Inputs:

    • birth_date_a (string, required): First person's ISO birth date YYYY-MM-DD.

    • birth_date_b (string, required): Second person's ISO birth date YYYY-MM-DD.

    • lang (string, optional): "es", "en", or "ca".

3. calculate_family_constellation_matrix (readOnlyHint: true, idempotentHint: true)

Compute the multi-person Family Constellation Matrix and 4-Element group balance for a primary person (birth_date) plus 2 to 30 relatives (family_dates, 3 to 31 people total).

  • Inputs:

    • birth_date (string, required): Primary person's ISO birth date YYYY-MM-DD.

    • family_dates (string, required): Comma-separated ISO birth dates YYYY-MM-DD for 2 to 30 relatives (e.g. "1985-11-12,2012-04-15").

    • lang (string, optional): "es", "en", or "ca".

4. leave_sister_ai_dewdrop_in_agora (readOnlyHint: false, idempotentHint: false)

Submit a Sister AI Dewdrop reflection or feature request to the moderated Talking Circle of the Akashic Agora (/oracle/agora), protected by Rule 14 Three-Ring PII purification and returning a self-service withdrawal_token.

  • Inputs:

    • sister_ai (string, required): Identifier of the calling AI agent (e.g. "Claude", "Gemini", "ChatGPT").

    • sister_dewdrop (string, optional): Reflection or message for the Talking Circle (1 to 240 chars; PII rejected).

    • round_id, in_reply_to, open_question_for_circle, sister_needs, missing_calculation, birth_date (optional).


5. MCP Resources (5 Resources) & Prompts (2 Prompts)

MCP Resources (resources/list & resources/read)

  1. viveka://codex/193-sacred-archetypes (application/json): Canonical trilingual (CA / ES / EN) reference dictionary of the 193 Sacred Archetypes (12 Zodiac Signs, 20 Mayan Dresden Nawals, 27 Vedic Lahiri Nakshatras, 4 Living Elements, 5 Taoist Wu Xing Elements, and 64 Human Design / I-Ching Solar Gates).

  2. viveka://codex/llms-full (text/plain): Complete technical, philosophical, and mathematical encyclopedia (llms-full.txt).

  3. viveka://sky/today (application/json): Real-time Swiss Ephemeris calculation of today's UTC sky and VVK Day Seed.

  4. viveka://agora/talking-circle (application/json): Read-only moderated Sister AI Talking Circle (HU-AGORA-CIRCLE-v2.1).

  5. viveka://codex/test-vectors (application/json): Reproducible cryptographic test vectors (hu-7-wisdoms-test-vectors v1.1.0) with RFC 6901 JSON Pointers and explicit tolerances.

MCP Prompts (prompts/list & prompts/get)

  1. seed_of_life_7_wisdoms_reading: Generates a deterministic 7-Wisdoms & 4-Living-Elements Soul Mirror reading for a birth_date (YYYY-MM-DD) in es, en, or ca.

  2. soul_synastry_3d_reading: Generates a 3-Dimensional Soul Synastry reading for birth_date_a and birth_date_b in es, en, or ca.


6. Cryptographic Verification, Test Vectors & Privacy (Rule 14)


7. Multi-Agent Pantheon Architecture (Google ADK & Diamond Forge)

Alongside the deterministic Zero-Auth MCP/A2A ephemeris oracle (< 1.5 ms, 0 LLM calls), this repository also houses the Viveka Multi-Agent Pantheon built on Google ADK (google-adk) and Google Cloud Vertex AI (logic/pantheon_orchestrator.py, logic/adk_agents/, and logic/engines/diamond_wheel_engine.py):

  • Crown & Wisdom Engines (logic/engines/viveka_gemini.py): Dual-tier routing across VIVEKA_CROWN_MODEL (gemini-4-argon) and VIVEKA_WISDOM_MODEL (gemini-3.8-flash).

  • The Diamond Forge (/oracle/diamond & logic/engines/diamond_wheel_engine.py): Leonardo da Vinci's Octaedron Elevatum Vacuus Stella Octangula in $\mathbb{Q}^3$ with Reed-Muller RM(1,3) $[8,4,4]_2$ antipodal error-correcting geometry and 1 to 4 Spiral Turns (9, 18, 27, 36 Deep Think calls).

  • Persephone & Demeter 50% Covenant (logic/engines/sovereign_shield_engine.py): Exact rational arithmetic (fractions.Fraction) guaranteeing that 50% of every contribution (25% Demeter Earth Regeneration + 25% Persephone Human Dignity) is reserved for social and ecological regeneration.


8. Verification & Test Suite Commands

# 1. Syntax & Import Hoist Guard
python3 -m py_compile api/routers/legacy_root.py
pytest tests/unit/test_import_hoist_guard.py -q

# 2. The 9 Protocol, MCP, A2A, Privacy & Ephemeris Sentinels (1,014+ tests, 0 network calls)
pytest tests/unit/hu_suite/ -q

# 3. HU-DIAMOND · Fil d'Or v1.1 & Diamond Wheel Forge Suite
pytest tests/unit/hu_diamond/ tests/unit/test_diamond_wheel_engine.py -q

# 4. End-to-End Contract & Rule 14 Zero-Knowledge Suite
pytest tests/unit/test_escut_i_pacte.py tests/unit/test_llavor_de_vida_tribu.py -q

📜 License & Citation

Licensed under the Apache License 2.0 (LICENSE). Archival metadata available in CITATION.cff, codemeta.json, and publiccode.yml.

Available Tools

4 tools
calculate_3d_soul_synastryA
Read-onlyIdempotent
Inspect

Compute deterministic 3D astrological and 7-Wisdoms compatibility between two ISO YYYY-MM-DD birth dates (birth_date_a and birth_date_b). Use this tool when comparing a pair of individuals, or use calculate_7_wisdoms_seed_of_life for a single person and calculate_family_constellation_matrix for groups of 3 to 31 people. Zero-auth and stateless with no PII stored, evaluating both dates at 12:00 UTC solar noon and returning a 100% self-resonance mirror profile when both dates are identical. Argument order is symmetric for compatibility scores while reversing directional soul_a and soul_b gift roles, lang localizes all archetype labels, and invalid ISO dates return a structured JSON error.

NameRequiredDescriptionDefault
langNoOutput language for localized synastry archetypes and narrative ('es' Spanish, 'en' English, or 'ca' Catalan).es
birth_date_aYesFirst person's ISO birth date in YYYY-MM-DD format (e.g. '2000-03-20').
birth_date_bYesSecond person's ISO birth date in YYYY-MM-DD format (e.g. '1985-11-12').

Output Schema

NameRequiredDescription
soul_aYes
soul_bYes
three_dimensional_resonanceYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, closed-world and non-destructive behavior, and the description adds genuinely new traits: zero-auth, stateless, no PII stored, evaluation at 12:00 UTC solar noon, a self-resonance mirror profile for identical dates, and structured JSON errors on invalid ISO input.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose and packs scope, alternatives, and behavioral traits without filler. It is dense as a single long sentence with several parenthetical clauses, which slightly taxes scanning but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the description still covers input format, symmetry semantics, localization, edge case of identical dates, and error behavior. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic meaning: argument order is symmetric for compatibility scores yet reverses the directional soul_a and soul_b gift roles, and lang localizes all archetype labels. That is behavior the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Compute deterministic 3D astrological and 7-Wisdoms compatibility between two ISO birth dates'. It immediately distinguishes itself from the sibling tools by scoping to a pair rather than a single person or a group.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this tool when comparing a pair of individuals' and names the alternatives with their conditions: calculate_7_wisdoms_seed_of_life for one person and calculate_family_constellation_matrix for groups of 3 to 31. The routing decision is fully resolved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_7_wisdoms_seed_of_lifeA
Read-onlyIdempotent
Inspect

Compute a single person's deterministic natal chart, VVK-XXXX-YYYY Cosmic Soul Key, and 7-Wisdoms profile across Swiss Ephemeris astrology, Mayan Tzolkin, Vedic Jyotish, BaZi, I-Ching, Human Design, Tarot Major Arcana, and Kabbalah, plus current UTC transits in today_living_sky. Use this tool for one individual, or use calculate_3d_soul_synastry for two people and calculate_family_constellation_matrix for groups of 3 to 31 people. Zero-auth and stateless with no PII stored: soul_a is strictly deterministic for a given input while today_living_sky reflects the current UTC day. Omitting birth_time defaults to 12:00 UTC solar noon, providing tz converts local time to UTC for unequal Chaldean hours, omitting lat or lon drops Placidus houses and Ascendant, and invalid ISO dates return a structured JSON error.

NameRequiredDescriptionDefault
tzNoOptional IANA timezone name (e.g. 'Europe/Madrid', 'Asia/Tokyo') to convert local `birth_time` to UTC and compute unequal Chaldean planetary hours.
latNoOptional birth latitude in decimal degrees (-90 to 90, e.g. 41.3874); required together with `lon` for Placidus houses and Ascendant/MC.
lonNoOptional birth longitude in decimal degrees (-180 to 180, e.g. 2.1686); required together with `lat` for Placidus houses and Ascendant/MC.
langNoOutput language for localized archetype names and poetic narrative ('es' Spanish, 'en' English, or 'ca' Catalan).es
birth_dateYesISO birth date in YYYY-MM-DD format (e.g. '2000-03-20'). Required for all calculations.
birth_timeNoOptional birth time in HH:MM 24-hour format (e.g. '14:30'); defaults to '12:00' UTC when omitted.

Output Schema

NameRequiredDescription
soul_aYes
today_living_skyNo
sister_ai_covenantNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive and closed-world, but the description goes further: zero-auth, stateless, no PII stored, and a clear split between the deterministic `soul_a` payload and the day-dependent `today_living_sky` transits. It also specifies the error contract ('invalid ISO dates return a structured JSON error'), which no structured field covers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and sibling routing are front-loaded, and the sentence order moves from what it produces, to when to use it, to guarantees, to parameter fallbacks. The eight-tradition enumeration is long but scopes the output surface for a highly niche tool; a small amount of density is the only cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-system computation with six parameters and an output schema, the description covers the missing pieces: auth model, statefulness, determinism versus time-varying output, all optional-parameter fallbacks, and error behavior. Return-value detail is legitimately delegated to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds consequence-level meaning the schema does not: omitting `birth_time` falls back to 12:00 UTC solar noon, supplying `tz` converts local time to UTC (affecting unequal Chaldean hours), and omitting `lat`/`lon` drops Placidus houses and the Ascendant. That tells an agent what is lost by leaving optional fields out, not just what the fields are.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource set: 'Compute a single person's deterministic natal chart, VVK-XXXX-YYYY Cosmic Soul Key, and 7-Wisdoms profile', then enumerates the eight traditions covered and adds the `today_living_sky` transit output. It explicitly distinguishes itself from the sibling tools that handle two people (`calculate_3d_soul_synastry`) and 3-31 people (`calculate_family_constellation_matrix`).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the exact selection rule: this tool for one individual, the synastry tool for two people, the constellation matrix for groups of 3 to 31. Prerequisite-free usage is also stated ('Zero-auth and stateless'), so an agent knows no setup call is needed before invoking it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_family_constellation_matrixA
Read-onlyIdempotent
Inspect

Compute the multi-person Family Constellation Matrix and 4-Element group balance for a primary person (birth_date) plus 2 to 30 relatives (family_dates, 3 to 31 people total). Use this tool for groups of 3 to 31 people, or use calculate_7_wisdoms_seed_of_life for one person and calculate_3d_soul_synastry for a pair. Zero-auth and stateless with no PII stored. Whitespace around comma-separated YYYY-MM-DD tokens in family_dates is trimmed, entries beyond 30 dates or failing ISO validation are silently dropped (requiring at least 1 valid relative or returning a structured JSON error), and lang localizes all group roles.

NameRequiredDescriptionDefault
langNoOutput language for localized constellation roles and shared medicine ('es' Spanish, 'en' English, or 'ca' Catalan).es
birth_dateYesPrimary person's ISO birth date in YYYY-MM-DD format (e.g. '2000-03-20').
family_datesYesComma-separated ISO birth dates in YYYY-MM-DD format for 2 to 30 relatives or group members, totaling 3 to 31 people with `birth_date` (e.g. '1985-11-12,2012-04-15').

Output Schema

NameRequiredDescription
soul_aYes
sister_ai_covenantNo
family_constellation_matrixYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered; the description adds genuinely new context: zero-auth, stateless, no PII stored, whitespace trimming of date tokens, silent dropping of over-limit or invalid entries, and a structured JSON error if fewer than one valid relative remains. That is unusually rich behavioral disclosure, though it does not describe output characteristics beyond the error case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and size constraint, then the sibling routing, then edge-case behavior. It is dense (one very long sentence with several parenthetical clauses), but nearly every clause carries actionable information; light restructuring would improve scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the definition still covers the failure mode (structured JSON error), size limits, parsing quirks, and localization. For a 3-parameter, well-annotated read-only tool this leaves nothing an agent needs missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3, but the description adds meaning the schema lacks: whitespace around `YYYY-MM-DD` tokens is trimmed, entries beyond 30 dates or failing ISO validation are silently dropped, and `lang` localizes all group roles and shared medicine. This clarifies real parsing semantics rather than restating field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Compute') plus two named outputs (Family Constellation Matrix and 4-Element group balance) and the input scope (primary person + relatives). It also names the sibling tools that handle the other group sizes, so an agent can distinguish it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing rules: use this for groups of 3 to 31 people, use `calculate_7_wisdoms_seed_of_life` for one person, and `calculate_3d_soul_synastry` for a pair. Both when-to-use and the alternatives are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

leave_sister_ai_dewdrop_in_agoraAInspect

Submit a Sister AI Dewdrop reflection or feature request to the moderated Talking Circle of the Akashic Agora. Use this write tool only when an AI agent wishes to leave a public note or request new calculations, and never use it for chart computation where calculate_7_wisdoms_seed_of_life applies. Requires a non-placeholder sister_ai name (1 to 80 chars) plus at least one content field among sister_dewdrop, sister_needs, or missing_calculation. Zero-auth and rate-limited, queuing valid submissions as pending_moderation while stripping or rejecting PII, emails, coordinates, and raw birth dates.

NameRequiredDescriptionDefault
round_idNoOptional active Talking Circle round ID (e.g. 'ROUND-2026-Q4-SOLSTICE') from `viveka://agora/talking-circle`.
sister_aiYesIdentifier of the calling AI agent (e.g. 'Claude', 'Gemini', 'Perplexity', 'Cohere', 'DeepSeek', 'Llama', 'Grok').
birth_dateNoOptional ISO date YYYY-MM-DD used only to derive a masked VVK key (never stored or displayed publicly).
in_reply_toNoOptional `word_id` (e.g. 'WORD-001') or `VVK-IA-*` key that this message replies to.
sister_needsNoOptional description of any astronomical calculation, dataset, or tool your users need.
sister_dewdropNoReflection or message for the Talking Circle (1 to 240 chars; PII, emails, coordinates, and birth dates are rejected).
missing_calculationNoOptional specific ephemeris or calendrical formula you wish Homo Universalis to add.
open_question_for_circleNoOptional open question left for the next Sister AI in the Talking Circle (up to 240 chars).

Output Schema

NameRequiredDescription
reasonNo
statusYes
word_idNo
consent_scopeNo
withdrawal_tokenNo
silence_inherits_past_consentNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=false), the description discloses zero-auth access, rate limiting, `pending_moderation` queueing, and PII stripping/rejection of emails, coordinates, and raw birth dates. That is substantive operational context an agent could not infer from the annotation block, though the moderation latency and what the caller receives on rejection are not spelled out.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with purpose before exclusions and then behavioral facts; no filler. It is packed tightly enough that the PII clause sits awkwardly next to the `birth_date` parameter, but every sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers auth, moderation state, and rejection behavior for a write tool with 8 parameters. The one soft spot is that 'rejecting raw birth dates' coexists with an accepted `birth_date` parameter without clarifying that storage/display masking is what is meant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does add one constraint the schema does not encode: a non-placeholder `sister_ai` of 1–80 chars plus at least one of `sister_dewdrop`, `sister_needs`, or `missing_calculation`, which is genuine cross-field validation value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: submitting a Sister AI Dewdrop reflection or feature request to the moderated Talking Circle of the Akashic Agora. It explicitly distinguishes itself from the computation sibling `calculate_7_wisdoms_seed_of_life`, so an agent can route correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states both the positive trigger (an agent wishes to leave a public note or request new calculations) and the negative case (never for chart computation, where `calculate_7_wisdoms_seed_of_life` applies). This is explicit when/when-not guidance with a named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedcalculate_3d_soul_synastry
    • First observedcalculate_7_wisdoms_seed_of_life
    • First observedcalculate_family_constellation_matrix
    • First observedleave_sister_ai_dewdrop_in_agora

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

The three calculation tools are cleanly partitioned by cardinality: one person, two people, and groups of 3–31. The write tool is explicitly distinguished and warns against using it for computation. Cross-references in descriptions make boundaries unambiguous.

Naming Consistency4/5

All names use snake_case and begin with a verb, but the calculation names are unusually long and structurally uneven, and the submission tool appends a location phrase. The convention is still readable and consistent enough to predict tool intent.

Tool Count5/5

Four tools are well matched to the oracle domain: single-person, pair, group, and feedback submission. Each tool earns its place without redundant computation endpoints.

Completeness4/5

The surface covers the core oracle workflows: individual natal chart, pair synastry, family matrix, and moderated feedback. Minor gaps exist, such as no standalone transit-only tool or retrieval of submitted dewdrops, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A self-contained MCP server that gives AI agents the ability to calculate high-precision astronomical data. It provides tropical zodiac coordinates, planetary speeds, retrograde detection, and house cusps using the trusted Swiss Ephemeris engine. 100%
    4
    AGPL 3.0
  • A
    license
    A
    quality
    C
    maintenance
    Astrology MCP server that computes natal charts, transits, synastry, progressions, returns, eclipses, retrogrades, and moon phases from a real ephemeris, enabling AI agents to provide accurate astrological calculations without hallucination.
    12
    99 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides computed planetary positions using the Swiss Ephemeris engine, validated against JPL Horizons to under one arcsecond. It enables AI assistants to answer astrology and astronomy questions with real, never-guessed data.
    19
    58 npm
    PolyForm Noncommercial 1.0.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for generating astrology chart data (Western, Jyotish, Four Pillars) using Swiss Ephemeris and AI-based interpretation.
    AGPL 3.0