MCP Server

site

com.immigrationadviserfinder/site
Legal & Compliance Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Searches an immigration adviser register and dataset, provides provenance and comparisons, and submits enquiries to human providers.

dataset_columns
Dataset columns and shape
The columns, which of them are numeric, the row count and the provenance banner of the Immigration Adviser Finder dataset. Call this first to learn the schema.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
dataset_compare
Compare rows side by side
The rows of the Immigration Adviser Finder dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column', 'values'], 'properties': {'column': {'type': 'string', 'minLength': 1}, 'values': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 10, 'minItems': 2}}, 'additionalProperties': False}
dataset_provenance
Where this data comes from, and how to cite it
The source, the date it was computed, the licence and the citation for the Immigration Adviser Finder dataset. Read this to attribute a figure correctly.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
dataset_row
Look a row up by an exact key
The rows of the Immigration Adviser Finder dataset where a column equals a value exactly (case-insensitive).
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column', 'value'], 'properties': {'value': {'type': 'string', 'minLength': 1}, 'column': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
dataset_search
Search the dataset
Rows of the Immigration Adviser Finder dataset whose cells contain the query (case-insensitive), up to 50.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'text to look for in any cell'}}, 'additionalProperties': False}
dataset_stats
Summary statistics for a numeric column
count, min, max, mean, median and sum of a numeric column of the Immigration Adviser Finder dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column'], 'properties': {'column': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
dataset_top
Rank rows by a numeric column
The highest (or lowest) rows of the Immigration Adviser Finder dataset by a numeric column — "which is the most/least X".
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'column': {'type': 'string', 'minLength': 1}, 'ascending': {'type': 'boolean', 'description': 'true for the lowest first; default highest first'}}, 'additionalProperties': False}
enquiry_describe
What you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)
Read first. States plainly what submit_enquiry does on Immigration Adviser Finder: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
enquiry_fields
The questions the enquiry asks
Every field of the Immigration Adviser Finder enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
entities_export
The whole register, in pages (access key required)
Every entity of Immigration Adviser Finder register, 200 a page, with provenance. Needs an access key (Authorization: Bearer); export pages are metered per key per day. Without a key the answer says how to get one.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'minimum': 1}, 'pageSize': {'type': 'integer', 'maximum': 200, 'minimum': 1}}, 'additionalProperties': False}
entities_in
Every entity in a region, paged
The Immigration Adviser Finder register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region'], 'properties': {'page': {'type': 'integer', 'minimum': 1}, 'region': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'service': {'type': 'string', 'maxLength': 80}, 'pageSize': {'type': 'integer', 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
entities_schema
The register's shape, counts and provenance
Which fields the Immigration Adviser Finder register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
entities_search
Search the register
Entities of Immigration Adviser Finder register whose name, commercial name, website, address or authority contains the query, optionally within a region (id or name) and a service (slug or name). Up to 50 rows.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'maxLength': 120}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'region': {'type': 'string', 'maxLength': 60}, 'service': {'type': 'string', 'maxLength': 80}}, 'additionalProperties': False}
entity_lookup
One entity by its register identifier or slug
The Immigration Adviser Finder register entry for a firm, by its register identifier (scheme + value, e.g. lei) or by the slug of its page. Exact match; returns the whole record with its page.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scheme': {'type': 'string', 'maxLength': 24, 'minLength': 2, 'description': 'identifier scheme, e.g. lei, fca_frn, tdlr_license'}}, 'additionalProperties': False}
submit_enquiry
Submit an ENQUIRY to human providers (two steps; not a purchase)
Submits an enquiry to Immigration Adviser Finder — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "You agree Immigration Adviser Finder may pass these details to one attorney or recognised organisation."
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['answers', 'consent'], 'properties': {'answers': {'type': 'object', 'description': "the person's answers, keyed by field key", 'additionalProperties': {'type': ['string', 'number', 'boolean']}}, 'consent': {'type': 'boolean', 'description': 'true only when the person has agreed to: You agree Immigration Adviser Finder may pass these details to one attorney or recognised organisation.'}, 'confirmation': {'type': 'string', 'description': 'the confirmation token from step 1, after the person has approved the summary'}}, 'additionalProperties': False}
Added
submit_enquiry
Sept. 17, 2026, 12:35 p.m.
Added
enquiry_fields
Sept. 17, 2026, 12:35 p.m.
Added
enquiry_describe
Sept. 17, 2026, 12:35 p.m.
Added
entities_export
Sept. 17, 2026, 12:35 p.m.
Added
entities_in
Sept. 17, 2026, 12:35 p.m.
Added
entities_search
Sept. 17, 2026, 12:35 p.m.
Added
entity_lookup
Sept. 17, 2026, 12:35 p.m.
Added
entities_schema
Sept. 17, 2026, 12:35 p.m.
Added
dataset_provenance
Sept. 17, 2026, 12:35 p.m.
Added
dataset_top
Sept. 17, 2026, 12:35 p.m.
Added
dataset_stats
Sept. 17, 2026, 12:35 p.m.
Added
dataset_compare
Sept. 17, 2026, 12:35 p.m.
Added
dataset_row
Sept. 17, 2026, 12:35 p.m.
Added
dataset_search
Sept. 17, 2026, 12:35 p.m.
Added
dataset_columns
Sept. 17, 2026, 12:35 p.m.