net.andrii/booking
REMOTE · ANDRII.NET · SCANNED AUG 3
Book a Washington notary or apostille appointment, get a quote, and track it, via AI assistant.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (cancel_booking). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2497 tokens (~178/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · andrii.net
claude mcp add --transport http net-andrii-booking https://andrii.net/mcp
[mcp_servers.net-andrii-booking] url = "https://andrii.net/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"net-andrii-booking": {
"type": "remote",
"url": "https://andrii.net/mcp",
"enabled": true
}
}
} openclaw mcp add net-andrii-booking --url https://andrii.net/mcp --transport streamable-http
mcp_servers:
net-andrii-booking:
url: "https://andrii.net/mcp" {
"mcpServers": {
"net-andrii-booking": {
"type": "http",
"url": "https://andrii.net/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 63
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://andrii.net/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=andrii.net | CN=WR1,O=Google Trust Services,C=US | 30 Jul 2026 | 28 Oct 2026 | ECDSA 256 | SHA256-RSA | 83bcdc47c40a946713abf531ed98d3bc |
| SANs: andrii.net | ||||||
| CN=WR1,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7fd9e2c2d2048a0474b627a26d0868a7 |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
DNSSEC secure
Validation of andrii.net. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| net. | present | 37331 | 13 | Verified |
| andrii.net. | present | 29749 | 8 | Verified |
| andrii.net. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| content-security-policy | default-src 'none'; frame-ancestors 'none'; report-to csp-endpoint; report-uri https://report.andrii.net/csp-report |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://andrii.net/mcp | Verified | 200 | |
| http (plaintext) | http://andrii.net/mcp | HTTPS enforced | 308 | https://andrii.net/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
book_appointment ~168
Book a notary/apostille appointment for the signed-in customer, bound to their account. Call search_availability first and pass a slot's startUnix as scheduledAt (omit for a 'call me to schedule' request). Requires sign-in.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string|null | — | Meeting address (required for "mobile"; omit for office/apostille). |
| document_count | integer|null | — | Number of documents. Default 1. |
| notes | string|null | — | Anything else the notary should know. |
| scheduled_at | integer|null | — | The chosen slot's `startUnix` (from search_availability). Omit for a "call me to schedule" request (no time held). |
| service | string | yes | Service: office | mobile | apostille | loan. |
No output schema declared.
No examples provided.
cancel_booking ~43
Cancel one of the signed-in customer's OWN Pending or Scheduled bookings. Requires sign-in.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The booking's order id (from my_bookings). |
No output schema declared.
No examples provided.
check_request_status ~103
Check the current status of a previously submitted request by its reference id — whether the notary confirmed/scheduled it (and for when, Pacific time), rescheduled, cancelled, or merged it with another request. No sign-in needed. Call this whenever the customer asks about their request's status or whether anything changed since it was submitted.
| Name | Type | Req | Description |
|---|---|---|---|
| reference | string | yes | The reference id returned when the request was submitted (also accepts the token from the emailed confirm link). |
No output schema declared.
No examples provided.
check_service_area ~91
Check whether an address is inside Andrii Co.'s Washington service area, and get its resolved location + whether it's precise enough to book. Read-only; no booking.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Street address, city, or ZIP to check (Washington State service area). |
| service | string|null | — | "notary" (default) or "apostille" — the service-area rules differ slightly. |
No output schema declared.
No examples provided.
get_apostille_requirements ~155
Check whether a document qualifies for an apostille and how — certified vital records can be apostilled as-is (mail-in), a private document (diploma/POA) needs a notarization first, federal documents go to the US Department of State. Includes the honest do-it-yourself path AND our offer. Pure, no side effects.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_country | string|null | — | The country the apostilled document is for. |
| document | string | yes | The document in plain words (e.g. "Washington birth certificate", "university diploma", "FBI background check", "power of attorney"). |
| issuing_state | string|null | — | The US state that issued or notarized it (default Washington). |
No output schema declared.
No examples provided.
get_price_quote ~172
Get a server-authoritative USD price estimate (before shipping). Pure calculation, no side effects.
| Name | Type | Req | Description |
|---|---|---|---|
| after_hours | boolean | — | Mobile only: the chosen slot is after 6pm or on a weekend. |
| apostille | boolean | — | True to include a Secretary-of-State apostille. |
| document_count | integer|null | — | Number of documents (1–20). Default 1. |
| mobile | boolean | — | True if we travel to the customer (adds the flat travel fee). |
| needs_notarization | boolean|null | — | Set false for a mail-in apostille of already-certified public records (birth/marriage/death certificates) that need no notarial act. |
| tier | string|null | — | Apostille tier when `apostille`: expedited | priority | standard | mailin. |
No output schema declared.
No examples provided.
get_services ~51
The full service catalog (Washington State notary & apostille) with prices and the accepted payment options. Optional — the server instructions already summarize the flow; call this when the customer asks about services or payment methods.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_turnaround_estimate ~154
Estimate typical completion + shipping timing for a service (apostille processing days, mail-in and delivery legs). Ranges, not guarantees; no side effects. For an exact appointment time use search_availability.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_country | string|null | — | Destination country (used to infer shipping when `shipping` is omitted). |
| service | string | yes | Service: notarization | apostille | apostille_mail | loan_signing. |
| shipping | string|null | — | Delivery: pickup | us | ukraine | international. If omitted, inferred from destination_country (apostille legs default to US shipping). |
| tier | string|null | — | Apostille speed tier when service is apostille: expedited | priority | standard. |
No output schema declared.
No examples provided.
my_bookings ~30
List the signed-in customer's OWN notary/apostille bookings (most recent first). Requires sign-in.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
request_apostille ~261
Submit a mail-in apostille request (a lead). For already-certified Washington public records that need NO notarization (birth/marriage/death certificates). The notary follows up with where to mail the documents and a quote; nothing is charged until approved. Requires a name and either an email or a phone.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_country | string|null | — | Destination country the apostilled documents are for. |
| documents | string | yes | What documents, in plain words (e.g. "2 birth certificates for Ukraine"). |
| string|null | — | Email. Collect BOTH an email AND a phone in one question when possible; at least one is required. | |
| existing_reference | string|null | — | To ADD these documents to an EXISTING request instead of creating a second one, pass that request's reference id (with the same email/phone so we can verify the customer). Nothing new is created. |
| name | string | yes | The customer's FULL LEGAL NAME exactly as on their government-issued ID (never a nickname) — apostille filings print it. |
| notes | string|null | — | Anything else the notary should know. |
| phone | string|null | — | Phone with country code — the notary confirms fastest by phone/SMS. |
No output schema declared.
No examples provided.
request_booking ~429
Submit a booking request (a lead — NOT a confirmed appointment; the notary follows up to confirm). Requires the customer's FULL LEGAL NAME and an email or phone (collect both). Pass a chosen slot's startUnix as desired_time_unix (from search_availability). To modify/extend an existing request, pass existing_reference instead of creating a duplicate.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string|null | — | Meeting address — MOBILE ONLY. Office and apostille visits automatically use our Bothell office; omit this for them. |
| desired_time | string|null | — | The wanted time in plain words, when no exact slot was chosen (rides the notes; the notary confirms a real time). |
| desired_time_unix | integer|null | — | The chosen slot's `startUnix` from search_availability (Unix seconds). Pass it so the request carries the exact wanted time — still a request, never a hold. |
| document_count | integer|null | — | Number of documents. Default 1. |
| string|null | — | Email. Collect BOTH an email AND a phone in one question when possible; at least one is required. | |
| existing_reference | string|null | — | To ADD to or change an EXISTING request instead of creating a second one (e.g. "also apostille it", "make it 3 documents"), pass that request's reference id here — the same email/phone must be provid… |
| name | string | yes | The customer's FULL LEGAL NAME exactly as on their government-issued ID (never a nickname or chat display name) — notarial records and apostille filings print it. Ask if you only know a first name. |
| notes | string|null | — | Anything else the notary should know. |
| phone | string|null | — | Phone with country code (e.g. +1...). The notary confirms fastest by phone/SMS — ask for it even when an email is known. |
| service | string | yes | Service: office | mobile | apostille | loan. |
No output schema declared.
No examples provided.
request_price_match ~236
Ask us to consider matching a comparable licensed notary's WRITTEN quote. This is a request the notary reviews — it never sets a price automatically. We reply with our own comparable quote and a match decision within one business day. Requires a name and either an email or a phone.
| Name | Type | Req | Description |
|---|---|---|---|
| competitor_name | string | yes | The competitor's business name. |
| competitor_price_usd | number | yes | The competitor's quoted price, in US dollars. |
| competitor_url | string|null | — | Link to the competitor's quote/page, if any (stored for the operator, never fetched). |
| document_count | integer|null | — | Number of documents, for our comparison quote. Default 1. |
| string|null | — | Email — provide an email OR a phone so we can reach them. | |
| name | string | yes | The customer's name. |
| notes | string|null | — | Anything else the notary should know. |
| phone | string|null | — | Phone — provide an email OR a phone so we can reach them. |
| service | string | yes | Service: office | mobile | apostille | apostille_mail | loan. |
No output schema declared.
No examples provided.
reschedule_booking ~80
Reschedule one of the signed-in customer's OWN bookings to a new slot's startUnix (strict — the new time must be genuinely available). Requires sign-in.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The booking's order id (from my_bookings). |
| scheduled_at | integer | yes | The new slot's `startUnix` (from search_availability). |
No output schema declared.
No examples provided.
search_availability ~189
Find open notary/apostille appointment slots — this also validates the service area for the given address. Returns the resolved location, up to 7 `recommended` slots (each with `startUnix`), and per-day booking `windows`: the k-th bookable start is `startUnixFrom + k*stepSec` for k < `startCount`. Pass the chosen start's Unix seconds to request_booking as desired_time_unix. "mobile" needs an address; "office"/"apostille" use our office.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string|null | — | The address to meet at — required for "mobile"; ignored for "office". |
| document_count | integer|null | — | Number of documents (drives the appointment length). Default 1. |
| service | string | yes | "office" (at our office), "mobile" (we come to you), or "apostille". |
No output schema declared.
No examples provided.