How it works
The hardest thing to convey about an MCP server is this: has the AI got cleverer, or have you just handed it a tool?
Below is one real call, made on 23 September 2026, broken into steps — each marked as either a tool call or the model reasoning on its own. The subject is a public landmark, 1700 Tianfu Avenue North in Chengdu, treated as if a cultural building were proposed there.
This was our own trial run, not a client’s project. The plot area and floor area were assumed so that a plot ratio could be derived.
One call, end to end
Step 1 · Tool call — locate_site
Input: a street address. It returns:
lng 104.062978 / lat 30.566259
precision: building entrance
normalised address: 四川省成都市武侯区天府大道北段1700号
Step 2 · The model reasoning
No tool runs here, and yet this step decides whether everything after it is right or wrong.
The address came back in Wuhou District. Whoever asked — in this case, us — had assumed it was in the high-tech zone. Following that assumption would have meant pulling the regulatory plan for a different district: the output would look exactly as plausible, and be entirely wrong.
So the job of this step is to read the located address back and confirm it is the place you meant. The tool asks for this explicitly.
Step 3 · Tool call — analyze_planning_condition
The confirmed coordinates and district go in, along with plot area and floor area.
Height limit, setback, building density and green ratio were not passed — nobody had supplied those numbers. The tool’s own instructions are blunt about it: if the user did not give it, do not pass it, and never invent a default.
This work takes minutes, so it does not hold the conversation open. It returns a job id straight away.
Step 4 · Tool call — get_job
Collect the result at the interval the response gives you. This one took 7 min 38 s.
Step 5 · The model reasoning
Read what came back and work out which figures can be used and which cannot.
Which numbers were looked up, and which were worked out
Every item in the output carries its own provenance label, so you are not left guessing:
| Item | Value | Status |
|---|---|---|
| Plot area | 25,000 m² | Confirmed — you supplied it |
| Floor area | 50,000 m² | Confirmed — you supplied it |
| Plot ratio | 2 | Derived — floor area ÷ plot area |
| Setback | Must comply with the regulatory plan and Chengdu’s technical rules; no specific figure found | Retrieved, for reference |
| Height | As above; no specific limit found for this frontage in Wuhou District | Retrieved, for reference |
Those three carry very different weight:
- Confirmed — your own input, carried through untouched;
- Derived — computed from that input, and the arithmetic can be checked;
- Retrieved, for reference — found in public material. It is not a legal basis. The planning conditions issued by the authority are what govern.
That labelling is part of the output itself. It does not blend what it looked up with what it calculated.
The labels above are translated here. In the product they appear in Chinese (已确认 / 推导 / 检索参考), as does the rest of the output.
What happens when it finds nothing
In this run neither the height limit nor the setback could be found. Its response was to write “not found” into the body of the report, and then to set out what it had found and why it was not used — residential plots in the same district with the wrong land use, rules applying only to a neighbouring administrative zone, material describing an existing landmark rather than any governing requirement.
One line puts it plainly:
检索到天府大道北段1700号新建文化建筑专门导则、风貌管理规定、规划控制线图则:均未发现。
Searched for a design guideline, townscape rules and a control-line drawing specific to a new cultural building at this address: none found.
It also grades how reliable its own sources are. Two of the clauses quoted in this run were transcribed from a third-party website with the original document number missing, and the tool flagged that itself: the material is of ordinary authority, unverified against the official document, and not suitable to be relied on directly in design.