Koskamo

MTD Chase MCP

MTD Chase is an MCP server for UK bookkeepers and small accountancy practices that automates the collection of Making Tax Digital quarterly records. It allows AI assistants to send personalized no-login links to clients, manage reminders, and track outstanding submissions, streamlining the record-chasing process without filing with HMRC.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

MTD Chase MCP logo, by SmallwrightVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Smallwright
MCP endpoint (Streamable HTTP)
https://mtd-chase.smallwright.com/mcp
Vendor documentation

What its tools do

20 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

20 of 20 have a description · 20 of 20 declare behavior hints · 8 of 16 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to smallwright.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Chase clients for MTD quarterly records
  • Send personalized no-login links to clients
  • Track outstanding client submissions

Source and maintenance

Vendor evidenceRegistry 0.1.0

Protocol and capabilities

Server
mtd-chase 0.1.0
MCP protocol negotiated in check
2025-11-25
Tools
20 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

MTD Chase keeps a UK practice's MTD Income Tax records chase: Clients, Quarters, Chases (one per Client per Quarter, with a personal no-login link), Records the Client sends, and Nudges (reminder emails). Concepts and tool replies use those words.

Tools

20 advertised

get_mtd_deadlines — MTD deadlines
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

get_mtd_deadlines input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "tax_year": {
      "type": "string",
      "description": "e.g. \"2026-27\". Default: the current tax year."
    }
  }
}
get_mtd_deadlines annotations
{
  "title": "MTD deadlines",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_started — Where am I up to
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_started input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_started annotations
{
  "title": "Where am I up to",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
update_practice — Update practice settings
Advertised by the server during the last successful anonymous check.

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.

update_practice input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "name": {
      "type": "string"
    },
    "phone": {
      "type": "string",
      "description": "UK phone number shown to Clients; empty clears it"
    },
    "sign_off": {
      "type": "string"
    },
    "ask_by_days": {
      "type": "number",
      "description": "0–30: days before the HMRC deadline that clients are asked to send by"
    },
    "daily_summary": {
      "type": "boolean"
    },
    "reply_to_email": {
      "type": "string"
    },
    "retention_days": {
      "type": "number",
      "description": "30–365: days after the HMRC deadline that files are kept"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    },
    "default_checklist": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "1–8 items, each up to 120 characters"
    }
  }
}
update_practice annotations
{
  "title": "Update practice settings",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
export_practice_data — Export practice data
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

export_practice_data input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
export_practice_data annotations
{
  "title": "Export practice data",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
request_feature — Request a feature
Advertised by the server during the last successful anonymous check.

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.

request_feature input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "what_the_user_wanted",
    "what_they_were_trying_to_achieve",
    "urgency"
  ],
  "properties": {
    "urgency": {
      "enum": [
        "blocking",
        "nice_to_have"
      ],
      "type": "string",
      "description": "blocking = they can't do the job today; nice_to_have = a workaround exists"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    },
    "what_the_user_wanted": {
      "type": "string",
      "description": "their own words"
    },
    "closest_existing_tool": {
      "type": "string"
    },
    "what_they_were_trying_to_achieve": {
      "type": "string",
      "description": "the job behind it"
    }
  }
}
request_feature annotations
{
  "title": "Request a feature",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
list_my_requests — List my feature requests
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

list_my_requests input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
list_my_requests annotations
{
  "title": "List my feature requests",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
whats_new — What's new
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

whats_new input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
whats_new annotations
{
  "title": "What's new",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
add_clients — Add Clients
Advertised by the server during the last successful anonymous check.

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).

add_clients input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "clients"
  ],
  "properties": {
    "clients": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "ref": {
            "type": "string",
            "description": "your own client reference"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "email": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "period_type": {
            "enum": [
              "standard",
              "calendar"
            ],
            "type": "string",
            "description": "standard = periods end on the 5th; calendar = month-end"
          }
        }
      },
      "maxItems": 500
    },
    "confirm": {
      "type": "boolean",
      "default": false,
      "description": "false (default) = dry run: shows what would happen, changes nothing. true = do it."
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
add_clients annotations
{
  "title": "Add Clients",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
update_client — Update a Client
Advertised by the server during the last successful anonymous check.

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).

update_client input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "client"
  ],
  "properties": {
    "ref": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "email": {
      "type": "string"
    },
    "client": {
      "type": "string",
      "description": "Client name, email or your own reference"
    },
    "mobile": {
      "type": "string"
    },
    "period_type": {
      "enum": [
        "standard",
        "calendar"
      ],
      "type": "string"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
update_client annotations
{
  "title": "Update a Client",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
archive_client — Archive or unarchive a Client
Advertised by the server during the last successful anonymous check.
Advertised destructive

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.

archive_client input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "client"
  ],
  "properties": {
    "client": {
      "type": "string",
      "description": "Client name, email or your own reference"
    },
    "confirm": {
      "type": "boolean",
      "default": false,
      "description": "false (default) = dry run: shows what would happen, changes nothing. true = do it."
    },
    "unarchive": {
      "type": "boolean",
      "default": false
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
archive_client annotations
{
  "title": "Archive or unarchive a Client",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": true
}
list_clients — List Clients
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_clients input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "tag": {
      "type": "string"
    },
    "text": {
      "type": "string",
      "description": "part of a name or email"
    },
    "period_type": {
      "enum": [
        "standard",
        "calendar"
      ],
      "type": "string"
    },
    "include_archived": {
      "type": "boolean"
    }
  }
}
list_clients annotations
{
  "title": "List Clients",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
start_chase — Chase a Quarter
Advertised by the server during the last successful anonymous check.
Open-world

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.

start_chase input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "clients"
  ],
  "properties": {
    "clients": {
      "anyOf": [
        {
          "type": "string",
          "const": "all"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "\"all\", or Client names/emails/tags"
    },
    "confirm": {
      "type": "boolean",
      "default": false,
      "description": "false (default) = dry run: shows what would happen, changes nothing. true = do it."
    },
    "quarter": {
      "type": "string",
      "description": "Quarter like \"2026-27 Q3\". Default: the Quarter whose HMRC deadline is next."
    },
    "checklist": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "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)"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
start_chase annotations
{
  "title": "Chase a Quarter",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_chase_links — Get Chase links
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

get_chase_links input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "clients": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "names/emails; default all being chased"
    },
    "quarter": {
      "type": "string",
      "description": "Quarter like \"2026-27 Q3\". Default: the Quarter whose HMRC deadline is next."
    }
  }
}
get_chase_links annotations
{
  "title": "Get Chase links",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
mark_chase — Set a Chase status
Advertised by the server during the last successful anonymous check.

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.

mark_chase input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "client",
    "status"
  ],
  "properties": {
    "note": {
      "type": "string",
      "maxLength": 300
    },
    "client": {
      "type": "string",
      "description": "Client name, email or your own reference"
    },
    "status": {
      "enum": [
        "waiting",
        "partial",
        "ready",
        "nothing_to_report",
        "skipped"
      ],
      "type": "string"
    },
    "quarter": {
      "type": "string",
      "description": "Quarter like \"2026-27 Q3\". Default: the Quarter whose HMRC deadline is next."
    },
    "recount": {
      "type": "boolean",
      "description": "true = recount lateness from now"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
mark_chase annotations
{
  "title": "Set a Chase status",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_records — List Records
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_records input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "client": {
      "type": "string",
      "description": "Client name, email or your own reference"
    },
    "quarter": {
      "type": "string",
      "description": "Quarter like \"2026-27 Q3\". Default: the Quarter whose HMRC deadline is next."
    }
  }
}
list_records annotations
{
  "title": "List Records",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
set_nudge_plan — Set the nudge plan
Advertised by the server during the last successful anonymous check.

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).

set_nudge_plan input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "days_after": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "1–60, up to 6 values: days after it"
    },
    "on_the_day": {
      "type": "boolean",
      "description": "also nudge on the ask-by date itself"
    },
    "days_before": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "1–60, up to 6 values: days before the date clients are asked to send by"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
set_nudge_plan annotations
{
  "title": "Set the nudge plan",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
send_nudges_now — Nudge now
Advertised by the server during the last successful anonymous check.
Open-world

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.

send_nudges_now input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "clients": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Client names, emails or references; default: everyone outstanding"
    },
    "confirm": {
      "type": "boolean",
      "default": false,
      "description": "false (default) = dry run: shows what would happen, changes nothing. true = do it."
    },
    "quarter": {
      "type": "string",
      "description": "Quarter like \"2026-27 Q3\". Default: the Quarter whose HMRC deadline is next."
    },
    "only_status": {
      "enum": [
        "waiting",
        "partial"
      ],
      "type": "string",
      "description": "e.g. waiting = only those who've sent nothing"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
send_nudges_now annotations
{
  "title": "Nudge now",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
pause_nudges — Pause or resume Nudges
Advertised by the server during the last successful anonymous check.

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).

pause_nudges input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "client"
  ],
  "properties": {
    "until": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "client": {
      "type": "string",
      "description": "Client name, email or your own reference"
    },
    "resume": {
      "type": "boolean",
      "default": false
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional; reuse when retrying so the change happens once."
    }
  }
}
pause_nudges annotations
{
  "title": "Pause or resume Nudges",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
whos_outstanding — Who's outstanding
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

whos_outstanding input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "quarter": {
      "type": "string",
      "description": "Quarter like \"2026-27 Q3\". Default: the Quarter whose HMRC deadline is next."
    },
    "late_last_quarter": {
      "type": "boolean",
      "description": "only those who were late last Quarter"
    }
  }
}
whos_outstanding annotations
{
  "title": "Who's outstanding",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_client_history — Client history
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

get_client_history input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "client": {
      "type": "string",
      "description": "Client name, email or your own reference"
    }
  }
}
get_client_history annotations
{
  "title": "Client history",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

MTD Chase view

Advertised by the server during the last successful anonymous check.

Inline view for MTD Chase results

MTD Chase view URI
ui://mtd-chase/view.html

MIME type: text/html;profile=mcp-app

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
709 ms
95th percentile latency
709 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 709 ms · metadata changed · 20 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http mtd-chase-mcp https://mtd-chase.smallwright.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add mtd-chase-mcp --url https://mtd-chase.smallwright.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable mtd-chase-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "mtd-chase-mcp": {
      "url": "https://mtd-chase.smallwright.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "mtd-chase-mcp": {
      "type": "streamableHttp",
      "url": "https://mtd-chase.smallwright.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start mtd-chase-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "mtd-chase-mcp": {
      "type": "http",
      "url": "https://mtd-chase.smallwright.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http mtd-chase-mcp https://mtd-chase.smallwright.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mtd-chase.smallwright.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "mtd-chase-mcp": {
      "serverUrl": "https://mtd-chase.smallwright.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like MTD Chase MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run MTD Chase MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing