Skip to main content
Glama
kevynf

AKBridge MCP Server

by kevynf

air_quality_hist

Read-onlyIdempotent

Fetch historical air quality data by city, time frequency, and date range to analyze pollution trends over time.

Instructions

真气网-空气历史数据 https://www.zq12369.com/ :param city: 调用 ak.air_city_table() 接口获取所有城市列表 :type city: str :param period: "hour": 每小时一个数据,由于数据量比较大,下载较慢;"day": 每天一个数据;"month": 每个月一个数据 :type period: str :param start_date: e.g., "20190327" :type start_date: str :param end_date: e.g., "20200327" :type end_date: str :return: 指定城市和数据频率下在指定时间段内的空气质量数据 :rtype: pandas.DataFrame

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNo杭州
periodNoday
end_dateNo20200427
start_dateNo20190327

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld/destructive=false, so the safety profile is covered. The description adds a genuine behavioral trait beyond annotations — hourly granularity is slow to download — plus the city-list dependency, but says nothing about rate limits or response shape beyond rtype.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and source, then organized :param blocks with no filler. Slightly heavier than needed due to the URL and :type/:rtype scaffolding, but every line carries information (dependencies, format, tradeoffs).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with 0% schema coverage and no output schema, the description covers every parameter, the return type (pandas.DataFrame), the city-list dependency, and the period tradeoff. An agent has enough to call it correctly; only error/edge behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load, and it does: it documents all four parameters, explains the period values ('hour'/'day'/'month') with their data-volume tradeoff, gives date format examples ("20190327"), and points to air_city_table for valid cities. Only the exact city-value format is left implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the source (真气网/zq12369.com) and states it returns historical air quality data for a city/period range, which is a specific verb+resource. It distinguishes itself from realtime siblings like air_quality_watch_point by the '历史数据' framing, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a prerequisite hint (call ak.air_city_table() to get the city list) and warns that 'hour' downloads are slow due to large data volume, which is useful guidance. However there is no explicit when-to-use / when-not-to-use versus the many air_quality_* siblings, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools