Unhcr Refugees Mcp Server

io.github.cyanheads由 GitHub 帳號 cyanheads 發布v0.3.0更新於 Nov 4, 2026

Query UNHCR refugee, IDP, and stateless populations, asylum decisions, returns, and resettlement.

已驗證Streamable HTTP可網頁執行資料庫資料與分析

概覽

AI 產生的概覽

查詢聯合國難民署難民資料:難民、境內流離失所者與無國籍人口存量、庇護申請與決定、返鄉與安置,並可對暫存結果執行唯讀 SQL。

可以做什麼
  • 查詢參考資料:國家與 ISO 代碼、區域、各資料集涵蓋年份、人口類型與庇護代碼
  • 依來源國與庇護國取得年末流離失所存量,可選依性別與年齡層的人口結構
  • 取得年度庇護申請與決定,含難民認定率與整體保護率
  • 取得持久解決方案流量:難民返鄉、重新安置、入籍與境內流離失所者返鄉
  • 描述暫存的結果表,並對其執行單一唯讀 SQL SELECT,可將結果另存為新表
適用情境
適合需要權威、可引用的流離失所數據進行研究、報告或分析時;也適合 UNHCR 結果集龐大、需以 SQL 彙總與關聯而非逐列閱讀的情境。
執行需求
可作為遠端託管端點使用,也可透過 npx(Node.js)或 Docker 在本機執行;UNHCR 介面免金鑰,不需要帳號或 API key。所有環境變數皆為選用(傳輸方式、連接埠、驗證模式、快取、列數上限、資料表有效期)。資料表功能依賴 DuckDB,npm 與 Docker 安裝已包含。
安裝前請注意
託管執行個體的所有呼叫端共用同一個請求佇列與同一個資料表工作區,暫存表對其他呼叫端可見,且該處停用列表功能。暫存表會過期(預設 24 小時),超過總列數預算時最舊的會先被清除。低於 5(庇護決定低於 10)的計數會被取整,null 代表不適用而非零;UNRWA 與 IDMC 資料屬第三方系列,另有其條款;資料為 CC BY 4.0,本伺服器與 UNHCR 無關且未獲其背書。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Unhcr Refugees Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.cyanheads%2Funhcr-refugees-mcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "unhcr-refugees": {
      "type": "http",
      "url": "https://unhcr-refugees.caseyjhand.com/mcp"
    }
  }
}

README

@cyanheads/unhcr-refugees-mcp-server

Query UNHCR refugee, IDP, and stateless populations, asylum decisions, returns, and resettlement via MCP. STDIO or Streamable HTTP.

8 Tools (+1 opt-in)


Overview

Refugee and displacement statistics from the UNHCR Refugee Data Finder: refugee, asylum-seeker, IDP, and stateless populations since 1951, asylum applications and decisions since 2000, and returns and resettlement since 1959. Pull annual figures by country of origin and asylum, and run SQL over large results. No API key required.

Tools

ToolDescription
unhcr_list_referenceDecode countries (ISO3, ISO2, and UNHCR codes, names, regions), regional bureaus, dataset coverage years, population types, and asylum codes
unhcr_get_populationYear-end displacement stocks by origin and/or asylum country from 1951, with UNRWA and IDMC series alongside and an optional current-year nowcast
unhcr_get_demographicsYear-end stocks by population type, sex, and age band from 2001, with the share UNHCR could disaggregate
unhcr_get_asylum_applicationsAsylum applications lodged per year from 2000, split by application stage by default
unhcr_get_asylum_decisionsAsylum decisions per year from 2000 by outcome, with the Refugee Recognition Rate and Total Protection Rate
unhcr_get_solutionsRefugee returns, resettlement, naturalisation, and IDP returns per year from 1959
unhcr_dataframe_describeDescribe a staged dataframe by name, or list them all where listing is on, with provenance, expiry, completeness, and column schema
unhcr_dataframe_queryRun one read-only SQL SELECT across staged dataframes, optionally saving the result as a new one
unhcr_dataframe_dropDrop a staged dataframe before its TTL — opt-in, absent from tools/list by default

