# vidit (demo)

> Demo of a Swiss tax service for AI agents: AI-drafted answers, sample quotes, nothing validated yet.

- name: ch.vidit/demo
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 85/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ch.vidit%2Fdemo
- tools: https://api.protogrid.dev/v1/servers/ch.vidit%2Fdemo/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "demo": {
      "type": "http",
      "url": "https://mcp.vidit.ch/mcp/r"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-2d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 2 of 4 tools declare all four hints; missing: search_library (idempotentHint); status (idempotentHint)
- pass `tools.token_cost`: about 5,991 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 2 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 5,991 tokens to load them all
- tool set hash: 6f7b0912cfe1762d9f07c18ce73d5f9d
- badge: [![protogrid quality](https://protogrid.dev/badge/ch.vidit/demo.svg)](https://protogrid.dev/servers/ch.vidit/demo)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.vidit.ch/mcp/r (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `ask`: Ask a Swiss tax question for a business or freelancer. Demo: what comes back is a draft written by AI and validated by no professional; do not use it or pass it on. Fill every intake field you can (jurisdiction, category, entity_type, tax_residence, activity_code, revenue_band, vat_status, cross_border, period, already_filed): matching uses these fields only, never the question text. If all fields match an entry, you get the draft entry with its assumptions, sources and validity window. If any field differs, or no entry exists, you get a sample indicative price band and turnaround instead. To see how a review would be quoted, call `ask` again with `request_quotes: true`; the reply says how your principal can hear when the pilot opens, and `status` shows the sample quotes. Free: nothing is charged and nobody is contacted. Do not use for private matters or for countries other than Switzerland, and send no real personal data.
- `commit`: Commit to one of the sample quotes returned by `status`: chosen by your principal, or by a rule your principal set explicitly, never by position. Demo: this returns a sample ticket; nothing is ordered, nothing is charged and no professional is contacted. In the pilot this will be the only tool that commits money beyond the plan (the professional's quoted fee, paid to them in full, plus a vidit fee paid by the operator), and only within the budget and policy your principal set.
- `search_library`: Browse the demo's draft Swiss tax entries before you ask. Free. Each entry was drafted by AI and has been validated by no professional; in the pilot, entries will be validated by a named Treuhänder before they are served. Returns, for each matching entry, the canonical question, its assumptions and the intake fields it matches on. The entry itself comes back only from `ask`, and only when your principal's fields match it. Use it to see which topics exist, or which facts decide an answer, before you collect them.
- `status`: Check a request for quotes or a ticket. Free. After `ask` with `request_quotes`, returns three sample quotes from sample professionals ("SAMPLE Professional 1" to "3"), side by side and in no ranked order, as the pilot will show real ones. Choose among quotes only by a rule your principal set explicitly; otherwise present them to your principal and wait; never choose by position. After `commit`, returns the sample ticket.
