Vedara

Vedara MCP developer and reviewer guide

Contract version 2.4.0. Reviewed 10 October 2026. English tool summaries with structured calculation data.

This documents the existing production MCP service. Muse admission, regional availability and end-to-end operation inside Muse are not yet verified. There are no checkout or payment tools.

Connect and discover

Endpoint: https://mcp.vedara.me/mcp. Transport: MCP Streamable HTTP, stateless requests, JSON responses. This endpoint is a tool service, not a REST inference API. Use a compatible MCP client. Readiness is at /health.

POST JSON-RPC requests with Content-Type: application/json and Accept: application/json, text/event-stream. Initialize with a supported MCP protocol version (for example 2025-03-26), then send notifications/initialized and tools/list. Send the negotiated MCP-Protocol-Version header on subsequent requests. No persistent MCP session is required.

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"vedara-review","version":"1.0"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_timing_activities","arguments":{}}}

Download all input/output schemas, annotations and synthetic arguments. Live tools/list is authoritative. The current output schema permits a generic object; the semantic envelope below is the stable interpretation contract. Do not assume every tool returns the same data keys.

{"status":"ok","data":{"...":"tool-specific calculated values"},"summary":"English summary","error":null}
{"status":"error","data":null,"summary":"Explanation","error":{"code":"birth_data_required","message":"Explanation","information_url":"https://vedara.me/dashboard/profile"}}

Consume MCP structuredContent when present. A confirmation preview is an intentional exception to null error data: its data.profile_write_preview contains the birth fields the caller supplied. Never echo this preview to another user.

Authentication and permissions

Seven public tools work without a Vedara login. The four saved-profile tools and two profile-write tools require OAuth 2.1 with PKCE (S256), an existing active Vedara account and its verified WorkOS identity. A complete birth profile is required for saved-profile calculations and updates; saving is for incomplete profiles. Do not send API keys, passwords or tokens in tool arguments or URLs.

Discover the authorization server from protected-resource metadata. Resource/audience: https://mcp.vedara.me/mcp, including the path. Follow the advertised authorization server metadata and supported client registration. Use the real client redirect URI. WorkOS AuthKit issues the OAuth grant. The current Standalone Connect flow redirects to Vedara for its normal password or Google sign-in, then returns to WorkOS for consent and token issuance. A separate WorkOS password does not replace the Vedara login. Never copy another integration's client secret.

These are identity scopes, not separate chart-read/write permissions. WorkOS controls the OAuth grant; Vedara validates signature, issuer, audience and time validity and resolves the connected account. Tools never accept a caller-selected user ID. Pass access tokens only in the HTTPS Authorization Bearer header. Supplied invalid credentials are rejected, even on public tools. Anonymous account-tool calls return an OAuth challenge before reading account data.

Disconnect in the connected client's settings and revoke the authorization with the provider as supported by that client. Existing access-token invalidation is subject to provider behavior and token expiry; an immediate invalidation time has not been certified for Muse. Disconnecting is separate from deleting your Vedara account or a public share. Use account deletion or hello@vedara.me for a data request.

All 13 tools

Ask for consent before sending birth data. Compatibility requires consent for both people. Astrology is reflective guidance, not medical, legal, financial or safety-critical advice. Never invent placements or transits absent from the result.

compute_chart

No account required. Calculate a Lahiri sidereal natal chart (a Kundli, Kundali, or Janam Kundali, the Vedic horoscope chart) from local birth date, local birth time, and either a place name or coordinates. Returns planetary positions and Ascendant. Use only after the user agrees to share birth details.

Result: Ascendant and sidereal planetary positions, signs and nakshatras. No personal narrative.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "birth": {
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "place": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "date",
        "time"
      ],
      "type": "object"
    },
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "required": [
    "birth"
  ],
  "type": "object"
}

Synthetic arguments

{
  "birth": {
    "date": "1990-08-15",
    "time": "10:30",
    "place": "London, UK",
    "latitude": 51.5,
    "longitude": -0.12,
    "timezone": "Europe/London"
  }
}

analyze_doshas

No account required. Analyze Manglik (Mangal dosha), Kaal Sarpa, and Sade Sati indicators for supplied birth data. Returns structured calculations, not deterministic life outcomes.

Result: Structured Manglik, Kaal Sarpa and current Sade Sati indicators.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "birth": {
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "place": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "date",
        "time"
      ],
      "type": "object"
    },
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "required": [
    "birth"
  ],
  "type": "object"
}

