Andrii Co. Notary & Apostille Assistant
REMOTE · ANDRII.NET · SCANNED SEP 20
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 → Why this is hard to 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 Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3879 tokens (~204/item across 19 items; 15 tools + 4 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
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
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Andrii Co. Notary & Apostille Assistant MCP server?
Andrii Co. Notary & Apostille Assistant is a hosted endpoint at https://andrii.net/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · andrii.net
claude mcp add --transport http net-andrii-booking 'https://andrii.net/mcp'
{
"mcpServers": {
"net-andrii-booking": {
"url": "https://andrii.net/mcp"
}
}
} {
"servers": {
"net-andrii-booking": {
"type": "http",
"url": "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": {
"Transport": "http",
"Url": "https://andrii.net/mcp"
}
}
} assistant mcp add net-andrii-booking -t streamable-http -u '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.
- 7 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “book_appointment” rewrote its description, which is the text the model reads security
- Tool “request_booking” rewrote its description, which is the text the model reads security
- Tool “book_appointment” now declares an output schema ▲ functional
- Tool “cancel_booking” now declares an output schema ▲ functional
- Tool “check_request_status” now declares an output schema ▲ functional
- Tool “check_service_area” now declares an output schema ▲ functional
- Tool “get_apostille_requirements” now declares an output schema ▲ functional
- Tool “get_price_quote” now declares an output schema ▲ functional
- Tool “get_services” now declares an output schema ▲ functional
- Tool “get_turnaround_estimate” now declares an output schema ▲ functional
- Tool “my_bookings” now declares an output schema ▲ functional
- Tool “request_apostille” now declares an output schema ▲ functional
- Tool “request_booking” now declares an output schema ▲ functional
- Tool “request_price_match” now declares an output schema ▲ functional
- Tool “reschedule_booking” now declares an output schema ▲ functional
- Tool “search_availability” now declares an output schema ▲ functional
- Tool “search_documentation” now declares an output schema ▲ functional
- First check of Tool coverage: 100 functional
- 6 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 3362 → 3754 ▼ functional
- New tool “search_documentation” functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
- Stability: 0.97 → pass security
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- MCP protocol version: 2025-11-25 → 2026-07-28 functional
- 24 Aug 26 0
- Tool “book_appointment” rewrote its description, which is the text the model reads security
- Tool “cancel_booking” rewrote its description, which is the text the model reads security
- Tool “check_request_status” rewrote its description, which is the text the model reads security
- Tool “check_service_area” rewrote its description, which is the text the model reads security
- Tool “get_apostille_requirements” rewrote its description, which is the text the model reads security
- Tool “get_price_quote” rewrote its description, which is the text the model reads security
- Tool “get_services” rewrote its description, which is the text the model reads security
- Tool “get_turnaround_estimate” rewrote its description, which is the text the model reads security
- Tool “my_bookings” rewrote its description, which is the text the model reads security
- Tool “request_apostille” rewrote its description, which is the text the model reads security
- Tool “request_booking” rewrote its description, which is the text the model reads security
- Tool “request_price_match” rewrote its description, which is the text the model reads security
- Tool “reschedule_booking” rewrote its description, which is the text the model reads security
- Tool “search_availability” rewrote its description, which is the text the model reads security
- Schema quality: 150 → 186 ▼ functional
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 8 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- The server changed its declared name: rmcp → net.andrii/booking security
- Schema quality: 178 → 150 ▲ functional
- The server now declares the “resources” capability functional
- First check of Schema quality: 100 functional
- New resource “apostille-guide” functional
- New resource “notary-requirements” functional
- New resource “pricing-guide” functional
- New resource “service-areas” functional
- Server version: 2.2.0 → 1.0.1 functional
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
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 20 Sept 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 |
Background: What to check on a remote MCP endpoint →
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'; style-src 'unsafe-inline'; 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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
book_appointment ~247
Schedule an appointment tied to the signed-in customer's account — still a request until the notary confirms it, never guaranteed. PREFER this over request_booking whenever the customer is signed in: only a booking on their own account can later be listed, rescheduled or cancelled through this connector. Guests go through request_booking. Accepts: `service` (e.g. office, mobile, apostille, loan), `scheduled_at` — a slot's startUnix from search_availability, omitted for a call-me request — plus `address` for mobile, `notes`, `document_count`. Returns a Pending reference; fails if not signed 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| appendedToExisting | boolean | – | True when existing_reference was given and the request was extended, not duplicated. |
| manageUrl | string|null | – | Guest requests: the emailed confirm/cancel link, when one was minted (null otherwise). |
| message | string | yes | Customer-facing outcome; relay it as written — bookings are requests until the notary confirms. |
| ok | boolean | yes | – |
| onAccount | boolean | – | True when the request was filed on the signed-in customer's own account — they can then list it with my_bookings and change it with reschedule_booking / cancel_booking. Absent or false means a guest… |
| ourComparableQuoteCents | integer | – | request_price_match only, when computable. |
| reference | string | – | Request / order reference for check_request_status (guest tools) or my_bookings (account tools). |
| status | string | – | Account tools: the booking's status after this call (Pending after book_appointment). |
No examples provided.
cancel_booking ~99
Cancel a booking on the signed-in account — Pending or Scheduled only. Use when the visit is no longer needed; guests cancel via their emailed manage link instead. Accepts: `order_id` (e.g. copied from my_bookings). Returns a cancellation notice; fails if the booking is not yours, is neither Pending nor Scheduled, or not signed in.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The booking's order id (from my_bookings). |
| Name | Type | Req | Description |
|---|---|---|---|
| appendedToExisting | boolean | – | True when existing_reference was given and the request was extended, not duplicated. |
| manageUrl | string|null | – | Guest requests: the emailed confirm/cancel link, when one was minted (null otherwise). |
| message | string | yes | Customer-facing outcome; relay it as written — bookings are requests until the notary confirms. |
| ok | boolean | yes | – |
| onAccount | boolean | – | True when the request was filed on the signed-in customer's own account — they can then list it with my_bookings and change it with reschedule_booking / cancel_booking. Absent or false means a guest… |
| ourComparableQuoteCents | integer | – | request_price_match only, when computable. |
| reference | string | – | Request / order reference for check_request_status (guest tools) or my_bookings (account tools). |
| status | string | – | Account tools: the booking's status after this call (Pending after book_appointment). |
No examples provided.
check_request_status ~137
Check what became of a previously submitted request — no sign-in needed, guests welcome. Use when the customer asks whether the notary confirmed, moved, cancelled, or merged it. Accepts: `reference` — the id returned at submission or the token from the emailed confirm link. Returns the service plus status and timing (PII-minimal — never address, name, or notes; Pacific time, e.g. scheduledAtPacific). Fails if the reference is wrong — a not found reply.
| 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). |
| Name | Type | Req | Description |
|---|---|---|---|
| awaitingCustomerConfirmation | boolean | yes | – |
| mergedInto | object | – | Only for MergedWithOther: the surviving appointment's status and time. |
| note | string | yes | – |
| reference | string | yes | – |
| requestedTime | integer|null | – | Unix seconds the customer asked for on a lead, or null. |
| scheduledAt | integer|null | – | Unix seconds. |
| scheduledAtPacific | string|null | – | – |
| service | string|null | yes | office | apostille | mobile | loan | ron | apostille_mail; null on a legacy row. |
| status | string | yes | Pending | Scheduled | EnRoute | InProgress | Completed | Notarized | PickedUp | Cancelled | NoShow | MergedWithOther. `note` says what the word means for the customer; read that rather than branching… |
No examples provided.
check_service_area ~146
Check whether an address sits inside our Washington coverage and resolves precisely enough to book. Use when the customer wants an area answer without searching slots — search_availability already validates the area itself. Accepts: `address` (e.g. a Seattle street or ZIP) and optional `service` — notary or apostille rules differ. Returns withinServiceArea, distanceMiles, precise; if the address cannot be resolved the message says not found.
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| country | string|null | – | – |
| distanceMiles | number | – | Straight-line miles from the Bothell office (display only, not a routed leg). |
| label | string|null | – | Formatted address, or null when the address could not be resolved. |
| message | string|null | – | Why the place is not bookable as given, or null. |
| precise | boolean | yes | False when a street and city are still needed to pin the spot. |
| region | string|null | – | – |
| withinServiceArea | boolean | yes | – |
No examples provided.
get_apostille_requirements ~191
Check whether a document can get an apostille and how: certified vital records mail in as-is, private papers (e.g. a diploma or POA) need notarization first, federal ones go to the US Department of State. Use when the customer asks is this apostillable. Accepts: `document` in plain words, optional `issuing_state`, `destination_country`. Returns the category, the honest do-it-yourself path and our offer; unclear wording yields an `unknown` category, never an error.
| 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). |
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Document class: vital_record_mailin_ready, needs_notarized_copy, notarized_document, court_document, federal_authentication, unknown. |
| destination | object|null | – | – |
| disclaimer | string | – | – |
| diyPath | object | yes | – |
| document | string | yes | – |
| eligibleForMailInAsIs | boolean | yes | True when no notarial act is needed first. |
| explanation | string | yes | – |
| howToProceed | string | – | – |
| issuingState | string | yes | – |
| ourOffer | object | yes | – |
No examples provided.
get_price_quote ~265
Calculate a server-authoritative USD price estimate before shipping — pure, no side effects, nothing booked. Use when the customer asks about cost. Accepts: `document_count`, `mobile`, `after_hours`, `apostille` plus `tier` (e.g. expedited, priority, standard, mailin); set `needs_notarization` false for already-certified records. Returns amountCents and line items; fails if `apostille` is true and `tier` is invalid (with `apostille` false, `tier` is ignored).
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| amountCents | integer | yes | – |
| currency | string | yes | – |
| howToProceed | string | yes | – |
| lineItems | array | yes | – |
| prepaymentRequired | boolean | yes | – |
No examples provided.
get_services ~86
List the service catalog — Washington notary and apostille offerings with USD prices and accepted payment options (e.g. card, PayPal, Venmo, cash). Optional — the server instructions already summarize the flow; use when the customer asks what we offer or how to pay. Takes: no arguments. Returns `services` plus payment notes — a static catalog (no error if repeated).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| business | string | yes | – |
| languages | array | – | – |
| location | string | – | – |
| paymentNote | string | yes | – |
| paymentOptions | array | yes | – |
| priceMatch | string | – | – |
| priceQuote | string | – | Which tool gives an exact figure. |
| remoteOnlineNotarization | boolean | – | – |
| serviceArea | string | yes | – |
| services | array | yes | – |
No examples provided.
get_turnaround_estimate ~206
Calculate typical turnaround — apostille processing days plus mailing and delivery legs. Ranges, never guarantees; exact appointment times come from search_availability. Use when the customer asks how long. Accepts: `service` (e.g. notarization, apostille, apostille_mail, loan_signing), optional `tier`, `shipping`, `destination_country`. Returns staged day estimates; an unknown `tier` falls back to the standard figure, not an error.
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | yes | – |
| howToProceed | string | – | – |
| service | string | yes | – |
| stages | array | yes | – |
| tier | string | – | – |
| typicalTotalDaysHigh | integer | yes | – |
| typicalTotalDaysLow | integer | yes | – |
No examples provided.
my_bookings ~87
List every booking on the signed-in customer's own account, sorted by scheduled time, latest first. Use when an authenticated customer asks what is scheduled, or to grab an `order_id` before reschedule_booking or cancel_booking. Takes: no arguments. Returns orderId, service, status, scheduledAt, location per row (e.g. Scheduled vs Pending); fails if not signed in.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| bookings | array | yes | Latest first. |
No examples provided.
request_apostille ~295
Submit a mail-in apostille request — a lead for already-certified Washington public records needing NO notarization (e.g. birth or marriage certificates). Use when get_apostille_requirements says they qualify. Requires: `documents`, `name`, and an email or phone; the notary replies with mailing instructions and a quote — nothing charged until approved. Pass `existing_reference` to extend an open request. Returns a reference; fails if the name or a valid contact is missing.
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| appendedToExisting | boolean | – | True when existing_reference was given and the request was extended, not duplicated. |
| manageUrl | string|null | – | Guest requests: the emailed confirm/cancel link, when one was minted (null otherwise). |
| message | string | yes | Customer-facing outcome; relay it as written — bookings are requests until the notary confirms. |
| ok | boolean | yes | – |
| onAccount | boolean | – | True when the request was filed on the signed-in customer's own account — they can then list it with my_bookings and change it with reschedule_booking / cancel_booking. Absent or false means a guest… |
| ourComparableQuoteCents | integer | – | request_price_match only, when computable. |
| reference | string | – | Request / order reference for check_request_status (guest tools) or my_bookings (account tools). |
| status | string | – | Account tools: the booking's status after this call (Pending after book_appointment). |
No examples provided.
request_booking ~483
Submit a booking request — a lead, NOT a confirmed appointment; the notary follows up. Use when ready to book AND the customer is not signed in; a signed-in customer goes through book_appointment instead. Requires: `service` (e.g. office, mobile, loan), the FULL LEGAL NAME as on government ID, and an email or phone (collect both). Pass the chosen startUnix from search_availability as `desired_time_unix`; to modify an open request pass `existing_reference`, never a duplicate. Returns a reference for check_request_status; fails if the name or a valid contact is missing.
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| appendedToExisting | boolean | – | True when existing_reference was given and the request was extended, not duplicated. |
| manageUrl | string|null | – | Guest requests: the emailed confirm/cancel link, when one was minted (null otherwise). |
| message | string | yes | Customer-facing outcome; relay it as written — bookings are requests until the notary confirms. |
| ok | boolean | yes | – |
| onAccount | boolean | – | True when the request was filed on the signed-in customer's own account — they can then list it with my_bookings and change it with reschedule_booking / cancel_booking. Absent or false means a guest… |
| ourComparableQuoteCents | integer | – | request_price_match only, when computable. |
| reference | string | – | Request / order reference for check_request_status (guest tools) or my_bookings (account tools). |
| status | string | – | Account tools: the booking's status after this call (Pending after book_appointment). |
No examples provided.
request_price_match ~285
Request a price-match review of a competitor's WRITTEN quote from a comparable licensed notary — it never sets our price automatically. Use when the customer found a cheaper offer. Requires: `competitor_name`, `competitor_price_usd`, `service` (e.g. office, mobile, apostille), `name`, and an email or phone. Returns a logged reference and, where computable, our comparable quote; the notary decides within one business day. Fails if the name or a valid contact is missing.
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| appendedToExisting | boolean | – | True when existing_reference was given and the request was extended, not duplicated. |
| manageUrl | string|null | – | Guest requests: the emailed confirm/cancel link, when one was minted (null otherwise). |
| message | string | yes | Customer-facing outcome; relay it as written — bookings are requests until the notary confirms. |
| ok | boolean | yes | – |
| onAccount | boolean | – | True when the request was filed on the signed-in customer's own account — they can then list it with my_bookings and change it with reschedule_booking / cancel_booking. Absent or false means a guest… |
| ourComparableQuoteCents | integer | – | request_price_match only, when computable. |
| reference | string | – | Request / order reference for check_request_status (guest tools) or my_bookings (account tools). |
| status | string | – | Account tools: the booking's status after this call (Pending after book_appointment). |
No examples provided.
reschedule_booking ~133
Move one of the signed-in customer's own bookings to a new slot. Use when an authenticated customer wants a different time: find the `order_id` via my_bookings, take a fresh startUnix from search_availability (e.g. a morning slot), send it as `scheduled_at`. Returns a done confirmation; fails if the new time is not genuinely available, the booking is not yours, or not signed 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). |
| Name | Type | Req | Description |
|---|---|---|---|
| appendedToExisting | boolean | – | True when existing_reference was given and the request was extended, not duplicated. |
| manageUrl | string|null | – | Guest requests: the emailed confirm/cancel link, when one was minted (null otherwise). |
| message | string | yes | Customer-facing outcome; relay it as written — bookings are requests until the notary confirms. |
| ok | boolean | yes | – |
| onAccount | boolean | – | True when the request was filed on the signed-in customer's own account — they can then list it with my_bookings and change it with reschedule_booking / cancel_booking. Absent or false means a guest… |
| ourComparableQuoteCents | integer | – | request_price_match only, when computable. |
| reference | string | – | Request / order reference for check_request_status (guest tools) or my_bookings (account tools). |
| status | string | – | Account tools: the booking's status after this call (Pending after book_appointment). |
No examples provided.
search_availability ~192
Find open appointment slots (validating the meeting area too). Use when the customer wants a time. Requires: `service` (office, mobile, apostille); mobile needs an `address`, e.g. a Bothell street. Returns resolved location, up to 7 recommended slots with startUnix, and per-day windows — the k-th start is startUnixFrom + k*stepSec for k < startCount; hand the picked startUnix to request_booking as `desired_time_unix`. An ungeocodable address is flagged not found.
| 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". |
| Name | Type | Req | Description |
|---|---|---|---|
| afterHoursSurchargeCents | integer | – | Mobile services only: the surcharge an afterHours slot adds. |
| days | array | yes | – |
| recommended | array | yes | – |
| resolved | object | yes | – |
No examples provided.
search_documentation ~294
Search the text of andrii.co — every service page, the terms and privacy notices, and the 110-jurisdiction apostille handbook (who issues an apostille, accepted documents, forms, offices, fees, payment). Use for reference questions the other tools do not answer, and to cite a page. Accepts: `query` (keywords, not prose — there is no semantic matching), optional `lang`, `section`, `limit`. Returns ranked page excerpts with a URL and a Markdown URL to read in full; no match is an empty list. Reference text, not a live quote — use get_price_quote and check_service_area for what we charge and where we go.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string|null | – | Restrict to one language. Only `en` is indexed today; any other value returns no results rather than silently ignoring the filter. |
| limit | integer|null | – | How many results (default 10, max 20). |
| query | string | yes | What to look for. Keywords beat prose: this is a lexical index with no semantic fallback, so "mail-in apostille birth certificate" finds the page that "can I post my documents instead" does not. |
| section | string|null | – | Restrict to sections whose heading contains this text (e.g. "What it costs"). Heading TEXT, not a URL fragment — the pages carry no anchors. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| note | string | yes | – |
| query | string | yes | – |
| results | array | yes | – |
No examples provided.
What is the Andrii Co. Notary & Apostille Assistant MCP server?
Andrii Co. Notary & Apostille Assistant is an MCP server listed in the public MCP registry as net.andrii/booking. Book a Washington notary or apostille appointment, get a quote, and track it, via AI assistant. This page covers its hosted endpoint (https://andrii.net/mcp).
Is the Andrii Co. Notary & Apostille Assistant MCP server safe to use?
Andrii Co. Notary & Apostille Assistant scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Andrii Co. Notary & Apostille Assistant MCP server expose?
Andrii Co. Notary & Apostille Assistant exposes 15 tools: book_appointment, cancel_booking, check_request_status, check_service_area, get_apostille_requirements, and 10 more. Their descriptions and schemas cost roughly 3,146 tokens of context every time the server is loaded.
Does the Andrii Co. Notary & Apostille Assistant MCP server require authentication?
No. We connected to Andrii Co. Notary & Apostille Assistant without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Andrii Co. Notary & Apostille Assistant MCP server still maintained?
Andrii Co. Notary & Apostille Assistant is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.