Developer docs
Ask your AI assistant about your age checks
Tessio.Cloud runs an MCP server, so an assistant that speaks the Model Context Protocol can answer "how did our checks do last month?" or "why are wallets refusing?" from your own numbers. It reads your stats and nothing else.
Signup is open and a test project works as soon as you create one. Create an account to make a key.
Connect it
The server is at https://api.tessio.eu/mcp. It takes a stats key as a Bearer token: an
organisation stats key from the Developer page reads every project, a project key with Stats only access
reads that project. In Claude Code:
claude mcp add --transport http tessio https://api.tessio.eu/mcp \
--header "Authorization: Bearer tk_your_stats_key" Use a Stats only key rather than a full one. An agent never needs to start a check, so it should not hold a key that can.
The tools
One tool per stats read. Each takes from, to,
mode and, for an organisation key, project_id, as the
stats API
does.
| Tool | What it answers | Plan |
|---|---|---|
get_summary | Checks, pass rate, fail rate, no answer rate and time to result for a period, beside the period of equal length before it. | Every plan |
get_timeseries | One metric per bucket: checks, passed, under_age, failed, expired or pass_rate. Buckets are hours for two days or less, then days, weeks or months as the period grows. | Starter and up |
get_failure_breakdown | Refused presentations by reason category, such as the person declining, an issuer that is not trusted or an expired credential. Optionally split by method. | Growth and up |
get_funnel | How far the checks got: created, a wallet answered, completed. For EU Digital Identity Wallet requests, also how many were fetched by a wallet. | Growth and up |
get_breakdown | The checks grouped by one column, each group with its outcomes: project, api_key, method, transport, format or mode. | Growth and up |
What an answer looks like
A few plain sentences for the assistant to read and repeat, then the full record as JSON for it to compute from. The sentences always state the scope, the period and the mode, so it is clear what was counted, and they say so when a period reaches past what your plan keeps. The figures here are an example.
Scope: organisation 5e2a9c06-…, all projects. Period: 2026-09-01 to 2026-09-30 (UTC days). Mode: live.
1,240 checks (0 still open). Pass rate 76.7%, 2.1 points higher than the previous period. Under age or no readable answer: 11.5%. No wallet answered: 9.7%.
Median time to result 22.0 s; 95% within 40.0 s.
Previous period (2026-08-02 to 2026-08-31): 1,100 checks.
{"mode":"live","current":{"from":"2026-09-01","to":"2026-09-30","outcomes":{"total":1240, …}} Limits
- Each key has a budget of 30 requests that refills at one every two seconds, shared by the API and the MCP server.
-
A request with no key, or one that does not resolve, is refused with
401before any tool runs. A request a browser page sends from another site is refused with403: the server is for assistants, not for web pages. - A tool your plan does not include, or a parameter it cannot use, answers with an error in words the assistant can act on, such as the parameter to fix.
Questions
- Can the agent start or change a check?
- No. Every tool reads stats and is marked read only, and none returns a single check: the answers are counts and rates. A key with Stats only access cannot start a check through the API either.
- Which assistants work with it?
- We have tested Claude Code, and the Developer page gives the command for it. The server speaks the Streamable HTTP transport of the Model Context Protocol and needs only a URL and an Authorization header, so a client that can send both to a remote server should connect the same way.
- Does it cost extra?
- No: the tools answer the same reads as the stats API, and your plan decides which of them you get. A tool your plan does not include answers with an error that says so.
Try it on your own numbers
Create an account, make a Stats only key and connect your assistant. A test project has numbers as soon as you run a check against the sandbox.
Create an account →