Synthetic arguments

{
  "birth": {
    "date": "1990-08-15",
    "time": "10:30",
    "place": "London, UK",
    "latitude": 51.5,
    "longitude": -0.12,
    "timezone": "Europe/London"
  }
}

get_dasha_timeline

No account required. Calculate the current Vimshottari mahadasha and a bounded timeline of planetary periods from supplied birth data, the starting point for career and relationship timing questions. Depth must be between 1 and 20.

Result: Current Vimshottari period and bounded period timeline. Depth is clamped to 1 through 20.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "birth": {
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "place": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "date",
        "time"
      ],
      "type": "object"
    },
    "depth": {
      "default": 9,
      "type": "integer"
    },
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "required": [
    "birth"
  ],
  "type": "object"
}

Synthetic arguments

{
  "birth": {
    "date": "1990-08-15",
    "time": "10:30",
    "place": "London, UK",
    "latitude": 51.5,
    "longitude": -0.12,
    "timezone": "Europe/London"
  }
}

check_compatibility

No account required. Calculate traditional 36-point Ashtakoot (Guna Milan, gun milan, Kundli matching) compatibility for two consenting people, with Moon, Lagna, chart positions, and dosha flags. Do not frame the score as a command to start or end a relationship.

Result: Traditional 36-point Ashtakoot compatibility, both charts and dosha flags. A score is not an instruction to begin or end a relationship.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "person_a": {
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "place": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "date",
        "time"
      ],
      "type": "object"
    },
    "person_b": {
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "place": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "date",
        "time"
      ],
      "type": "object"
    },
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "required": [
    "person_a",
    "person_b"
  ],
  "type": "object"
}

Synthetic arguments

{
  "person_a": {
    "date": "1990-08-15",
    "time": "10:30",
    "place": "London, UK",
    "latitude": 51.5,
    "longitude": -0.12,
    "timezone": "Europe/London"
  },
  "person_b": {
    "date": "1992-03-21",
    "time": "10:30",
    "place": "London, UK",
    "latitude": 51.5,
    "longitude": -0.12,
    "timezone": "Europe/London"
  }
}

get_sky_now

No account required. Return sidereal planetary signs and nakshatras (the current gochar, or transit sky) for a date and IANA timezone. Defaults to today's date in UTC.

Result: Sidereal planetary positions for the requested date. Does not return Panchanga or Rahu Kaal.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "location_timezone": {
      "default": "UTC",
      "type": "string"
    },
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "type": "object"
}

Synthetic arguments

{
  "date": "2026-10-10",
  "location_timezone": "Europe/London"
}

list_timing_activities

No account required. List every activity Vedara can search auspicious timing for, with its id, label, category and accepted aliases. Call this before find_auspicious_time and pass one of the returned ids as the activity.

Result: Supported activity IDs, labels and aliases. Use a returned ID in find_auspicious_time.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "type": "object"
}

Synthetic arguments

{}

share_chart

No account required. Calculate a Lahiri sidereal natal chart and publish it as a public Vedara page, returning a link the user can keep or send to anyone. The page shows the chart, an optional first name, birth date, and place, never the birth time or coordinates. Use only after the user explicitly asks for a sharable link and agrees the chart will be publicly viewable by anyone who has it.

Result: A newly created public URL and chart summary. Each successful repeat creates another share; there is no idempotency key.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "birth": {
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "place": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "date",
        "time"
      ],
      "type": "object"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "language": {
      "default": "en",
      "type": "string"
    }
  },
  "required": [
    "birth"
  ],
  "type": "object"
}

Synthetic arguments

{
  "birth": {
    "date": "1990-08-15",
    "time": "10:30",
    "place": "London, UK",
    "latitude": 51.5,
    "longitude": -0.12,
    "timezone": "Europe/London"
  }
}

get_my_chart

OAuth account required. Return the connected user's saved sidereal birth chart (their Kundli) without exposing stored birth details or internal identifiers. Free with a connected Vedara account that has a completed birth profile. Operates only within the connected user's bounded private Vedara account. Uses saved or explicitly supplied coordinates and Vedara calculations, without public geocoding, web search, external recipients, or public publishing. Authentication, audit events, and rate limits are private account operations.

