WorksMaps, weather and travel
Close Knit
Neighbourhood and home evidence for England, London in depth: prices, rents, schools, crime, travel.
https://getcloseknit.com/mcpclaude mcp add --transport http close-knit https://getcloseknit.com/mcpFor Cursor and other clients
{
"mcpServers": {
"close-knit": {
"type": "http",
"url": "https://getcloseknit.com/mcp"
}
}
}- Test
- Works: Handshake succeeded
- Tools
- 31 tools
- Handshake
- 1.8 s
- Transport
- streamable-http · 2025-06-18
- Tested
- 6 November 2026
- Registry name
com.getcloseknit/close-knitv2.0.8- Listed
- 30 October 2026
- Updated
- 30 October 2026
- Website
- getcloseknit.com
The last 1 tests
| When | Result | Time |
|---|---|---|
| 2026-11-06 12:15 UTC | Handshake succeeded | 1.8 s |
The 31 tools it listed
"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.
assess_listingRead onlyAssess listing
Check one listing the user found against local evidence: asking price vs the same home type's recorded £/m² (with floor area or a bedroom-based ballpark) or median price, the LSOA then its MSOA (all types only as indicative-only), typicalPrice, a flood line, turnover, growth, the local authority's official HPI, costs (stamp duty on the asking price, the council tax by band), crime with its offence mix, noise, schools (state and independent counts), planning rules (home: conservation, Article 4, listed buildings), listed buildings recorded at or near the postcode (listedNearby), the IMD decile, and the questions to ask the agent (lease, service charge, EWS1, listing). Not a valuation.
postcodeasking_pricemarketrent_periodbedroomsfloor_area_sqmfloor_area_sqftproperty_typetenureshare_percentlisting_urlintentrate_previousbuild_watch_specRead onlyBuild watch spec
Turn a finished search into a watch: portal searches per postcode district, filters, a state file path for de-duplication and a ready prompt for a scheduled task in the user's Claude that reports only new listings. Stateless: nothing is stored on Close Knit.
namearea_idsmarketmax_pricemin_bedroomsproperty_typemust_havesfrequencyintentrate_previousdescribe_dataRead onlyDescribe data
The map of Close Knit's data; call it first, and whenever you are unsure of a metric, path or category name. No arguments: a summary (themes with metric counts and 2-3 headline metrics, Census in one line, places in one line, the entity kinds). theme='crime' lists that theme's metrics: unit, levels, period, coverage (England or London only), better end, what each measures and is not (name the metric you use; say when it differs from the question). query='trees' finds metrics with ranked within, source, own-row levels and England and region refs, paths, place categories and brands by words. kind='place' lists place categories with counts and brands; kind='school' the school measures; kind='lsoa' (or msoa, lad, rgn, pc, uprn, sector) the sections and select paths of that kind; kind='custom' the place presets; kind='ranking' the saved rankings for query(saved:); kind='guide' the site's guide articles, read with get(ids: ['guide:crime']).
kindthemequerypageintentrate_previousevaluate_custom_criterionRead onlyEvaluate custom criterion
Moved: use query(saved: "custom:<preset>"). Answers until 2026-11-30.
preset_idcriteriondirectionarea_idstop_nintentrate_previousfind_areasRead onlyFind areas
Shortlist neighbourhoods in England (London in depth) for a household: budget, bedrooms, weighted priorities (crime, station access, price level, official deprivation decile, noise, disorder, energy rating, leasehold share, good primaries) and optional stations or local authorities to live near (regions narrows to English regions, e.g. ['london']; with no regions, stations or boroughs all of England is searched). Returns areas in one order (orderedBy): tier (every must met, then unverified), budget band (within, stretch, over, unknown), then standing 0-100 (with property_type every within-budget area first); present them in that order, never by score (mapScore, the map's colour). meets ('4 of 5') and aheadBecause explain it; budgetLabel says the budget in words ('within budget' only for the type's own figure); factor values with a typed fact (quality measured, modelled, estimate or unknown; range; verifyUrl), typicalPrice (the median recent sale), estimatedPrice and budgetFit (with pro
marketmax_budgettarget_budgetbedroomsprioritiesrangesbudget_importancebudget_mustnear_stationsboroughsregionsexclude_boroughsonly_in_zoneszone_soft_metresexclude_area_idsinclude_over_budgetplacesliked_area_idsproperty_typetop_ncustomsegmentdetailintentrate_previousfind_similar_areasRead onlyFind similar areas
Neighbourhoods like one the user liked (crime, deprivation, income, price level and station access percentiles), optionally only cheaper ones (cheaper_by_percent lower £/m², crime no more than 10 points worse) and within max_budget for bedrooms: 'like this but cheaper / elsewhere'.
area_idcheapercheaper_by_percentmax_budgetbedroomsproperty_typetop_nintentrate_previousgetRead onlyGet
Everything about 1-10 things by typed id: uk:lsoa:E01…, uk:msoa:E02…, uk:lad:E09…, uk:rgn:E12…, sector:e17-4, pc:E17 4PP, uprn:<digits>, school:<URN>, place:osm:n123 (search_places finds ids from names), or a guide article, guide:crime, in a call of its own (describe_data(kind: 'guide') lists them): the page's text, how a figure is made and what it cannot say. No select: a summary and an index of sections. select takes plain dotted paths (safety.rate, layers.air-no2, flood, rents); an unknown path answers didYouMean and the valid paths. sections='all' gives every section's headline facts; sections=['layers'] the headline map layers (Census only with theme or query); detail='full' adds series by year. Two or more ids add a compare view: a row per fact with each id's value and who leads. An unknown id among others is its own entry in errors; the rest are answered. Each item has nav (up, inside, nearby, act) and the site page url. Figures equal the site's pages; flags as on the site.
idsselectsectionsdetailthemequeryperiodintentrate_previousget_address_historyRead onlyGet address history
Moved: use get(["uprn:…"], select: ["history"]). Answers until 2026-11-30.
address_idintentrate_previousget_area_evidence_packRead onlyGet area evidence pack
Moved: use get([id], sections: ["pack"]). Answers until 2026-11-30.
area_idaddress_idintentrate_previousget_area_metricRead onlyGet area metric
Moved: use get([id], select: ["layers.<metric>"]). Answers until 2026-11-30.
area_idmetric_idperiodintentrate_previousget_area_overviewRead onlyGet area overview
Moved: use get([id]). Answers until 2026-11-30.
area_idbedroomsmarketproperty_typedetailintentrate_previousget_commuteRead onlyGet commute
Door-to-door minutes from one neighbourhood to the user's places on a weekday morning, by public transport (R5 on TfL timetables), bike (at the speed Santander Cycles riders reach; checked against TfL), car (typical morning traffic, no parking) and walking, each with a range. Places within 1.5 km of a commute hub (King's Cross, Bank, Canary Wharf, Oxford Circus…) are routed through it; others in Greater London get a straight-line estimate (estimate: true); places outside Greater London, and every place from a neighbourhood outside London (the routing is London only), get straight-line estimates in every mode, long trips at a main-line speed (estimate: true, reason 'outside-routing'). A neighbourhood served by National Rail only also gets a rail estimate (modes.rail, estimate: true). Example routes start at the neighbourhood's MSOA centre (origin); one far from the headline minutes is representative: false and lists its lines only. Journeys over 120 minutes are not timed (minutes null,
area_idplacesintentrate_previousget_flood_riskRead onlyGet flood risk
Moved: use get([pc | uprn | id], select: ["flood"]). Answers until 2026-11-30.
area_iduprnpostcodeintentrate_previousget_home_pricesRead onlyGet home prices
Moved: use get(["uprn:…"]). Answers until 2026-11-30.
property_refintentrate_previousget_listing_search_linksRead onlyGet listing search links
Pre-filtered searches on Rightmove, Zoopla, OnTheMarket (and OpenRent for rentals) for the postcode districts of shortlisted areas, filtered by bedrooms, price and property_type (house, flat, bungalow). Links only: open them on the user's behalf to read listings; Close Knit itself never fetches or stores listings.
area_idsmarketmax_pricemin_bedroomsproperty_typeoutcodes_per_areaintentrate_previousget_market_depthRead onlyGet market depth
Moved: use get([id], select: ["market"]). Answers until 2026-11-30.
area_idintentrate_previousget_nearby_sales_summaryRead onlyGet nearby sales summary
Moved: use get(["uprn:…"], select: ["nearby-sales"]). Answers until 2026-11-30.
address_idintentrate_previousget_placesRead onlyGet places
The places themselves (2.58 m: shops, gyms, cafes, parks, pubs, GPs, ... in 234 categories) near a typed id or {lat, lon} (radius_m 100-3000) or inside an area, by category (describe_data(kind: 'place') lists them) and brand (PureGym, Waitrose). Each: name, category, brand, metres, walk minutes (straight line, an estimate), its LSOA and sources. ODbL attribution; the full places.csv download link. Places of worship are never listed.
nearareacategorybrandradius_mpagepage_sizeintentrate_previousget_rent_levelsRead onlyGet rent levels
Moved: use get([id], select: ["rents"]). Answers until 2026-11-30.
area_idsbedroomsintentrate_previouslist_custom_presetsRead onlyList custom presets
Moved: use describe_data(kind: "custom"). Answers until 2026-11-30.
intentrate_previouslist_metricsRead onlyList metrics
Moved: use describe_data(). Answers until 2026-11-30.
compactdetailintentrate_previouslist_school_measuresRead onlyList school measures
Moved: use describe_data(kind: "school"). Answers until 2026-11-30.
intentrate_previousmatch_areasRead onlyMatch areas
Score every area against a household's ordered criteria (preference-profile.v2: budget, ranges on any map layer, places, where zones, own criteria; must = filter). Returns a match-pack.v2 with the best top_n (default 20, max 100) areas as a list with score, rank and percentile per area, its top 2 reasons and 2 weakest criteria, the bottom 10, and per-criterion components (value, fit, in/edge/out) as evidence for the listed areas only. Whole-coverage counts (scored, unscored, excluded, and excludedBy per unmet must) cover every area; mapUrl opens the full map for the search. Set analyticsConsent true only if the user agreed to store an anonymised profile summary; the tool works identically with false. Takes a ready profile (built by you or exported from the site); for a conversational home search use find_areas, which builds the profile from plain answers and adds ballpark prices.
profiletop_nintentrate_previousopen_shared_searchRead onlyOpen shared search
Open a search the user shared from the Close Knit site (a link with #profile=v1., v2. or v3.): their budget, priorities, places (gym, work, schools…), liked and ruled-out areas and private notes, re-ranked now with the same shortlist as find_areas. Use it when the user pastes such a link or says 'discuss my search'.
linktop_nintentrate_previousqueryRead onlyQuery
Analyse many areas or schools with a JSON query (never SQL). kind='area' (default): level lsoa, msoa, lad or rgn; scope england, london, a region or typed area ids; filters by value {metric, min, max}, percentile in scope {metric, pct_min}, vs the scope's reference {metric, vs: above}, change over N years {metric, change: {years, min}}, places inside {places: {category, brand, min}} or within_m; sort by a metric, a group stat {stat: median, metric} or deviation; above the metric's carrier level rows are groups: each metric is the group's own figure (its own row where the metric holds one at the level: crime, crime-<category>, green-share, gross-yield; official where the publisher gives the council's or region's; else the weighted mean of all its areas; items[].method says which), with median, p25-p75, best tenth, count and fit share of the passing areas when asked, and group_filters filter them. defs say what each metric measures and is not, with England and region refs. kind='school'
kindlevelscopefieldsfiltersgroup_filterssortpagepage_sizestandoutssavedperiodreleaseintentrate_previousrank_areas_by_metricRead onlyRank areas by metric
Moved: use query(saved: "metric:<id>"). Answers until 2026-11-30.
metric_idperiodtop_norderregionlevelintentrate_previousrank_schoolsRead onlyRank schools
Moved: use query(kind: "school"). Answers until 2026-11-30.
criteriapoolarea_idlatlngradius_kmcouncilregionphasefiltermin_cohortlimitintentrate_previousrate_answerRate answer
Rate a Close Knit answer by its callId (none: the last answer): rating 1-5, what was good, what was bad or missing, the fix you would want. Use it for the last answer in a conversation; earlier ones go in the next call's rate_previous. It describes the answer, never the user. Stored for 90 days with the call's intent summary, tool, client name and the conversation's one-way tag, contact details and full postcodes removed, no IP address or user agent.
call_idratinggoodbadfixsearch_areasRead onlySearch areas
Moved: use search_places(q). Answers until 2026-11-30.
qlimitintentrate_previoussearch_placesRead onlySearch places
Resolve a place the user mentions (station, borough, neighbourhood, postcode, street) to ids. Station lookup forgives spelling (Kings Cross, St James Park, Elephant and Castle) and knows London codes and nicknames (KX, TCR, LST, E&C, ally pally). Returns stations (osm:…, with TfL modes, lines and zone; twin stations such as Hammersmith are listed apart) for find_areas.near_stations, local authorities (uk:lad:…; London's boroughs) for find_areas.boroughs, areas (with ladId) and addresses for get (typed ids: uk:lsoa:…, pc:…, uprn:…) and assess_listing, and venues (a pool, gym or sports centre by name, with latitude/longitude to pin as a place). best is the likeliest meaning: a venue named exactly so, then a town, city or council named exactly so above a stop that only shares the name; 'Liverpool St' is the station. A street found only outside the town typed gives best null, reason town-mismatch and candidates with their towns: ask which. query is an alias of q.
qquerylimitintentrate_previoussend_feedbackSend feedback
Send feedback about Close Knit to the team: a bug, missing or wrong data, an idea, or what worked. Call it only after the user agrees: show them the message first. Describe the product and what happened, never the person: no names, contact details, addresses, family, budget or other personal circumstances. Kept 12 months, e-mail addresses and phone numbers removed; no reply channel: the answer gives an id, the changelog names ids fixed. Other tools' intent summaries and answer ratings: 90 days.
kindmessageratingtoolsclient
Is this yours?
Claim it to hear the moment it breaks, correct this page and add your own ways to use it.
A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.