MAD Synapse · World
Weather, geocoding, FX rates, holidays, time zones, countries, earthquakes, sun and moon.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"synapse-world": {
"url": "https://agent.maddegen.art/hub/mcp/world"
}
}
}远程端点
https://agent.maddegen.art/hub/mcp/worldstreamable-http它能做什么
工具清单
工具(8)
🟢weather(place, days, tz)
Current weather and hourly/daily forecast for any place name or lat,lon: temperature, feels-like, wind, gusts, rain, cloud, humidity, UV — up to 9 days. Forecast from the Norwegian Meteorological Institute (MET Norway), the same model data yr.no uses, worldwide. Place names are geocoded with OpenStreetMap. Times are UTC plus local time when tz is given (IANA, e.g. Australia/Sydney). Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "city/address or \"lat,lon\""
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 9,
"default": 3,
"description": "Days of daily forecast to include. Range 1-9. Default 3."
},
"tz": {
"type": "string",
"description": "IANA time zone for local times (optional)"
}
},
"required": [
"place"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"place": {
"type": [
"string",
"null"
]
},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"updated": {
"type": [
"string",
"null"
]
},
"now": {
"type": [
"object",
"null"
],
"properties": {
"time": {
"type": [
"string",
"null"
]
},
"temp_c": {
"type": [
"number",
"null"
]
},
"feels_like_c": {
"type": [
"number",
"null"
]
},
"sky": {
"type": [
"string",
"null"
]
},
"humidity_pct": {
"type": [
"number",
"null"
]
},
"wind_ms": {
"type": [
"number",
"null"
]
},
"wind_kmh": {
"type": [
"number",
"null"
]
},
"wind_gust_ms": {},
"wind_from_deg": {
"type": [
"number",
"null"
]
},
"pressure_hpa": {
"type": [
"number",
"null"
]
},
"cloud_pct": {
"type": [
"number",
"null"
]
},
"uv_index": {
"type": [
"number",
"null"
]
},
"dew_point_c": {
"type": [
"number",
"null"
]
},
"rain_next_hour_mm": {
"type": [
"number",
"null"
]
}
}
},
"daily": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"date": {
"type": [
"string",
"null"
]
},
"min_c": {
"type": [
"number",
"null"
]
},
"max_c": {
"type": [
"number",
"null"
]
},
"rain_mm": {
"type": [
"number",
"null"
]
},
"max_wind_ms": {
"type": [
"number",
"null"
]
},
"max_gust_ms": {},
"sky": {
"type": [
"string",
"null"
]
}
}
}
},
"hourly_48h": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"time": {
"type": [
"string",
"null"
]
},
"local": {
"type": [
"string",
"null"
]
},
"temp_c": {
"type": [
"number",
"null"
]
},
"wind_ms": {
"type": [
"number",
"null"
]
},
"rain_mm": {
"type": [
"number",
"null"
]
},
"rain_prob_pct": {},
"sky": {
"type": [
"string",
"null"
]
}
}
}
},
"source": {
"type": [
"string",
"null"
]
}
}
}🟢geocode(query, limit)
Place name or address → coordinates (with city, state, country, postcode), or lat,lon → the nearest address. Up to 10 candidates. OpenStreetMap data via Photon. Returns OSM links so results can be checked. When to use: To turn names into coordinates; weather and sun_moon accept place names directly. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "address/place, or \"lat,lon\" for reverse"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 3,
"description": "How many candidate matches to return. Range 1-10. Default 3."
}
},
"required": [
"query"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"query": {
"type": [
"string",
"null"
]
},
"results": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"type": {
"type": [
"string",
"null"
]
},
"city": {},
"state": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"country_code": {
"type": [
"string",
"null"
]
},
"postcode": {},
"street": {},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"osm": {
"type": [
"string",
"null"
]
}
}
}
},
"attribution": {
"type": [
"string",
"null"
]
}
}
}🟢fx_rates(from, to, amount, date, end_date)
Official exchange rates for 30 major currencies (European Central Bank reference rates): latest or any date since 1999, convert an amount, or a time series. Frankfurter API over ECB reference rates, published each working day ~16:00 CET. For crypto use crypto_price. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"default": "USD",
"description": "Base currency ISO 4217 code, e.g. \"USD\". Default \"USD\"."
},
"to": {
"type": "array",
"maxItems": 30,
"items": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"description": "targets (default: all) 0-30 items."
},
"amount": {
"type": "number",
"minimum": 0,
"default": 1,
"description": "Amount of the base currency to convert. Default 1."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "historical date (optional)"
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "with date: returns a daily series"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"from": {
"type": [
"string",
"null"
]
},
"amount": {
"type": [
"number",
"null"
]
},
"date": {
"type": [
"string",
"null"
]
},
"rates": {
"type": [
"object",
"null"
],
"properties": {
"AUD": {
"type": [
"number",
"null"
]
},
"EUR": {
"type": [
"number",
"null"
]
},
"JPY": {
"type": [
"number",
"null"
]
}
}
},
"source": {
"type": [
"string",
"null"
]
}
}
}🟢holidays(country, year)
Public holidays for 100+ countries for any year, whether today is a holiday there, and the next upcoming ones — including regional (state) holidays. Nager.Date open holiday data. Use for scheduling, market-closure awareness or delivery estimates. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO code or name, e.g. AU, United States"
},
"year": {
"type": "integer",
"minimum": 1975,
"maximum": 2075,
"description": "Calendar year; defaults to the current year. Range 1975-2075."
}
},
"required": [
"country"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"country": {
"type": [
"string",
"null"
]
},
"code": {
"type": [
"string",
"null"
]
},
"year": {
"type": [
"number",
"null"
]
},
"today_is_holiday": {
"type": "array"
},
"next": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"date": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"local_name": {
"type": [
"string",
"null"
]
},
"nationwide": {
"type": [
"boolean",
"null"
]
},
"regions": {},
"types": {
"type": "array"
}
}
}
},
"holidays": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"date": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"local_name": {
"type": [
"string",
"null"
]
},
"nationwide": {
"type": [
"boolean",
"null"
]
},
"regions": {},
"types": {
"type": "array"
}
}
}
},
"source": {
"type": [
"string",
"null"
]
}
}
}🟢time_convert(time, from_tz, to_tz, add, until)
Current time in any time zones, convert a time between zones (DST-correct), and date arithmetic: add/subtract durations, days between dates, weekday, ISO week, Unix time. Computed locally from the IANA time-zone database — no rate limits, exact. Zones are IANA names (America/New_York, Asia/Tokyo, UTC). Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"time": {
"type": "string",
"description": "ISO time, \"now\", or a Unix timestamp; naive times are read in from_tz"
},
"from_tz": {
"type": "string",
"default": "UTC",
"description": "IANA time zone the input time is in, e.g. \"America/New_York\". Default \"UTC\"."
},
"to_tz": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
},
"default": [
"UTC"
],
"description": "IANA time zones to convert into. 0-20 items. Default [\"UTC\"]."
},
"add": {
"type": "string",
"description": "e.g. \"+3d 4h\", \"-90m\", \"+2w\""
},
"until": {
"type": "string",
"description": "second ISO date: returns the difference"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"input_utc": {
"type": [
"string",
"null"
]
},
"added": {
"type": [
"string",
"null"
]
},
"utc": {
"type": [
"string",
"null"
]
},
"unix": {
"type": [
"number",
"null"
]
},
"iso_week": {
"type": [
"number",
"null"
]
},
"source_zone": {
"type": [
"object",
"null"
],
"properties": {
"zone": {
"type": [
"string",
"null"
]
},
"local": {
"type": [
"string",
"null"
]
},
"readable": {
"type": [
"string",
"null"
]
},
"utc_offset": {
"type": [
"string",
"null"
]
}
}
},
"converted": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"zone": {
"type": [
"string",
"null"
]
},
"local": {
"type": [
"string",
"null"
]
},
"readable": {
"type": [
"string",
"null"
]
},
"utc_offset": {
"type": [
"string",
"null"
]
}
}
}
}
}
}🟢country_info(country)
Any country's essentials: capital, population, GDP and GDP per capita (World Bank), currencies, languages, calling code, internet TLD, time zones, driving side, borders, flag. Static facts from the world-countries dataset (no rate limits) plus the latest World Bank population and GDP figures. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "name or ISO code"
}
},
"required": [
"country"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"official_name": {
"type": [
"string",
"null"
]
},
"cca2": {
"type": [
"string",
"null"
]
},
"cca3": {
"type": [
"string",
"null"
]
},
"capital": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"region": {
"type": [
"string",
"null"
]
},
"subregion": {
"type": [
"string",
"null"
]
},
"population": {
"type": [
"object",
"null"
],
"properties": {
"value": {
"type": [
"number",
"null"
]
},
"year": {
"type": [
"number",
"null"
]
}
}
},
"gdp_usd": {
"type": [
"object",
"null"
],
"properties": {
"value": {
"type": [
"number",
"null"
]
},
"year": {
"type": [
"number",
"null"
]
}
}
},
"gdp_per_capita_usd": {
"type": [
"object",
"null"
],
"properties": {
"value": {
"type": [
"number",
"null"
]
},
"year": {
"type": [
"number",
"null"
]
}
}
},
"area_km2": {
"type": [
"number",
"null"
]
},
"currencies": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"symbol": {
"type": [
"string",
"null"
]
}
}
}
},
"languages": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"calling_code": {
"type": [
"string",
"null"
]
},
"tld": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"landlocked": {
"type": [
"boolean",
"null"
]
},
"borders": {
"type": "array"
},
"latlng": {
"type": "array",
"items": {
"type": [
"number",
"null"
]
}
},
"flag": {
"type": [
"string",
"null"
]
},
"un_member": {
"type": [
"boolean",
"null"
]
},
"independent": {
"type": [
"boolean",
"null"
]
},
"demonym": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
}
}
}🟢earthquakes(min_magnitude, period, near, radius_km, limit)
Earthquakes worldwide from the last hour to 30 days, filtered by minimum magnitude and optionally within a radius of a place — with depth, tsunami flag and USGS alert level. USGS real-time earthquake feeds (updated every minute). Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"min_magnitude": {
"type": "number",
"minimum": 0,
"maximum": 9,
"default": 4.5,
"description": "Only quakes at or above this magnitude. Range 0-9. Default 4.5."
},
"period": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month"
],
"default": "day",
"description": "Look-back window. One of \"hour\", \"day\", \"week\", \"month\". Default \"day\"."
},
"near": {
"type": "string",
"description": "place or lat,lon (optional)"
},
"radius_km": {
"type": "number",
"minimum": 10,
"maximum": 5000,
"default": 1000,
"description": "Search radius around the given place (only when a place is given). Range 10-5000. Default 1000."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many quakes to return, largest first. Range 1-100. Default 20."
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"min_magnitude": {
"type": [
"number",
"null"
]
},
"count": {
"type": [
"number",
"null"
]
},
"strongest": {
"type": [
"object",
"null"
],
"properties": {
"time": {
"type": [
"string",
"null"
]
},
"magnitude": {
"type": [
"number",
"null"
]
},
"place": {
"type": [
"string",
"null"
]
},
"depth_km": {
"type": [
"number",
"null"
]
},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"tsunami_flag": {
"type": [
"boolean",
"null"
]
},
"alert": {
"type": [
"string",
"null"
]
},
"felt_reports": {
"type": [
"number",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
}
}
},
"quakes": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"time": {
"type": [
"string",
"null"
]
},
"magnitude": {
"type": [
"number",
"null"
]
},
"place": {
"type": [
"string",
"null"
]
},
"depth_km": {
"type": [
"number",
"null"
]
},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"tsunami_flag": {
"type": [
"boolean",
"null"
]
},
"alert": {},
"felt_reports": {},
"url": {
"type": [
"string",
"null"
]
}
}
}
},
"source": {
"type": [
"string",
"null"
]
}
}
}🟢sun_moon(place, date, tz)
Sunrise, sunset, golden hour, twilight, day length and solar noon for any place and date — plus moon phase, illumination, moonrise and moonset. Astronomical calculation (SunCalc), exact and instant. Pass tz for local times. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
输入模式
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "Place name or \"lat,lon\"."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "default today (UTC)"
},
"tz": {
"type": "string",
"description": "IANA zone for local times"
}
},
"required": [
"place"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"place": {
"type": [
"string",
"null"
]
},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"date": {
"type": [
"string",
"null"
]
},
"times_in": {
"type": [
"string",
"null"
]
},
"sun": {
"type": [
"object",
"null"
],
"properties": {
"dawn": {
"type": [
"string",
"null"
]
},
"sunrise": {
"type": [
"string",
"null"
]
},
"golden_hour_morning_ends": {
"type": [
"string",
"null"
]
},
"solar_noon": {
"type": [
"string",
"null"
]
},
"golden_hour_evening_starts": {
"type": [
"string",
"null"
]
},
"sunset": {
"type": [
"string",
"null"
]
},
"dusk": {
"type": [
"string",
"null"
]
},
"night": {
"type": [
"string",
"null"
]
},
"day_length_hours": {
"type": [
"number",
"null"
]
},
"polar": {}
}
},
"moon": {
"type": [
"object",
"null"
],
"properties": {
"phase": {
"type": [
"string",
"null"
]
},
"phase_fraction": {
"type": [
"number",
"null"
]
},
"illumination_pct": {
"type": [
"number",
"null"
]
},
"rise": {
"type": [
"string",
"null"
]
},
"set": {
"type": [
"string",
"null"
]
},
"always_up": {
"type": [
"boolean",
"null"
]
},
"always_down": {
"type": [
"boolean",
"null"
]
}
}
}
}
}社区
证据