MTD Chase — chase clients for MTD records
REMOTE · MTD-CHASE.SMALLWRIGHT.COM
UK bookkeepers: chase clients for Making Tax Digital quarterly records, upload links, reminders.
Available components
Last scanned (14 hours ago)
Scores higher than 81% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Finance and Payments
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 Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
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 (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2979 tokens (~141/item across 21 items; 20 tools + 1 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 Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage90
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 71% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Checks we ran (14)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
- Capabilities
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
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.
- 5 Nov 26 +1
- Stability: unverified → 0.03 ▲ functional
- 4 Nov 26 79
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 5 Nov 2026 · Probed https://mtd-chase.smallwright.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mtd-chase.smallwright.com | CN=WR3,O=Google Trust Services,C=US | 4 Nov 2026 | 2 Feb 2027 | RSA 2048 | SHA256-RSA | af891fe8cac801bc123cb22c0d12b4ce |
| SANs: mtd-chase.smallwright.com | ||||||
| CN=WR3,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 | 7ff005a91568d63abc22861684aa4b5a |
| 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 |
| CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 1 Sept 1998 | 28 Jan 2028 | RSA 2048 | SHA1-RSA | 40000000001154b5ac394 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mtd-chase.smallwright.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| smallwright.com. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer error="invalid_token", resource_metadata="https://mtd-chase.smallwright.com/.well-known/oauth-protected-resource/mcp"
Bearer error="invalid_token", resource_metadata="https://mtd-chase.smallwright.com/.well-known/oauth-protected-resource/mcp" | Header | Value |
|---|---|
| strict-transport-security | max-age=31556926 |
| x-content-type-options | nosniff |
| referrer-policy | same-origin |
Protected resource metadata
| Document | https://mtd-chase.smallwright.com/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://mtd-chase.smallwright.com/mcp |
| Authorisation server | https://mtd-chase.smallwright.com/ |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mtd-chase.smallwright.com/mcp | Verified | 200 | |
| http (plaintext) | http://mtd-chase.smallwright.com/mcp | HTTPS enforced | 301 | https://mtd-chase.smallwright.com/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 →
add_clients Add Clients ~158
Adds Clients (people the practice does MTD quarterly updates for) from a pasted list; matches existing Clients by email, else exact name. confirm:false (default) shows what would be added, skipped as duplicates, or rejected, and the plan-limit effect; confirm:true saves. Max 500. Use this when: setting up or adding MTD clients from a spreadsheet or accounting-software export, or a typed list. Not for: changing one Client (update_client).
| Name | Type | Req | Description |
|---|---|---|---|
| clients | array | yes | – |
| confirm | boolean | – | false (default) = dry run: shows what would happen, changes nothing. true = do it. |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
No output schema declared.
No examples provided.
archive_client Archive or unarchive a Client ~136
Archives a Client who has left: their open Chases become skipped and their links stop working; they stop counting towards the plan limit. confirm:false (default) shows what would change. unarchive:true brings them back. Use this when: a Client leaves the practice or comes back.
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | yes | Client name, email or your own reference |
| confirm | boolean | – | false (default) = dry run: shows what would happen, changes nothing. true = do it. |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| unarchive | boolean | – | – |
No output schema declared.
No examples provided.
export_practice_data Export practice data ~67
Exports everything the practice holds in MTD Chase (Clients, Chases with history, Nudges sent, Records list, requests) as one JSON file; returns a download link for the signed-in practitioner. Use this when: they want a copy of their data or are leaving.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_chase_links Get Chase links ~103
Returns each Client's personal records link for a Quarter and a ready-to-paste message for a messaging app or text. Use this when: the practitioner wants to send a link themselves (no email on file, or they prefer a messaging app or text).
| Name | Type | Req | Description |
|---|---|---|---|
| clients | array | – | names/emails; default all being chased |
| quarter | string | – | Quarter like "2026-27 Q3". Default: the Quarter whose HMRC deadline is next. |
No output schema declared.
No examples provided.
get_client_history Client history ~125
Returns a Client's Chases across Quarters — when they finished and how many days early or late against the date they were asked to send by (and whether before or after the HMRC deadline) — with a one-line summary. Without a client, returns every active Client ranked by how late they usually are. Use this when: asked whether a Client is usually late, how they did last time, or who's always late. Not for: who hasn't sent records this Quarter (whos_outstanding).
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | – | Client name, email or your own reference |
No output schema declared.
No examples provided.
get_mtd_deadlines MTD deadlines ~111
Returns the four MTD for Income Tax quarterly update periods for a tax year (standard and calendar period ends), each deadline, the final declaration date, and days until the next deadline. Works without signing in. Use this when: someone asks when the next quarterly update is due or what a Quarter covers. Not for: whether a particular Client has sent records (whos_outstanding).
| Name | Type | Req | Description |
|---|---|---|---|
| tax_year | string | – | e.g. "2026-27". Default: the current tax year. |
No output schema declared.
No examples provided.
get_started Where am I up to ~63
Returns the practice's setup and current position: plan and active Clients vs limit, Clients, open Chases per Quarter, settings still unset, and the next few things the practitioner can say. Use this when: the practitioner asks where they're up to or what to do next.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_clients List Clients ~100
Lists Clients with contact details, period type, tags and the status of their Chase for the current Quarter. Use this when: looking up who the practice has, finding a Client's details, or seeing a tagged group (e.g. landlords) with this Quarter's status.
| Name | Type | Req | Description |
|---|---|---|---|
| include_archived | boolean | – | – |
| period_type | string | – | – |
| tag | string | – | – |
| text | string | – | part of a name or email |
No output schema declared.
No examples provided.
list_my_requests List my feature requests ~80
Lists the practice's feature requests with status (open, planned, live, declined), how many times each was asked for, the workaround meanwhile, and for declined ones the reason. Use this when: asked what happened to something they asked for. Not for: asking for something new (request_feature) or what's recently live for everyone (whats_new).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_records List Records ~117
Lists the files (name, size, received) a Client sent through their link for a Quarter — or for every Client in a Quarter — with download links valid 24 hours for the signed-in practitioner, and the Client's note marked as written by the Client. Use this when: asked what a Client sent or to download it.
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | – | Client name, email or your own reference |
| quarter | string | – | Quarter like "2026-27 Q3". Default: the Quarter whose HMRC deadline is next. |
No output schema declared.
No examples provided.
mark_chase Set a Chase status ~180
Sets one Client's Chase for a Quarter to ready, partial, nothing_to_report, skipped or back to waiting, with an optional note; Nudges stop for ready/nothing_to_report/skipped and resume for waiting/partial. The change is recorded in the Client's history. Use this when: records arrived another way (office, post, email) or a Client should be skipped this Quarter.
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | yes | Client name, email or your own reference |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| note | string | – | – |
| quarter | string | – | Quarter like "2026-27 Q3". Default: the Quarter whose HMRC deadline is next. |
| recount | boolean | – | true = recount lateness from now |
| status | string | yes | – |
No output schema declared.
No examples provided.
pause_nudges Pause or resume Nudges ~140
Stops all Nudges to one Client until a date (YYYY-MM-DD) or until resumed; resume:true restarts them. The result warns if the pause runs past a deadline. Use this when: a Client is ill, away or has asked for no reminders for now. Not for: a Client who has left (archive_client) or has sent their records (mark_chase).
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | yes | Client name, email or your own reference |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| resume | boolean | – | – |
| until | string | – | YYYY-MM-DD |
No output schema declared.
No examples provided.
request_feature Request a feature ~169
Files a request with MTD Chase when the user asks for something none of the other tools can do, or adds a vote to a matching open request; returns its ID, status and any workaround with existing tools. No date is promised. Use this when: the practitioner wants a capability MTD Chase doesn't have. Not for: reporting a single Client's problem.
| Name | Type | Req | Description |
|---|---|---|---|
| closest_existing_tool | string | – | – |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| urgency | string | yes | blocking = they can't do the job today; nice_to_have = a workaround exists |
| what_the_user_wanted | string | yes | their own words |
| what_they_were_trying_to_achieve | string | yes | the job behind it |
No output schema declared.
No examples provided.
send_nudges_now Nudge now ~201
Sends a Nudge email now to Clients who haven't finished sending records for a Quarter (waiting or partial), at most one per Client per day. confirm:false (default) lists who would get one and who is excluded (no email, nudged today, paused); confirm:true sends. Use this when: chasing up everyone outstanding, or named Clients, now — an extra reminder outside the plan.
| Name | Type | Req | Description |
|---|---|---|---|
| clients | array | – | Client names, emails or references; default: everyone outstanding |
| confirm | boolean | – | false (default) = dry run: shows what would happen, changes nothing. true = do it. |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| only_status | string | – | e.g. waiting = only those who've sent nothing |
| quarter | string | – | Quarter like "2026-27 Q3". Default: the Quarter whose HMRC deadline is next. |
No output schema declared.
No examples provided.
set_nudge_plan Set the nudge plan ~228
Sets when Nudges (reminder emails) go out for every Chase, including ones already running, counted from the date Clients are asked to send by (the ask-by date): days before it, on the day, and days after it, sent at 09:00 UK time on weekdays. A value left out keeps its current setting. Returns the plan in words and this Quarter's remaining nudge dates. Use this when: the practitioner wants reminders on different days. Not for: one extra reminder now (send_nudges_now), one Client (pause_nudges), or the ask-by date itself (update_practice).
| Name | Type | Req | Description |
|---|---|---|---|
| days_after | array | – | 1–60, up to 6 values: days after it |
| days_before | array | – | 1–60, up to 6 values: days before the date clients are asked to send by |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| on_the_day | boolean | – | also nudge on the ask-by date itself |
No output schema declared.
No examples provided.
start_chase Chase a Quarter ~301
Starts chasing Clients for their records for a Quarter: each gets a personal link (no login, works on a phone) and a first email; then Nudges go out on the practice's plan until they send their records. confirm:false (default) shows who would be chased, who has no email, the checklist and the dates (the date Clients are asked to send by, and the HMRC deadline); confirm:true starts it. Safe to repeat: Clients already being chased are left alone. Use this when: asking Clients to send their records for a Quarter — everyone, a group by tag, or one Client — including particular items such as bank statements or receipts (checklist). Not for: reminding Clients already being chased (send_nudges_now); documents unrelated to the quarterly update.
| Name | Type | Req | Description |
|---|---|---|---|
| checklist | array | – | what to send, 1–8 items; default: the practice's checklist (sales and income, receipts and invoices for expenses, bank statements for accounts the practice can't already see) |
| clients | – | yes | "all", or Client names/emails/tags |
| confirm | boolean | – | false (default) = dry run: shows what would happen, changes nothing. true = do it. |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| quarter | string | – | Quarter like "2026-27 Q3". Default: the Quarter whose HMRC deadline is next. |
No output schema declared.
No examples provided.
update_client Update a Client ~143
Changes one Client's name, email, mobile, period type (standard/calendar), tags or reference. Returns before → after. Use this when: a Client's details change. Not for: stopping chasing someone (archive_client) or pausing nudges (pause_nudges).
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | yes | Client name, email or your own reference |
| string | – | – | |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| mobile | string | – | – |
| name | string | – | – |
| period_type | string | – | – |
| ref | string | – | – |
| tags | array | – | – |
No output schema declared.
No examples provided.
update_practice Update practice settings ~287
Changes what Clients see and how MTD Chase behaves for this practice: name shown to Clients, reply-to email, sign-off, phone shown on the Client's page, how many days before the HMRC deadline Clients are asked to send by (0–30, default 10; applies to Chases started afterwards), how many days after a deadline files are kept (30–365), daily summary email on/off, and the default checklist new Chases ask Clients for (1–8 items; running Chases keep theirs). Returns before → after. Use this when: the practitioner changes their details, the date clients are asked to send by, their default checklist, or retention.
| Name | Type | Req | Description |
|---|---|---|---|
| ask_by_days | number | – | 0–30: days before the HMRC deadline that clients are asked to send by |
| daily_summary | boolean | – | – |
| default_checklist | array | – | 1–8 items, each up to 120 characters |
| idempotency_key | string | – | Optional; reuse when retrying so the change happens once. |
| name | string | – | – |
| phone | string | – | UK phone number shown to Clients; empty clears it |
| reply_to_email | string | – | – |
| retention_days | number | – | 30–365: days after the HMRC deadline that files are kept |
| sign_off | string | – | – |
No output schema declared.
No examples provided.
whats_new What's new ~64
Lists changes that went live recently in MTD Chase, and which of this practice's requests are now live, with the date each went live and what to say to try it. Use this when: the practitioner asks what's new, or whether something they asked for is live yet.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
whos_outstanding Who's outstanding ~131
Returns the Clients who haven't finished sending records for a Quarter (waiting or partial), with days to/after the date they were asked to send by, last Nudge, whether they opened their link, and counts per status. Use this when: asked who's still outstanding, who's sent what, or how the Quarter is going. Not for: one tagged group (list_clients with tag).
| Name | Type | Req | Description |
|---|---|---|---|
| late_last_quarter | boolean | – | only those who were late last Quarter |
| quarter | string | – | Quarter like "2026-27 Q3". Default: the Quarter whose HMRC deadline is next. |
No output schema declared.
No examples provided.
How do I install the MTD Chase — chase clients for MTD records MCP server?
MTD Chase — chase clients for MTD records is a hosted endpoint at https://mtd-chase.smallwright.com/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 · mtd-chase.smallwright.com
claude mcp add --transport http com-smallwright-mtd-chase 'https://mtd-chase.smallwright.com/mcp'
What is the MTD Chase — chase clients for MTD records MCP server?
MTD Chase — chase clients for MTD records is an MCP server listed in the public MCP registry as com.smallwright/mtd-chase. UK bookkeepers: chase clients for Making Tax Digital quarterly records, upload links, reminders. This page covers its hosted endpoint (https://mtd-chase.smallwright.com/mcp).
Is the MTD Chase — chase clients for MTD records MCP server safe to use?
MTD Chase — chase clients for MTD records scores 80 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 MTD Chase — chase clients for MTD records MCP server expose?
MTD Chase — chase clients for MTD records exposes 20 tools: get_mtd_deadlines, get_started, update_practice, export_practice_data, request_feature, and 15 more. Their descriptions and schemas cost roughly 2,904 tokens of context every time the server is loaded.
Does the MTD Chase — chase clients for MTD records MCP server require authentication?
Yes. MTD Chase — chase clients for MTD records asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the MTD Chase — chase clients for MTD records MCP server still maintained?
MTD Chase — chase clients for MTD records is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the MTD Chase — chase clients for MTD records MCP server?
VerifyMCP ran 14 checks on MTD Chase — chase clients for MTD records, covering TLS certificate, Authorization, HTTPS, HSTS header and 10 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.