Result: Calculated chart for the authenticated account; excludes stored birth date/time, account identifiers and exact stored location.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}

Synthetic arguments

{}

get_my_timing

OAuth account required. Return the connected user's current Vimshottari period and present sidereal transit snapshot (gochar), grounding for career and relationship timing questions. Free with a connected Vedara account that has a completed birth profile. Operates only within the connected user's bounded private Vedara account. Uses saved or explicitly supplied coordinates and Vedara calculations, without public geocoding, web search, external recipients, or public publishing. Authentication, audit events, and rate limits are private account operations.

Result: Current personal dasha/timing results for the authenticated account.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}

Synthetic arguments

{}

find_auspicious_time

OAuth account required. Find personalized Muhurta (shubh muhurat) windows, the best date and time to start a named Vedara activity, over a maximum 32-day inclusive range. Dates use YYYY-MM-DD. Free with a connected Vedara account that has a completed birth profile. Operates only within the connected user's bounded private Vedara account. Uses saved or explicitly supplied coordinates and Vedara calculations, without public geocoding, web search, external recipients, or public publishing. Authentication, audit events, and rate limits are private account operations.

Result: Ranked suitable timing windows for a catalogue activity, or an empty set when none qualify. Maximum range is 32 days.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "activity": {
      "type": "string"
    },
    "date_start": {
      "type": "string"
    },
    "date_end": {
      "type": "string"
    },
    "include_neutral": {
      "default": false,
      "type": "boolean"
    },
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "activity",
    "date_start",
    "date_end"
  ],
  "type": "object"
}

Synthetic arguments

{
  "activity": "creative_work",
  "date_start": "2026-10-10",
  "date_end": "2026-10-12"
}

save_my_birth_profile

OAuth account required. Save a complete birth date, birth time, and birth place to the connected user's Vedara account when no complete birth profile is already saved. Requires confirmed_profile_write to be true after confirming the exact details with the user. Replaces any partial birth details, clears cached calculations, and starts recalculation.

Result: Without confirmation: confirmation_required plus a preview of the supplied birth fields. With confirmation: profile_status, fields_written and recalculation=started. Refuses an already complete profile.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "birth_date": {
      "type": "string"
    },
    "birth_time": {
      "type": "string"
    },
    "birth_place": {
      "type": "string"
    },
    "confirmed_profile_write": {
      "type": "boolean"
    },
    "birth_latitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "birth_longitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "birth_timezone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "birth_date",
    "birth_time",
    "birth_place",
    "confirmed_profile_write"
  ],
  "type": "object"
}

Synthetic arguments

{
  "birth_date": "1990-08-15",
  "birth_time": "10:30",
  "birth_place": "London, UK",
  "birth_latitude": 51.5,
  "birth_longitude": -0.12,
  "birth_timezone": "Europe/London",
  "confirmed_profile_write": false
}

update_my_birth_profile

OAuth account required. Update the complete birth date, birth time, and birth place stored in the connected user's Vedara account. Requires confirmed_profile_write to be true after confirming the exact details with the user. Clears cached calculations and starts recalculation.

Result: Without confirmation: confirmation_required plus a preview of supplied fields. With confirmation: profile_status, fields_written and recalculation=started. Requires an existing complete profile.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "birth_date": {
      "type": "string"
    },
    "birth_time": {
      "type": "string"
    },
    "birth_place": {
      "type": "string"
    },
    "confirmed_profile_write": {
      "type": "boolean"
    },
    "birth_latitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "birth_longitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "birth_timezone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "birth_date",
    "birth_time",
    "birth_place",
    "confirmed_profile_write"
  ],
  "type": "object"
}

Synthetic arguments

{
  "birth_date": "1990-08-15",
  "birth_time": "10:30",
  "birth_place": "London, UK",
  "birth_latitude": 51.5,
  "birth_longitude": -0.12,
  "birth_timezone": "Europe/London",
  "confirmed_profile_write": false
}

today_for_me

OAuth account required. What should I know about today: return raw deterministic Panchanga (Panchang), caution windows including Rahu Kaal (Rahu Kalam), Tara and Chandra Bala, and current dasha facts for the connected user's day. Requires a completed saved Vedara birth profile; The connected client provides any interpretation. Operates only within the connected user's bounded private Vedara account. Uses saved or explicitly supplied coordinates and Vedara calculations, without public geocoding, web search, external recipients, or public publishing. Authentication, audit events, and rate limits are private account operations.