unhcr_dataframe_drop is registered only when UNHCR_DATAFRAME_DROP_ENABLED=true; the other eight tools are always advertised.

Dataframe workflow

  1. A unhcr_get_* call whose full result exceeds limit, or that sets stage: true, stages every row as a df_XXXXX_XXXXX table and returns its handle in dataset (nowcast_dataset for unhcr_get_population's nowcast).
  2. unhcr_dataframe_describe lists the staged tables with their columns, source call, and expiry. Listing is off over HTTP with MCP_AUTH_MODE=none, so there describe each table by the name in dataset or nowcast_dataset.
  3. unhcr_dataframe_query runs one read-only DuckDB SELECT across them; register_as saves the result as a new table for the next query.
  4. Tables expire after UNHCR_DATASET_TTL_SECONDS (24 hours by default). With UNHCR_DATAFRAME_DROP_ENABLED=true, unhcr_dataframe_drop removes one sooner. Once a tenant's staged rows pass 1,000,000, the oldest tables are evicted first, and the call that pushed the total over names them in evicted.

Dataframes run on DuckDB's native binding, which the npm and Docker installs carry. The Claude Desktop .mcpb bundle ships without it, so there the data tools answer inline only. Set CANVAS_PROVIDER_TYPE=none to turn dataframes off anywhere.

Agent skill

skills/unhcr-refugees-guide is a published Agent Skill. It covers the checks to make before summing or comparing UNHCR figures: which columns a total adds, stateless people under origin XXA, the two Palestine refugee series, the nowcast's missing origin, bureau and EU totals in SQL, filters that drop whole countries, units that switch between years, demographic shares, and footnotes. Plugin installs and the .mcpb bundle pick it up from the skills/ folder, and MCP clients that support skills read it as skill://unhcr-refugees-guide/SKILL.md.

Capability reference

The five unhcr_get_* tools share one contract:

  • Scope: origin and asylum take ISO3 codes, case-insensitive, as a string or a list, up to 250 distinct codes each, enough to list every country. ISO2 codes are rewritten to ISO3; UNHCR's own codes and country names are rejected. Each listed code returns its own rows, and an omitted dimension is summed into one row unless expand (origin, asylum, or both) lists every country. year_from / year_to default to the dataset's span and are clamped to it.
  • Rows: the full result is sorted by sort_by, then cut to limit (default 25, cap 2,000). A larger limit is served at 2,000 with a notice naming the requested and effective values, even for an empty or small result; with UNHCR_CLAMP_LIMITS=false it is rejected instead. Where dataframes are on, the full set of a larger result is staged, and stage: true stages a result that fits too.
  • Output: total_rows, complete (false when UNHCR_MAX_ROWS stopped the fetch), measure (stock or flow), applied_scope, latest_year, dataset when staged, data_notes, and attribution.
  • Errors: unknown_country_code, invalid_year_window, year_out_of_coverage, conflicting_scope, too_many_country_codes, and the retryable upstream_busy, which carries retryAfter.

unhcr_list_reference tool

  • topic: countries, regions, coverage, population_types, or asylum_codes. With countries, name_contains keeps countries whose names contain every word given, or whose ISO3, ISO2, or UNHCR code equals one; there is no fuzzy matching
  • coverage gives each dataset's first_year, latest_year, and measure, plus the month of the current nowcast
  • Countries, regions, and coverage come from the live API and are cached for 24 hours; population types and asylum codes are static, and asylum codes UNHCR's methodology does not define carry documented: false

unhcr_get_population tool

  • Year-end stocks refugees, asylum_seekers, oip, idps, stateless, ooc, and hst, plus returned_refugees and returned_idps, which are flows during the year; sort_by takes any of them or year
  • unrwa_refugees (Palestine refugees registered with UNRWA) and idmc_conflict_idps (IDMC's conflict-IDP estimate) sit beside a row when that series has one and are never added into UNHCR's counts. Matching UNHCR footnotes come back too, up to 20, with footnotes_total; caveats on the inline rows come first
  • include_nowcast: true appends UNHCR's current-year monthly estimate of refugees and asylum-seekers by asylum country, sorted by refugees or asylum_seekers when sort_by names one, cut to limit with nowcast_total, and staged as its own dataframe (nowcast_dataset) when it overflows or stage is set; it is skipped when origin lists codes

unhcr_get_demographics tool

  • population_types filters to REF, ASY, OIP, IDP, STA, OOC, HST, RET, or RDP; sort_by takes year or total
  • Each row is one population type: total, fourteen sex × age bands (female_0_4 … female_60_plus, female_unknown_age, female_total, and the male_* twins), disaggregated, and sex_disaggregated_share (0–1). Bands are null where UNHCR has no breakdown
  • Totals come from a separate collection and need not match unhcr_get_population; matching footnotes come back as there

unhcr_get_asylum_applications tool

  • split_by names which of authority, stage, and decision_level stay separate rows (default ["stage"]; [] gives one total per year, scope, and unit). stages filters before summing, e.g. ["N"] for new applications; sort_by takes year or applied
  • Each row lists the authorities, stages, and decision_levels codes summed into it, its unit (persons or cases), and applied. Cases are never added to persons

unhcr_get_asylum_decisions tool

  • split_by names which of authority and decision_level stay separate rows (default [], all summed, as UNHCR does for its rates). decision_levels filters before summing, e.g. ["FI"] for first instance
  • Each row carries recognized, complementary_protection, rejected, otherwise_closed, total_decisions, substantive_decisions, and a unit, plus refugee_recognition_rate and total_protection_rate as percentages of substantive decisions. A rate is null when that denominator is 0 or null
  • sort_by takes year or a count (total_decisions, substantive_decisions, recognized, rejected); rates are not sortable

unhcr_get_solutions tool

  • Flows returned_refugees, resettlement, naturalisation, and returned_idps; sort_by takes any of them or year. Matching footnotes come back as with population
  • The asylum country means something different per column: the country refugees returned from, the country they were resettled to, the country that naturalised them. IDP returns sit on the origin country itself

unhcr_dataframe_describe tool

  • Optional name (df_XXXXX_XXXXX); omit it to list every staged table, newest first. Over HTTP with MCP_AUTH_MODE=none listing is off and name is required
  • Each entry gives source_tool, query_params, created_at, expires_at, row_count, complete, incomplete_sources, providers, and column_schema. Saved descendants retain original incomplete-source handles after their ancestors expire or are evicted. Staged tables add origin_unhcr_region, origin_unsd_region, asylum_unhcr_region, and asylum_unsd_region columns the inline rows omit

unhcr_dataframe_query tool

  • sql is one DuckDB SELECT of at most 20,000 characters; joins, aggregates, window functions, and CTEs work. Writes, DDL, PRAGMA, ATTACH, file references, external-data functions, engine introspection (current_setting, current_schema, current_schemas, in_search_path), dynamic table lookup (query_table), and system catalogs are rejected with a typed reason. query() accepts only a single SQL string literal, checked by the same gate
  • row_limit caps the rows the query materializes, and row_count_capped flags a capped result. It defaults to 1,000, or to the canvas row cap (CANVAS_DEFAULT_ROW_LIMIT, 10,000 by default) when that is lower, and a larger value returns the canvas row cap with a notice naming requested and effective values. register_as saves the whole result under a new df_XXXXX_XXXXX name with a fresh TTL. It counts toward the 1,000,000-row staging budget, and a result that alone exceeds it fails register_as_too_large
  • preview sets the rows returned inline: default 25, at most 1,500 or row_limit, whichever is lower, with the same notice above the cap. preview: 0 returns the columns and counts with no rows. With UNHCR_CLAMP_LIMITS=false, a row_limit above the canvas row cap or a preview above 1,500 fails validation instead
  • SUM and COUNT values come back as strings (BIGINT). attribution credits the third-party series of every table the SQL reads
  • complete and incomplete_sources describe upstream coverage independently of display truncation: aggregates, joins and saved descendants remain partial if an original source was partial
  • Every returned value is whole on both surfaces. Results with plain labels and cells use Markdown tables; values needing exact whitespace, control characters, nested structures or Markdown syntax use fenced JSON

unhcr_dataframe_drop tool

  • name (df_XXXXX_XXXXX); returns dropped: false when nothing matched, so repeating a call is safe
  • Registered only when UNHCR_DATAFRAME_DROP_ENABLED=true; otherwise the per-table TTL reclaims staged tables

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

UNHCR-specific:

  • Keyless client for the API behind UNHCR's Refugee Data Finder (api.unhcr.org/population/v1). The API ignores unknown parameters and lone year bounds rather than rejecting them, so the server sends only allowlisted parameters, always pairs the year bounds, and pins ISO3 country matching (cf_type=ISO)
  • Shared request queue: paced request starts (UNHCR_REQUESTS_PER_SECOND), at most two in flight, a cooldown after a 429, identical requests collapsed into one, a response cache, and a 45-second budget per call
  • UNHCR's reading of the numbers: stocks and flows labelled as such, UNHCR's "-" returned as null rather than zero, cases never added to persons, recognition rates over UNHCR's substantive-decision denominator
  • UNHCR rounds counts below 5 (below 10 for asylum decisions) to the nearest multiple of 5, so small values are approximate
  • Every result carrying UNHCR figures cites the "UNHCR Refugee Population Statistics Database" (CC BY 4.0) with a link to UNHCR's Terms of Use for Datasets. UNRWA and IDMC figures are those providers' own series, carried through UNHCR's API; attribution.providers credits them whenever they appear, since their own conditions may apply

Agent-friendly output:

  • Provenance on every data result: applied_scope echoes the codes, year window, and ISO2 rewrites actually sent, alongside latest_year, measure, complete, and attribution
  • Caveats as data: data_notes say how to read each result (stock or flow, rounding, what null means), and matching UNHCR footnotes arrive with rows_matched
  • Typed failures with recovery hints: unknown_country_code suggests the ISO3 for a UNHCR code, year_out_of_coverage names the dataset's span, upstream_busy carries retryAfter
  • Nothing trimmed silently: year and limit clamps, empty-result hints, truncation, and where the full set was staged all arrive as a notice in the response

Getting started

Connect to the hosted instance, no install:

sh
claude mcp add --transport http unhcr-refugees-mcp-server https://unhcr-refugees.caseyjhand.com/mcp

Every caller of the hosted instance shares one UNHCR request queue and one dataframe workspace, so unhcr_dataframe_describe takes a table's exact name there; listing is off.

Or run it locally:

sh
claude mcp add unhcr-refugees-mcp-server -- npx -y @cyanheads/unhcr-refugees-mcp-server

For other clients, add this to the MCP config file:

json
{  "mcpServers": {    "unhcr-refugees-mcp-server": {      "command": "npx",      "args": ["-y", "@cyanheads/unhcr-refugees-mcp-server"]    }  }}

UNHCR's API is keyless, so no key or account is needed, and every variable under Configuration is optional. For Docker or a source build, see Running the server.

Configuration

VariableDescriptionDefault
UNHCR_REQUESTS_PER_SECONDUpstream request starts per second for the whole process (1–10). Every caller of an HTTP instance shares it.4
UNHCR_MAX_ROWSMost upstream rows one tool call fetches (10,000–500,000). A larger result stops at the cap and reports complete: false.150000
UNHCR_CACHE_MAX_MBResponse-cache budget in MB; 0 disables it. Reference data (countries, regions, coverage, footnotes) has its own cache, always on.64
UNHCR_DATASET_TTL_SECONDSLifetime of a staged dataframe, in seconds (minimum 60).86400
UNHCR_DATAFRAME_DROP_ENABLEDSet true to register unhcr_dataframe_drop.false
UNHCR_CLAMP_LIMITSServes limit, preview, and row_limit above their cap at the cap, with a notice. Set false to advertise each cap as a schema maximum and reject a larger value.true
CANVAS_PROVIDER_TYPEDataframe engine: duckdb, or none to turn dataframes off.duckdb
CANVAS_DEFAULT_ROW_LIMITMost rows one unhcr_dataframe_query call materializes; the cap on row_limit, and its default when below 1,000.10000
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTHTTP server port.3010
MCP_SESSION_MODEHTTP session mode: stateless, stateful, or auto.stateless
MCP_AUTH_MODEAuthentication: none, jwt, or oauth.none
MCP_LOG_LEVELLog level (debug, info, warning, error, etc.).info
LOGS_DIRDirectory for log files (Node.js only).<app-root>/logs
STORAGE_PROVIDER_TYPEStorage backend: in-memory, filesystem, supabase, cloudflare-kv/r2/d1.in-memory
OTEL_ENABLEDEnable OpenTelemetry.false

See .env.example for the full list of optional overrides.

Running the server

Local development

Requires Bun v1.4.0 or higher (or Node.js v24+).

  • Clone and install:

    sh
    git clone https://github.com/cyanheads/unhcr-refugees-mcp-server.gitcd unhcr-refugees-mcp-server && bun installcp .env.example .env   # optional: every variable has a working default
  • Build and run the production version:

    sh
    # One-time buildbun run rebuild
    # Run the built serverbun run start:http# orbun run start:stdio
  • Run checks and tests:

    sh
    bun run devcheck   # Lints, formats, type-checks, and morebun run test       # Runs the test suitebun run test:live  # Opt-in: re-checks the upstream behaviors the client relies on against api.unhcr.org

Docker

sh
docker run --rm -p 3010:3010 ghcr.io/cyanheads/unhcr-refugees-mcp-server:latest

The image defaults to HTTP transport, stateless session mode, and logs to /var/log/unhcr-refugees-mcp-server. To run it over stdio from an MCP client, use "command": "docker" with "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/unhcr-refugees-mcp-server:latest"]. To build locally, docker build -t unhcr-refugees-mcp-server .; OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.

Project structure

DirectoryPurpose
src/index.tscreateApp() entry point: server instructions, tool registration, service setup.
src/configServer-specific environment variable parsing and validation with Zod.
src/mcp-server/tools/definitionsTool definitions (*.tool.ts) and the registration list that gates unhcr_dataframe_drop.
src/mcp-server/tools/sharedScope inputs, output schemas, result shaping, and markdown rendering shared by the data tools.
src/services/unhcrUNHCR API client — request builder, paced fetch, response cache, reference data, normalization, asylum aggregation, footnote matching.
src/services/canvas-bridgeAdapter to the framework DataCanvas — dataframe naming, provenance, expiry, and the read-only SQL gate.
skills/The published agent skill, served over MCP and shipped in every package.
tests/Unit tests mirroring the src/ and scripts/ structure, plus the opt-in live suite in tests/live/.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for logging, ctx.state for storage
  • Register new tools in buildToolDefinitions() in src/mcp-server/tools/definitions/index.ts
  • Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields

Contributing

Issues are welcome. Run checks and tests before submitting:

sh
bun run devcheckbun run test

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

The data belongs to UNHCR and is published under CC BY 4.0 and UNHCR's Terms of Use for Datasets. This project is independent of UNHCR and not endorsed by it.

來源:README.md,提交 7d1cb41

工具

8

unhcr_list_reference

UNHCR reference vocabulary

Decode the vocabulary the unhcr_* tools take as input: countries (ISO3, ISO2, UNHCR code, names, UNHCR and UN regions), UNHCR’s regional bureaus, each dataset’s first and latest year, population-type definitions, and the asylum authority, stage, decision-level, and unit codes. Filter countries with name_contains to turn a country name into the ISO3 code that origin and asylum take.

輸入參數topic必填name_contains

unhcr_get_population

UNHCR displacement stocks

Get UNHCR year-end displacement stocks (1951 to the latest year) by country of origin and/or asylum: refugees, asylum-seekers, other people in need of international protection, IDPs, stateless people, others of concern, and host communities, plus refugees and IDPs who returned during the year. Stocks count people in a situation on 31 December, not arrivals. Palestine refugees under UNRWA's mandate and IDMC's conflict-IDP estimate are separate series shown beside each row. Set include_nowcast for UNHCR's current-year estimate by asylum country; for sex and age breakdowns, use unhcr_get_demographics.

輸入參數limitstageasylumexpandoriginsort_byyear_toyear_frominclude_nowcast

unhcr_get_demographics

UNHCR demographics

Get UNHCR year-end stocks (2001 to the latest year) broken down by population type, sex, and age band (0–4, 5–11, 12–17, 18–59, 60+, unknown age), by country of origin and/or asylum. Coverage is partial: each row gives the share of its total that UNHCR could disaggregate by sex, and age bands are null where no breakdown exists. These totals come from a separate collection and need not match unhcr_get_population.

輸入參數limitstageasylumexpandoriginsort_byyear_toyear_frompopulation_types

unhcr_get_asylum_applications

UNHCR asylum applications

Get asylum applications lodged per year (2000 to the latest year) by country of origin and/or asylum, split by default into application stage — new, repeat, appeal, and the combined stages some countries report — so new claims are not added to appeals of old ones. Counts given as cases are never added to counts of persons; each row states its unit. Decode stage, authority, and decision-level codes with unhcr_list_reference (topic asylum_codes).

輸入參數limitstageasylumexpandoriginstagessort_byyear_tosplit_byyear_from

unhcr_get_asylum_decisions

UNHCR asylum decisions

Get asylum decisions per year (2000 to the latest year) by country of origin and/or asylum: recognized as refugees, complementary protection, rejected, and otherwise closed, with UNHCR's Refugee Recognition Rate and Total Protection Rate computed over substantive decisions (otherwise-closed cases excluded). By default all decision levels are summed and each row lists the levels it includes; appeal-stage decisions can concern people already decided at first instance, so split_by decision_level or filter decision_levels to FI for first-instance rates. Cases and persons are never added together.

輸入參數limitstageasylumexpandoriginsort_byyear_tosplit_byyear_fromdecision_levels

unhcr_get_solutions

UNHCR durable solutions

Get durable solutions per year (1959 to the latest year) by country of origin and/or asylum: refugees who returned home, refugees resettled to a third country, refugees naturalised, and IDPs who returned. The asylum country means something different per column: the country refugees returned from, the country they were resettled to, the country that naturalised them; IDP returns sit on the origin country itself. Null means the figure was not collected for that country and year, not zero.

輸入參數limitstageasylumexpandoriginsort_byyear_toyear_from

unhcr_dataframe_describe

Describe staged dataframes

Describe a dataframe (df_XXXXX_XXXXX) staged by the unhcr_get_* tools — any response carrying a dataset or nowcast_dataset handle staged its full result here — or list them all where this deployment allows listing. Each entry gives the source tool, query parameters, creation and expiry time, row count, whether the upstream fetch was complete, and the column schema. Read the columns here before writing SQL for unhcr_dataframe_query.

輸入參數name

unhcr_dataframe_query

Query staged dataframes

Run a single-statement SELECT against the dataframes staged by the unhcr_get_* tools. Check a dataframe’s columns with unhcr_dataframe_describe first. Writes, DDL, DROP, COPY, PRAGMA, ATTACH, file references, external-data functions, engine introspection, dynamic table lookup, and system catalogs are rejected; query() accepts only a single SQL string literal, checked by the same gate. Optional register_as saves the result as a new dataframe with a fresh TTL. Recompute rates from summed counts rather than averaging rate columns.

輸入參數sql必填previewrow_limitregister_as

版本歷史

4
  1. v0.3.0最新Nov 4, 2026
  2. v0.2.0Oct 20, 2026
  3. v0.1.2Oct 4, 2026
  4. v0.1.1Sep 27, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分