Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Search and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
EUROSTAT_CLAMP_LIMITS, MCP_LOG_LEVEL, EUROSTAT_BASE_URL, EUROSTAT_COMEXT_BASE_URL, EUROSTAT_REQUEST_TIMEOUT_MS, EUROSTAT_METADATA_TIMEOUT_MS, EUROSTAT_TOC_CACHE_TTL_MS, EUROSTAT_BULK_TIMEOUT_MS, EUROSTAT_BULK_MAX_BYTES, CANVAS_PROVIDER_TYPE, CANVAS_TEMP_PATH, CANVAS_TTL_MS, CANVAS_DEFAULT_ROW_LIMIT, EUROSTAT_DATAFRAME_DROP_ENABLEDต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://eurostat.caseyjhand.com/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"eurostat": {
"command": "npx",
"args": [
"-y",
"@cyanheads/eurostat-mcp-server"
],
"env": {
"EUROSTAT_CLAMP_LIMITS": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"EUROSTAT_BASE_URL": "ใส่ค่าของคุณ",
"EUROSTAT_COMEXT_BASE_URL": "ใส่ค่าของคุณ",
"EUROSTAT_REQUEST_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_METADATA_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_TOC_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"EUROSTAT_BULK_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_BULK_MAX_BYTES": "ใส่ค่าของคุณ",
"CANVAS_PROVIDER_TYPE": "ใส่ค่าของคุณ",
"CANVAS_TEMP_PATH": "ใส่ค่าของคุณ",
"CANVAS_TTL_MS": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_ROW_LIMIT": "ใส่ค่าของคุณ",
"EUROSTAT_DATAFRAME_DROP_ENABLED": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http eurostat https://eurostat.caseyjhand.com/mcpclaude mcp add eurostat --env EUROSTAT_CLAMP_LIMITS='ใส่ค่าของคุณ' --env MCP_LOG_LEVEL='ใส่ค่าของคุณ' --env EUROSTAT_BASE_URL='ใส่ค่าของคุณ' --env EUROSTAT_COMEXT_BASE_URL='ใส่ค่าของคุณ' --env EUROSTAT_REQUEST_TIMEOUT_MS='ใส่ค่าของคุณ' --env EUROSTAT_METADATA_TIMEOUT_MS='ใส่ค่าของคุณ' --env EUROSTAT_TOC_CACHE_TTL_MS='ใส่ค่าของคุณ' --env EUROSTAT_BULK_TIMEOUT_MS='ใส่ค่าของคุณ' --env EUROSTAT_BULK_MAX_BYTES='ใส่ค่าของคุณ' --env CANVAS_PROVIDER_TYPE='ใส่ค่าของคุณ' --env CANVAS_TEMP_PATH='ใส่ค่าของคุณ' --env CANVAS_TTL_MS='ใส่ค่าของคุณ' --env CANVAS_DEFAULT_ROW_LIMIT='ใส่ค่าของคุณ' --env EUROSTAT_DATAFRAME_DROP_ENABLED='ใส่ค่าของคุณ' -- npx -y @cyanheads/eurostat-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"eurostat": {
"url": "https://eurostat.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"eurostat": {
"command": "npx",
"args": [
"-y",
"@cyanheads/eurostat-mcp-server"
],
"env": {
"EUROSTAT_CLAMP_LIMITS": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"EUROSTAT_BASE_URL": "ใส่ค่าของคุณ",
"EUROSTAT_COMEXT_BASE_URL": "ใส่ค่าของคุณ",
"EUROSTAT_REQUEST_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_METADATA_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_TOC_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"EUROSTAT_BULK_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_BULK_MAX_BYTES": "ใส่ค่าของคุณ",
"CANVAS_PROVIDER_TYPE": "ใส่ค่าของคุณ",
"CANVAS_TEMP_PATH": "ใส่ค่าของคุณ",
"CANVAS_TTL_MS": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_ROW_LIMIT": "ใส่ค่าของคุณ",
"EUROSTAT_DATAFRAME_DROP_ENABLED": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"eurostat": {
"type": "http",
"url": "https://eurostat.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"eurostat": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/eurostat-mcp-server"
],
"env": {
"EUROSTAT_CLAMP_LIMITS": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"EUROSTAT_BASE_URL": "ใส่ค่าของคุณ",
"EUROSTAT_COMEXT_BASE_URL": "ใส่ค่าของคุณ",
"EUROSTAT_REQUEST_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_METADATA_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_TOC_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"EUROSTAT_BULK_TIMEOUT_MS": "ใส่ค่าของคุณ",
"EUROSTAT_BULK_MAX_BYTES": "ใส่ค่าของคุณ",
"CANVAS_PROVIDER_TYPE": "ใส่ค่าของคุณ",
"CANVAS_TEMP_PATH": "ใส่ค่าของคุณ",
"CANVAS_TTL_MS": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_ROW_LIMIT": "ใส่ค่าของคุณ",
"EUROSTAT_DATAFRAME_DROP_ENABLED": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://eurostat.caseyjhand.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
EUROSTAT_CLAMP_LIMITS envMCP_LOG_LEVEL envEUROSTAT_BASE_URL envEUROSTAT_COMEXT_BASE_URL envEUROSTAT_REQUEST_TIMEOUT_MS envEUROSTAT_METADATA_TIMEOUT_MS envEUROSTAT_TOC_CACHE_TTL_MS envEUROSTAT_BULK_TIMEOUT_MS envEUROSTAT_BULK_MAX_BYTES envCANVAS_PROVIDER_TYPE envCANVAS_TEMP_PATH envCANVAS_TTL_MS envCANVAS_DEFAULT_ROW_LIMIT envEUROSTAT_DATAFRAME_DROP_ENABLED envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
eurostat_search_datasetsSearch the Eurostat catalogue by keyword. Returns matching datasets with codes, descriptions, period coverage, and theme breadcrumbs. Use this to discover dataset codes before calling eurostat_get_dataset_info, then eurostat_query_dataset for a slice of a dataset or eurostat_down
eurostat_browse_themesNavigate the Eurostat theme tree. Without theme_code returns the top-level theme folders (Economy, Population, Transport, etc.) — the practical starting points. With a theme_code returns its immediate children: subtheme folders and datasets in that branch. Use this for structured
eurostat_get_dataset_infoFetch metadata for a Eurostat dataset: dimensions with valid values, time range, observation count, and last-update date. Call this before eurostat_query_dataset or eurostat_download_dataset to discover what dimension codes are valid (unit, na_item, geo, etc.); eurostat_download_
eurostat_get_dimension_valuesList the valid values for a dimension in a Eurostat dataset, preserving value codes and labels exactly. Use this when eurostat_get_dataset_info returns more values than its sample, or to confirm exact filter codes before querying. Dimension identifiers match exactly first, then c
eurostat_query_datasetFetch statistical data from a Eurostat dataset with dimension filters. Returns a deterministic inline prefix of decoded observations with dimension codes and labels, numeric values, an OBS_FLAG status (e.g., "p" = provisional, "e" = estimated) and a separate CONF_STATUS confident
eurostat_download_datasetDownload a Eurostat dataset in bulk through the SDMX 2.1 TSV endpoint and stage it as a SQL table on the dataframe canvas — the route to a whole dataset, where eurostat_query_dataset is the route to a slice of one. The TSV wire format is roughly half the bytes of the JSON-stat bo
eurostat_dataframe_describeList the tables staged on a Eurostat dataframe canvas, with their row counts and column names and types. Call this before eurostat_dataframe_query to learn the table and column names to write SQL against. The canvas_id comes from a eurostat_query_dataset or eurostat_download_data
eurostat_dataframe_queryRun a read-only SQL SELECT against tables staged on a Eurostat dataframe canvas, reaching observations beyond an inline preview and aggregating or joining tables without re-fetching Eurostat. Call eurostat_dataframe_describe first for table and column names. Only a single SELECT
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cyanheads ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 546 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 8 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.11.2) เข้า registry 5 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
@cyanheads/eurostat-mcp-server Search and query the Eurostat catalogue — EU economy, demography, trade, health, and NUTS regional data via MCP. STDIO or Streamable HTTP. 6 Tools (up to 9 with the dataframe canvas) • 2 Resources • 1 Skill
Public Hosted Server: https://eurostat.caseyjhand.com/mcp
EU statistics from Eurostat: economy, demography, trade, health, and NUTS regional data, including detailed Comext trade and PRODCOM industrial production. Search or browse the catalogue, inspect a dataset's dimensions, then query a slice or bulk-download the whole thing.
The three eurostat_dataframe_* tools need the dataframe canvas, which is on by default and off with CANVAS_PROVIDER_TYPE=none; eurostat_dataframe_drop also needs EUROSTAT_DATAFRAME_DROP_ENABLED=true.
| Tool | Description |
|---|---|
eurostat_search_datasets | Search the Eurostat catalogue by keyword — returns codes, descriptions, period coverage, and theme breadcrumbs |
eurostat_browse_themes | Navigate the Eurostat theme hierarchy — list root themes or drill into subthemes and datasets |
eurostat_get_dataset_info | Fetch dataset metadata: dimensions with sample values, time range, observation count, and last-update date |
eurostat_get_dimension_values | List all valid codes for one dataset dimension, paged, with a code/label word filter and NUTS hierarchy filtering for geo |
eurostat_query_dataset | Fetch a bounded preview of decoded observations with dimension filters, NUTS geo-level, and time-range controls |
eurostat_download_dataset | Download a whole dataset via the SDMX bulk endpoint and stage every row on the dataframe canvas |
eurostat_dataframe_describe | List the tables staged on a dataframe canvas, with row counts and column types |
eurostat_dataframe_query | Run a read-only SQL SELECT across staged tables |
eurostat_dataframe_drop | Remove one staged table from a dataframe canvas, leaving its other tables in place (opt-in) |
| Resource | Description |
|---|---|
eurostat://dataset/{dataset_code} | Dataset metadata (dimensions, time range, observation count, last-updated) by URI |
skill://eurostat-guide/SKILL.md | Statistical comparison gates, identifier provenance, and SQL analysis workflows |
The same metadata is available through eurostat_get_dataset_info for tool-only clients.
eurostat-guide covers country and regional comparisons, Comext aggregation, missing-data interpretation, and SQL joins over staged observations. It ships with plugin, npm, Docker, and MCPB installs and is served over MCP at skill://eurostat-guide/SKILL.md; supporting SQL examples are included under the skill's references/ directory.
eurostat_search_datasets toolquery words are ANDed case-insensitively across each dataset's label, theme breadcrumb, and code, ignoring spacing beside punctuation (Rev.2 finds Rev. 2); limit is a positive integer (default 20), clamped to 100 with a notice. Page by passing nextCursor back as cursor; cursor calls ignore limitcode, label, type (dataset / table), period coverage, obsCount, lastUpdated, and themePath, with totalMatches across every page; fails as no_match (naming the words whose removal finds matches or, when none does, the words that match no dataset), invalid_cursor, or a retryable upstream_fault when no catalogue is loaded and Eurostat's table of contents is unreachablecomextListMissing and a notice; a catalogue that could not be refreshed carries catalogueLoadedAteurostat_browse_themes tooltheme_code for the top-level theme folders; pass a folder code for its immediate children. Codes resolve exact-first, then case-insensitively. The Comext collections sit under ext_go_detail (detailed trade, in ext_go) and prom (PRODCOM, in icts)code, label, type (folder / dataset / table), and hasChildren, with a parentPath breadcrumb and otherPlacements for a folder filed in several branches; fails as not_found for an unknown code, not_a_folder for a dataset or table code, or a retryable upstream_fault when no catalogue is loaded and Eurostat's table of contents is unreachableext_go and icts carry comextListMissing and a notice; a catalogue that could not be refreshed carries catalogueLoadedAteurostat_get_dataset_info tooldataset_code; returns every dimension with valuesCount and up to 10 sampleValues, plus timeRange, obsCount, lastUpdated, and the ESMS metadataUrlnot_found for an unknown dataset, or upstream_fault when Eurostat returns a structure the server cannot read (retryable when the endpoint is down)eurostat_get_dimension_values tooldataset_code plus dimension, resolved exact-first then case-insensitively (TIME_PERIOD aliases time); returned value codes and labels stay unchanged. For geo, geo_level picks a NUTS level (aggregate, country by default, nuts1, nuts2, nuts3). filter keeps values whose code and label contain every word given, ignoring case and accents (palma frankfurt finds DE_EDDF_ES_LEPA), counted in matchCountlimit defaults to 25 and clamps to 1,000 with a notice. Pages contain that many values, fewer at the end, with totalCount for the full list; a page with more after it carries truncated, nextCursor (pass back as cursor), and a notice. Continuations retain the effective count and ignore a new limit; older cursors above 1,000 normalize to 1,000 with disclosure. Fails as not_found, no_results, conflicting_params, invalid_cursor, upstream_fault (retryable when the endpoint is down), or canvas_not_foundcanvas_id stages every value on that canvas as a code / label table (canvasId / tableName / stagedRowCount) that labels a download's code columns through a join; it never starts a canvas of its owneurostat_query_dataset tooldataset_code plus filters ({dimension_code: [values]}), geo_level, and either since_period / until_period (2020, 2020-Q1, 2020-01, down to YYYY-Wnn and YYYY-Dnnn) or last_n_periods; preview_limit is a positive integer (default 25), clamped to 500 with a notice; lang is EN, FR, or DEstage: true stages the whole match on an available canvas, regardless of size; reuse canvas_id or omit it to create one. Without it, automatic staging starts above 5,000 observations. truncated still describes that threshold; tableName identifies a staged result. Canvas-disabled deployments disclose an explicit staging request as unavailablelast_n_periods counts dataset time positions, which can include periods with no populated cells. A notice names gaps across the full match (up to the newest 24, with an omitted count); increase N or replace it with until_period to reach earlier observationssince_period–until_period, per frequency. A notice names a period a bound falls inside and the bound that includes it. A one-day range goes out as time= , because Eurostat ignores one-day boundsvalue, status (OBS_FLAG), and confStatus (CONF_STATUS); obsCount, missingObsCount, absentCellCount (periods a matched series lacks, which are not observations and are never staged), and timeRange cover the whole match, truncated is true above 5,000 observations, and unmatchedValues names filter values that matched nothingnot_found, no_results (naming the unmatched values, the periods with no value, why a range selected no period, or geo_level as the likely cause when Eurostat's reply says nothing more), invalid_dimension, invalid_period, conflicting_params, a non-retryable async_response for a query too large to serve, canvas_not_found, or a retryable upstream_fault when the Statistics API is downeurostat_download_dataset tooldataset_code plus the same filters map and since_period / until_period (no last_n_periods: the TSV keeps a column per period unless a range drops it); preview_limit is a positive integer (default 25), clamped to 500 with a noticeobs_value and no flag, status or text (an unflagged :) is not an observation: it is a period the series lacks, or a period of a frequency the series has no observation of (the padding of a mixed-frequency slice)rowCount (echoed as totalCount), missingCount, absentCellCount (the unflagged rows at periods of a frequency the series carries), periodRange (bounded by rows carrying a value, flag, status, or text), and bytesRead for the whole download; fails as not_found, invalid_dimension, invalid_period, filter_arity, a non-retryable async_queued or extraction_too_big, no_results, upstream_fault (retryable when the SDMX endpoint is down), or canvas_not_foundEUROSTAT_BULK_MAX_BYTES budget (default 50 MiB decoded) retains complete rows within the permitted prefix and returns budgetExceeded: true. A budget too small for a complete header and usable row fails as byte_budget_exceeded, with the configured limit and narrowing guidance. bytesRead counts accepted decoded bytes, never more than theตัดมาแค่ช่วงต้น อ่านต่อใน repo