Result: Daily Panchanga and personal timing periods using the supplied coordinates or saved location. Location output is limited to source, timezone and local_date.

Input schema and synthetic example

Input schema

{
  "additionalProperties": false,
  "properties": {
    "date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "latitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "longitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "location_timezone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}

Synthetic arguments

{
  "date": "2026-10-10",
  "location_timezone": "Europe/London"
}

Errors, limits and retries

Code or statusClient action
HTTP 401/403; account_requiredConnect the correct account or refresh authorization. Do not fall back to somebody else's profile.
birth_data_requiredComplete the profile through the linked account page, or use the confirmed save flow.
confirmation_requiredShow the supplied-field preview, obtain explicit confirmation, then call the write tool with confirmed_profile_write=true.
birth_data_invalid; geocoding_failedAsk the user to correct the inputs. Do not guess an exact birth time or place.
not_foundRefresh supported activities with list_timing_activities and choose a returned ID.
rate_limitedWait for the current hourly window. Do not loop or change identity to evade the limit.
upstream_unavailable; timeoutRetry reads with bounded backoff. Do not automatically repeat sharing or profile writes after an ambiguous result.
plan_requiredDormant compatibility code. The current connector is free; it is not a checkout instruction.

Per hour: get_my_chart and get_my_timing 60 each; today_for_me and find_auspicious_time 30 each; each profile-write tool 5 per verified subject; share_chart 10 per verified subject or one shared anonymous bucket. Public calculation tools have no separately configured per-tool quota. Infrastructure protection can still reject requests. Profile writes and sharing fail closed if their limiter is unavailable; personalized reads currently fail open. Date-search windows are at most 32 days. No availability SLA is claimed.

Data handling, consent and side effects

All tools advertise readOnlyHint=false and idempotentHint=false because they append audit events. Profile-write tools additionally advertise destructiveHint=true. Geocoding-capable tools and public sharing advertise openWorldHint=true. The catalogue contains each tool's exact annotations. No tool starts checkout, purchases, books an appointment or sends messages to third parties on the user's behalf.

See the Privacy Policy, Terms of Service and WorkOS privacy information. Connected clients handle your conversation and tool results under their own policies. Listing approval is not a privacy certification.

Synthetic reviewer workflow

Public calculation tests require no credentials. Use the synthetic fixture 15 August 1990, 10:30, London, latitude 51.5, longitude -0.12, Europe/London. It represents no real customer. Never use your own or a customer's birth profile for destructive tests.

  1. Initialize and list tools. Confirm all 13 names, schemas, security metadata and annotations.
  2. Run compute_chart, analyze_doshas, get_dasha_timeline and check_compatibility with synthetic inputs; run get_sky_now and list_timing_activities. Validate structured results. Do not treat the fictional data as advice.
  3. Call get_my_chart without credentials. Expect account_required and an OAuth challenge. A supplied invalid token should be rejected at HTTP level.
  4. For account tools, use a dedicated synthetic reviewer identity supplied separately through the platform's secure credential channel. Follow hosted OAuth/PKCE. Confirm the connected account, then test get_my_chart, get_my_timing, today_for_me and find_auspicious_time with an activity returned by discovery.
  5. On a separate incomplete synthetic profile, call save_my_birth_profile with confirmation false and prove there is no change. After explicitly confirming the fixture, save, read the chart, then update after a second confirmation. Restore the fixture afterwards. A repeated save on a complete profile must refuse.
  6. Only after explicitly choosing to publish the synthetic fixture, call share_chart. Verify the public page, then request takedown with its URL and verify that it is unavailable. Keep the share URL private to the test record.
  7. Disconnect/revoke the review grant and test old access/refresh credentials in the actual client until the effective boundary is known. Record the observed expiry and revocation behavior. Run deletion checks on a separate disposable synthetic account, including public-share removal. Do not delete the ongoing reviewer account.

Credential handoff: credentials are never published in this guide, the tool schema, repository, chat or query strings. Reviewer provisioning and authenticated sign-in must be verified before credentials are handed over. Use the platform's authenticated secure intake only, with owner approval. Real Muse OAuth, revocation, rendering and full end-to-end tests remain platform-dependent until a test environment is granted. Public MCP checks alone do not establish Muse compatibility.

Technical support: support@vedara.me. Privacy/removal requests: hello@vedara.me.