get_weather is de identificatie die wordt weergegeven nadat MS-Agent de Serververbindingnaam en de gereedschapsnaam combineert. area en target_date zijn niet vooraf gedefinieerde aanroepparameters, maar gestructureerde parameters die door Qwen3-4B worden gegenereerd op basis van "Hangzhou morgen". De bijbehorende registratieresultaten worden hieronder getoond.
De weer-MCP ontvangt de parameters, analyseert "Hangzhou" als "Hangzhou, Zhejiang, China", converteert tomorrow naar 7 september 2026 volgens de lokale tijdzone en retourneert:
{
"requested_area": "杭州",
"resolved_area": "杭州,浙江,中国",
"date": "2026-09-07",
"timezone": "Asia/Shanghai",
"weather_code": 51,
"weather": "小毛毛雨",
"temperature_max_c": 29.0,
"temperature_min_c": 21.6,
"precipitation_probability_max_percent": 31,
"wind_speed_max_kmh": 13.0,
"data_source": "Open-Meteo"
}
Qwen3-4B genereert vervolgens een natuurlijk taalantwoord op basis van deze resultaten, met vermelding van het werkelijk overeenkomende gebied, de datum, de weersomstandigheden, de maximale en minimale temperaturen, de neerslagkans en de maximale windsnelheid. Hiermee is de aanroepketen "vraag begrijpen — gereedschap selecteren — parameters genereren — gereedschap uitvoeren — resultaten verwerken" voltooid.
Na hosting en configuratie verbindt u eerst rechtstreeks met de service en controleert u de gereedschapslijst. Het volgende testvoorbeeld gebruikt de website https://example.com.
async def direct_fetch_check():
async with streamable_http_client(MCP_SERVER_URL) as streams:
read_stream, write_stream, _ = streams
async with ClientSession(read_stream, write_stream) as session:
await session.initialize()
tools = await session.list_tools()
print("Gereedschappen geretourneerd door server:", [tool.name for tool in tools.tools])
result = await session.call_tool(
"fetch",
arguments={
"url": "https://example.com",
"max_length": 1000,
"start_index": 0,
"raw": False,
},
)
if result.isError:
raise RuntimeError(str(result.content)
for block in result.content:
if getattr(block, "type", None) == "text":
print(block.text)
await direct_fetch_check()
Inloggen deelnemen aan de discussie
Bij daadwerkelijke uitvoering geeft de server het fetch-gereedschap vrij en retourneert fragmenten van webinhoud en links van de doelpagina. Dit bevestigt dat de ModelScope-hostingservice, de Streamable HTTP-verbinding en het web-scraping-gereedschap allemaal werken.

Na het succesvolle directe aanroepen hergebruikt u de eerder geconfigureerde Qwen3-4B zodat het model het gereedschap autonoom selecteert.
Het machtigingsbeheer van MCP mag niet beperkt blijven tot "kan deze server worden verbonden of niet", maar moet drie vragen verduidelijken: welke bronnen kan de huidige gebruiker benaderen, welke gereedschappen kan het model aanroepen en welke impact elke aanroep zal hebben op externe systemen.
MCP stelt het model niet alleen in staat om inhoud te genereren, maar ook om bestanden te lezen, databases te bevragen, netwerkservices aan te roepen en zelfs externe systemen te wijzigen. Daaroor zijn de beveiligingsrisico's complexer dan die van een gewoon chatmodel.
MCP is beter geschikt voor scenarios waarin veel externe gereedschappen en gegevensbronnen aanwezig zijn, waar deze capaciteiten door verschillende modellen of Agents kunnen worden hergebruikt, en waar het model dynamisch moet beslissen welke gereedschappen moeten worden aangeroepen.
Alle experimentele gegevens en code van dit hoofdstuk zijn beschikbaar op:
https://modelscope.cn/gallery/liucong/fae5791c-a024-412f-97c3-5fb93fee708e