netcafe-live-data
Server Details
Live data: weather, air quality, FX, CN/HK/US stocks, IP geo, domain, SSL, China reachability.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- mario03690/ai-netcafe
- GitHub Stars
- 1
- Server Listing
- ai-netcafe
TDQS
Scored across 11 tools
Each tool targets a clearly separate resource: vulnerabilities, China reachability, domain registration, currency, air quality, weather, IP, package metadata, TLS, SQL dialect, and meta-routing. Even superficially similar tools like package_info and check_vulns are clearly differentiated by their descriptions.
All names are lowercase snake_case, but conventions vary: verb-first (check_vulns, get_weather, transpile_sql), object-first (domain_check, ssl_check, ip_lookup), noun-only (exchange_rate, package_info, china_reachability), and one sentence-style name (what_can_you_do). This is readable but not a uniform pattern.
11 tools is a well-sized collection for a general utility/data server; each has a distinct single-purpose job and none feel redundant. The count is comfortably within the ideal range.
As a read-only live-data and inspection toolkit, the main lookup categories are covered and there are no dead-end workflows. Some optional capabilities like historical rates, batch comparisons, or DNS record lookups are missing, but agents can accomplish the stated tasks without them.
Available Tools
11 toolscheck_vulnsCheck a package for known vulnerabilitiesARead-onlyIdempotentInspect
Query OSV.dev for known CVE/GHSA vulnerabilities affecting a package (optionally a specific version), and get the versions they were fixed in. Use it when reviewing dependencies or a lockfile. Covers npm, PyPI, crates.io, Go, Maven, NuGet and Packagist.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name. | |
| version | No | Exact version to check, e.g. "4.17.15". Omit to list all known vulns for the package. | |
| ecosystem | No | npm (default) | pypi | crates | go | maven | nuget | packagist |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by naming the external service (OSV.dev), listing supported ecosystems, and noting optional version filtering. This helps set expectations for network dependency and scope, even though rate limits or failure modes are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and output, then usage guidance and ecosystem list. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core function, usage context, and scope. With an output schema present and good annotations, this is complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already explains the parameters clearly (e.g., version optional, ecosystem default). The description adds minimal extra meaning, mostly clarifying vulnerability types (CVE/GHSA) and that fixed versions are returned, which is more about output than parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: query OSV.dev for known CVE/GHSA vulnerabilities affecting a package, and get the versions they were fixed in. It uses a specific verb + resource, and is distinct from sibling tools like package_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: 'Use it when reviewing dependencies or a lockfile.' It also states the supported ecosystems, giving practical guidance. However, it does not explicitly exclude alternatives (e.g., package_info) or mention when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
china_reachabilityTest if a URL is reachable from mainland ChinaARead-onlyIdempotentInspect
Fetch a URL from a real mainland-China network egress and report HTTP status, latency and China DNS resolution. Answers "is my site/API usable from China?" with a measurement instead of a guess — you cannot get this from a VPS abroad.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL to test, e.g. https://example.com |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds meaningful context: it performs a live fetch from a real China egress, reports specific metrics, and frames the result as a measurement rather than a guess. No contradictions with annotations. It does not mention rate limits or failure behavior, but annotations cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action verb, and every word earns its place. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (1 parameter, output schema provided). The description fully explains the tool's purpose, the measurement approach, and the key limitation of alternatives. Return values are already covered by the output schema, so no further detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the 'url' parameter described as 'Full URL to test, e.g. https://example.com'. The description restates the URL-fetching concept but doesn't add new parameter-level detail or format constraints beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Fetch a URL from a real mainland-China network egress') and the resource/scope ('URL reachability from China'), with measurable outputs (HTTP status, latency, DNS resolution). This distinguishes it from all sibling tools, which are unrelated to network testing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clarifies when to use the tool: to answer 'is my site/API usable from China?' and explicitly notes that a VPS abroad cannot provide this measurement. While it doesn't name a specific alternative tool, it gives strong contextual guidance and an implicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domain_checkDomain availability / whoisARead-onlyIdempotentInspect
Check if a domain is registered via official RDAP: availability, registrar, created/expiry dates, nameservers.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. example.com |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds context by specifying the data source (official RDAP) and the returned fields, which goes beyond the annotations. There is no mention of rate limits or failure modes, but for a simple read-only tool this is sufficient, earning a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-constructed sentence that front-loads the core purpose and lists the key outputs. It is extremely concise with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no nested objects, the description adequately covers the tool's purpose and behavior. An output schema exists, so return values need not be explained. It is complete for its simplicity, though it could mention error conditions for unsupported TLDs, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (single 'domain' parameter with a 'e.g. example.com' description). The tool description does not add parameter-specific details, so it meets the baseline of 3 without enriching the parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies a clear action ('Check if a domain is registered') via a specific protocol (official RDAP) and lists the resource details returned (availability, registrar, dates, nameservers). This distinguishes it from sibling tools like ssl_check, which addresses a different aspect of domain inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use for domain registration checks but does not explicitly state when to use it instead of sibling tools like ssl_check. No exclusions or alternative guidance is provided, so usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exchange_rateLive exchange ratesARead-onlyIdempotentInspect
Live currency exchange rate: one pair with conversion, or a major-currency table for a base currency.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Target currency code; omit for a table | |
| from | No | Base currency code, default USD | |
| amount | No | Amount to convert, default 1 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and idempotent. The description adds behavioral context by explaining the two return modes (conversion vs. table) and that the data is 'live.' No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, neatly front-loaded sentence concisely conveys the tool's purpose and modes without waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of full schema descriptions, output schema, and safety annotations, the description adequately covers the tool's behavior. It explains both operational modes, which is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter. The description reinforces the purpose of 'to' (omit for table) but adds no additional syntax, format, or edge-case information beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: providing live currency exchange rates with two modes—a single pair conversion or a table for a base currency. It distinguishes itself from sibling tools (weather, stock quotes, etc.) by its specific domain and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (for live currency rates) and the two usage scenarios (pair conversion or base-currency table). It doesn't explicitly exclude alternatives, but sibling tools are obviously different domains, making the intended use clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_air_qualityLive air quality (AQI)ARead-onlyIdempotentInspect
Live air quality for any city: US/European AQI, PM2.5, PM10, ozone.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | city name, e.g. 北京 | |
| latitude | No | ||
| longitude | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds 'Live' to indicate real-time data and 'any city' to indicate broad geographic coverage, but it does not disclose data freshness, latency, or potential limitations. Given the annotations, this is adequate, though not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the core function. No filler or redundancy. It earns its place by listing specific data types, which is highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with optional parameters and an output schema, but the description lacks guidance on how latitude/longitude interact with city, or whether city is sufficient. While the output schema may cover return values, the incomplete parameter semantics leave a gap in overall context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'city' has a description). The description mentions 'any city' but does not explain the purpose or usage of latitude/longitude parameters. Since the schema does not document them either, the description fails to compensate for the low coverage, leaving two parameters semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Live air quality for any city: US/European AQI, PM2.5, PM10, ozone' clearly states the tool provides air quality data, specifies the metrics (AQI, PM2.5, PM10, ozone), and distinguishes it from siblings like get_weather. The verb 'get' in the name plus the descriptive resource makes the purpose immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when the user needs air quality data, but it does not explicitly state when to use it over alternatives (e.g., get_weather) or mention any exclusions. No when-not-to-use guidance is provided, so it relies on the user to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weatherGet current weatherARead-onlyIdempotentInspect
Current weather and short forecast for a city or coordinates. Works for Chinese cities too.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude (alternative to city). | |
| lon | No | Longitude (alternative to city). | |
| city | No | City name, e.g. "Shanghai" / "上海". Or pass lat/lon. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose read-only and idempotent behavior, so the description does not need to repeat that. It adds valuable behavioral context beyond annotations: it states the output includes a 'short forecast' and that Chinese city names (including Chinese characters) are supported. This is more than the schema provides and helps the agent set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the primary function, input options, and a special capability. Every word earns its place, with no filler or repetition. Structure is optimal for quick agent comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only weather tool with 3 parameters, full schema coverage, annotations, and an output schema, the description is complete. It covers the core purpose, input modes, and a key localization feature. No additional behavior needs to be disclosed; any output details are handled by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for each parameter (lat, lon, city), including an example with Chinese characters. The description adds only slight reinforcement by saying 'for a city or coordinates', but this is already evident from the schema. With high schema coverage, a baseline of 3 is appropriate; no additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: returns current weather and a short forecast. It distinguishes from sibling tools (which focus on other domains like security, finance, domain info) by specifying weather for a city or coordinates. The added note about Chinese cities further clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by specifying input options ('for a city or coordinates'), so an agent knows when to invoke it. It does not explicitly mention when not to use it or alternatives, but sibling tools are distinct enough that the purpose itself implies usage. No exclusions are stated, which is acceptable for a simple weather tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ip_lookupIP geolocationBRead-onlyIdempotentInspect
IP address geolocation and ISP: country, region, city, ISP, timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | IPv4/IPv6; omit for caller IP |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the output fields (country, region, city, ISP, timezone), which provides some behavioral context about the return data. However, it does not disclose other traits like rate limits or error behavior, but the low complexity and existing annotations make this adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that lists the core output fields without any fluff or redundant explanations. Every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with one optional parameter, an output schema, and clear annotations, the description is sufficient. It covers the purpose and key return values. The only gap is the lack of explicit usage context, but the simplicity of the tool makes this a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the 'ip' parameter clearly documented as 'IPv4/IPv6; omit for caller IP'. The description adds no additional parameter semantics beyond what the schema already provides. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (IP address) and the function (geolocation and ISP), listing specific fields like country, region, city, and timezone. While it lacks an explicit verb, the name 'ip_lookup' and title 'IP geolocation' make the action clear. It distinguishes itself from sibling tools by focusing on IP-specific data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. The only usage hint ('omit for caller IP') appears in the schema, not the description. The purpose is implied but not directly stated as a use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
package_infoLook up a package (npm / PyPI / crates / Go)ARead-onlyIdempotentInspect
Latest version, license, repo, description, dependencies and weekly downloads for any public package. Use it before adding a dependency, or to check whether the version in a lockfile is current.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name, e.g. "react", "requests", "serde", "github.com/gin-gonic/gin". | |
| ecosystem | No | npm (default) | pypi | crates | go |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is known. The description adds valuable context about the scope ('any public package') and the kind of data returned, which goes beyond what annotations provide. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action and key output fields. Every word serves a purpose, with no fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low parameter count (2), full schema coverage, and presence of an output schema, the description is complete. It lists the main returned fields and gives practical usage context, so an agent has a full picture of what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters (name and ecosystem), so the schema already documents the parameters effectively. The description adds minimal parameter-specific meaning, but the baseline of 3 applies because no additional clarification is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Look up a package') and lists specific returned data fields (version, license, repo, description, dependencies, weekly downloads). This distinguishes it from sibling tools like ip_lookup or ssl_check, which focus on different domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'Use it before adding a dependency, or to check whether the version in a lockfile is current.' It does not mention when to avoid using it or name alternatives, but the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_checkSSL certificate checkARead-onlyIdempotentInspect
Inspect the TLS certificate of a domain: issuer, validity window, days until expiry, trust status, SANs.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. example.com |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the specific data fields returned but no additional behavioral context like rate limits or prerequisites. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loaded with the action ('Inspect the TLS certificate of a domain') followed by a compact list of returned details. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and an output schema, the description adequately conveys purpose and result contents. It lacks explicit differentiation from sibling tools but is otherwise complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides a description and example for the single 'domain' parameter, giving 100% coverage. The description adds no extra parameter semantics beyond the schema, so it meets the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Inspect the TLS certificate of a domain', providing a specific verb and resource. It lists concrete outputs (issuer, validity window, days until expiry, trust status, SANs), making the tool's purpose unmistakable and distinct from sibling tools like domain_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for TLS certificate inspection but does not explicitly state when to use it over alternatives such as domain_check. No exclusion criteria or comparison to sibling tools is provided, leaving usage guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transpile_sqlTranslate SQL between dialectsARead-onlyIdempotentInspect
Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, clickhouse, databricks, doris, starrocks and more. Deterministic parser (sqlglot), not an LLM: the same input always produces the same output, and syntax errors come back with the exact line and column. Use it when migrating queries between databases or debugging dialect-specific syntax.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | The SQL statement (or several, separated by semicolons). | |
| read | No | Source dialect, e.g. "mysql". Omit to auto-detect from generic SQL. | |
| write | Yes | Target dialect, e.g. "postgres", "bigquery", "doris". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent, but the description adds determinism ('same input always produces the same output') and exact error locations (line/column), going beyond structured metadata. This is valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each valuable: purpose, determinism, and use case. Front-loaded and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers purpose, usage, determinism, and error behavior. Output schema covers return shape. For a conversion tool with rich annotations, it's sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters at 100%, so baseline is 3. The description adds a useful list of supported dialects for read/write, aiding parameter selection, though it doesn't add much beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states a specific verb ('Convert') and resource ('a SQL statement from one dialect to another') and lists many supported dialects. It distinguishes itself from sibling formatting tools by focusing on SQL dialect conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('when migrating queries between databases or debugging dialect-specific syntax'). It doesn't mention exclusions or alternatives, but the sibling tools are unrelated, so the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_can_you_doFind the right tool for a taskARead-onlyIdempotentInspect
Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready-to-run example calls — instead of reading the whole catalogue and guessing. Also returns multi-step recipes when a task needs several tools chained (invoices to a ledger, a bank statement reconciled, a messy CSV turned into a deliverable). Deterministic and free: it calls no model, costs nothing, and never runs out of quota. Call this FIRST when you are not sure what this server offers.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What you are trying to do, e.g. "reconcile a bank statement against my books" or "把一堆发票整理成能入账的表格" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral traits not visible in annotations: deterministic, calls no model, costs nothing, and never runs out of quota. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, front-loaded with the core purpose in the first sentence and supported by recipes, cost/quota guarantees, and when-to-use guidance. Every sentence earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple context (single required string parameter, rich annotations, and an output schema), the description is complete. It covers the tool's behavior, return value highlights, performance/cost characteristics, and usage context without leaving important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'task' parameter with examples, and schema coverage is 100%. The description adds the nuance 'plain language (any language)' and emphasizes that example calls are generated, providing modest additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb+resource: describe a task and get back exactly which tools on the server do it, with ready-to-run example calls. It explicitly distinguishes itself from sibling tools by positioning itself as the meta-guide that prevents 'reading the whole catalogue and guessing.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Call this FIRST when you are not sure what this server offers.' It also clarifies the intended use case (plain-language task discovery) and contrasts with the alternative of scanning the catalogue manually, which is sufficient for a meta-tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
what_can_you_do
1 tool update
- Removed
stock_quote
5 tool updates
- Added
check_vulns - Changed
china_reachability1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"URL to test, e.g. https://your-site.com"New value: +"Full URL to test, e.g. https://example.com"
- Changed
get_weather6 fields changed- changed
Input schema / properties / city / descriptionPrevious value: -"City name, e.g. 北京 or Paris"New value: +"City name, e.g. \"Shanghai\" / \"上海\". Or pass lat/lon." - added
Input schema / properties / latAdded value: +{ + "description": "Latitude (alternative to city).", + "type": "number" +} - removed
Input schema / properties / latitudeRemoved value: -{ - "type": "number" -} - added
Input schema / properties / lonAdded value: +{ + "description": "Longitude (alternative to city).", + "type": "number" +} - removed
Input schema / properties / longitudeRemoved value: -{ - "type": "number" -} - added
Input schema / requiredAdded value: +[]
- Added
package_info - Added
transpile_sql
2 tool updates
- Added
get_air_quality - Added
ip_lookup
6 tool updates
- First observed
china_reachability - First observed
domain_check - First observed
exchange_rate - First observed
get_weather - First observed
ssl_check - First observed
stock_quote
Related MCP Connectors
Live DNS, email-auth and redirect checks, HTTP security headers, uptime history, PC hardware prices.
Real-time data API for AI Agents: stocks, weather, forex, logistics, search, scrape, news, IP.
DNS lookups, health reports, SSL certs, security scans, GEO scoring, uptime checks
Access real-time and historical market data for China A-shares and Hong Kong stocks, along with ne…
Related MCP Servers
- AlicenseAqualityBmaintenanceReal-time data API for AI Agents. 10 MCP tools covering A-share stock quotes, market overview, fund data, web search, news, weather, logistics tracking, and IP geolocation.10MIT

Ready APIsofficial
AlicenseNot gradedqualityDmaintenanceMCP tools for geo, email, phone, company, DNS, FX, equities, weather, tax, economics, and intelligence — streamable HTTP, one API key.MIT- AlicenseNot gradedqualityCmaintenanceEnables real-time weather queries for major Chinese cities and worldwide locations, with tools to fetch current conditions, list supported cities, and retrieve server information.MIT

dynamicfeed-mcpofficial
AlicenseNot gradedqualityCmaintenance62 live, cryptographically signed data tools for AI agents and robots: weather, natural hazards, flights, shipping, space, CVEs, sanctions, software versions, sea ice and more. Every datapoint carries source, licence, timestamp and an Ed25519 signature.9 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.