Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Search EPA drinking water systems, violations, enforcement, and contaminant measurements.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
CANVAS_PROVIDER_TYPE, SDWIS_CLAMP_LIMITS, SDWIS_DATAFRAME_DROP_ENABLED, CANVAS_DEFAULT_ROW_LIMIT, CANVAS_DEFAULT_MEMORY_LIMIT_MB, MCP_LOG_LEVELต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"epa-drinking-water": {
"command": "npx",
"args": [
"-y",
"@cyanheads/epa-drinking-water-mcp-server"
],
"env": {
"CANVAS_PROVIDER_TYPE": "ใส่ค่าของคุณ",
"SDWIS_CLAMP_LIMITS": "ใส่ค่าของคุณ",
"SDWIS_DATAFRAME_DROP_ENABLED": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_ROW_LIMIT": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_MEMORY_LIMIT_MB": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add epa-drinking-water --env CANVAS_PROVIDER_TYPE='ใส่ค่าของคุณ' --env SDWIS_CLAMP_LIMITS='ใส่ค่าของคุณ' --env SDWIS_DATAFRAME_DROP_ENABLED='ใส่ค่าของคุณ' --env CANVAS_DEFAULT_ROW_LIMIT='ใส่ค่าของคุณ' --env CANVAS_DEFAULT_MEMORY_LIMIT_MB='ใส่ค่าของคุณ' --env MCP_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y @cyanheads/epa-drinking-water-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"epa-drinking-water": {
"command": "npx",
"args": [
"-y",
"@cyanheads/epa-drinking-water-mcp-server"
],
"env": {
"CANVAS_PROVIDER_TYPE": "ใส่ค่าของคุณ",
"SDWIS_CLAMP_LIMITS": "ใส่ค่าของคุณ",
"SDWIS_DATAFRAME_DROP_ENABLED": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_ROW_LIMIT": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_MEMORY_LIMIT_MB": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"epa-drinking-water": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/epa-drinking-water-mcp-server"
],
"env": {
"CANVAS_PROVIDER_TYPE": "ใส่ค่าของคุณ",
"SDWIS_CLAMP_LIMITS": "ใส่ค่าของคุณ",
"SDWIS_DATAFRAME_DROP_ENABLED": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_ROW_LIMIT": "ใส่ค่าของคุณ",
"CANVAS_DEFAULT_MEMORY_LIMIT_MB": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
CANVAS_PROVIDER_TYPE envSDWIS_CLAMP_LIMITS envSDWIS_DATAFRAME_DROP_ENABLED envCANVAS_DEFAULT_ROW_LIMIT envCANVAS_DEFAULT_MEMORY_LIMIT_MB envMCP_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cyanheads ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 5 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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/epa-drinking-water-mcp-server Search EPA drinking water systems, violations, enforcement actions, and contaminant measurements via MCP. STDIO or Streamable HTTP. 9 Tools
EPA drinking-water records from SDWIS DMAP and the UCMR 5 publication. Resolve water systems, inspect historical violations and enforcement, and retrieve Lead and Copper Rule summaries or unregulated-contaminant occurrence measurements. Runs over stdio or Streamable HTTP without an API key.
| Tool | Description |
|---|---|
sdwis_list_reference | Decode identifiers, contaminant namespaces, coverage, standards, and EPA dictionaries |
sdwis_search_water_systems | Find contact-free public water-system inventory |
sdwis_get_system_profile | Retrieve summary, geography, service areas, facilities, or treatment |
sdwis_get_violations | Page reported historical SDWA violations |
sdwis_search_contaminants | Select violations, LCR summaries, or UCMR 5 occurrence |
sdwis_get_enforcement_actions | Retrieve actions or violation associations |
sdwis_dataframe_describe | Inspect tables and provenance inside a supplied canvas |
sdwis_dataframe_query | Run read-only SQL against staged partitions |
sdwis_dataframe_drop | Optionally remove one staged table |
The dataframe tools require npm or Docker with CANVAS_PROVIDER_TYPE=duckdb; drop also requires SDWIS_DATAFRAME_DROP_ENABLED=true. The Claude Desktop bundle provides the six EPA-reading tools.
The published caller guide covers evidence chains and staged analysis. Plugin, npm, Docker, and MCPB installs include it; MCP clients can read skill://epa-drinking-water-guide/SKILL.md through the Skills extension.
sdwis_list_reference tooltopic: identifiers, system_types, sources, contaminants, violation_types, enforcement_types, treatment, service_areas, standards, or coverage; optional substring querysdwis_search_water_systems toolpwsid, name_contains, state, county (requires state), population_min / population_max, source, system_type, school_or_daycare, primacy_agency, or pwsid_prefix; names match literal case-insensitive substrings and counties match normalized names exactly, including punctuationactivity defaults to active; choose inactive or all explicitly. State means reported legal-entity state; county means county served, and neither establishes complete physical service boundariesschool_or_daycare:true selects reported Y, false selects N; unknown indicators match neither. Discovery and profile summaries preserve school/daycare and wholesaler source indicators; this is not an inventory of every school receiving public watersdwis_get_system_profile toolpwsid; section is summary (default), geography, service_areas, facilities, or treatment, independently pagedsystem with empty items and returned:0; child sections return items. found tracks inventory existence: an empty child section can still return found:true with an empty-section notice. found:false is not a compliance finding; operator contacts and mailing addresses are excludedfacility_id values within the same PWSID; optional exact facility_id is valid only for this section. SDWIS and UCMR facility IDs are separate namespacessdwis_get_violations toolpwsid or state; optional county, contaminant, category, health_based, and compliance_statusdate_from / date_to select compliance-period overlap; a known endpoint can prove overlap despite a missing endpoint. Indeterminate periods are excluded with a count of affected rows examined during the call. Monitoring/reporting violations may lack concentrationscontaminant:lead selects 1030 and Lead and Copper Rule code 5000, including copper and monitoring records; either exact code selects only itselfstage:true requests a partition; stage_max_rows defaults to 5,000 and clamps at 25,000. Supply a held canvas_id to add another partitionsdwis_search_contaminants tooldataset (violations, lcr, or ucmr5) and pwsid or state; UCMR also accepts zip alone without SDWIS membership requests. Additional selectors intersect; county still requires state. Optional contaminant and inclusive dates select compliance periods, LCR sample periods, or UCMR collection dates respectivelyPFAS covers 29 analytes; lithium is separate. zip and detected_only are UCMR-only; service ZIP is not sample location, and censored values remain unknown below reporting limitsstage, canvas_id, and stage_max_rows (5,000 default, 25,000 maximum). Cold UCMR calls may need a 180-second client timeout; broad state/county scopes resolve reported-state membership through resumable pages before returning occurrence rowssdwis_get_enforcement_actions toolpwsid or reported legal-entity state, with optional state-qualified county; geographic membership resolves before action retrieval. section:associations and any violation_id filter require pwsid; supplied geography still intersects that systemaction_type, originator, and inclusive enforcement-date filters apply only to actions. Associations page separately; source action text does not imply a federal order or monetary penaltystage, canvas_id, and stage_max_rows (5,000 default, 25,000 maximum)sdwis_dataframe_describe toolcanvas_id; optional exact table_name; limit defaults to 10 with a cap of 500 and cursor paginationcolumns array, row count, expiry, filters, provenance, completeness, and continuation; counts and limits are in tables. There is no global canvas listingselection_coverage reports which source partitions and required companion relations remain staged, separately from SQL resultssdwis_dataframe_query toolcanvas_id and one read-only SELECT, WITH, or FROM statement in sql (at most 20,000 characters); describe the canvas firstCANVAS_DEFAULT_ROW_LIMIT (framework default 10,000), bounded by 25,000. row_count, truncated, and has_more distinguish retained rows from omitted rows; continuations read an immutable result for up to 15 minutessource_complete conservatively includes every live source partition, including tables the SQL does not referenceselection_coverage.chain_complete confirms the canvas holds a complete source retrieval chain; it does not establish which tables the SQL uses or override truncated. Query continuations retain the original coverage snapshotsdwis_dataframe_drop toolcanvas_id and exact table_name; requires CANVAS_PROVIDER_TYPE=duckdb and SDWIS_DATAFRAME_DROP_ENABLED=truedropped:false; other staged partitions remain availableBuilt 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.
EPA-specific:
Agent-friendly output:
effective_filters, source URL, retrieved_at, publication/HTTP validators when available, and interpretation caveats; source dates keep their calendar day, with non-midnight timestamps in a _raw fieldsource_complete:false can stay false with has_more:false once earlier rows went to other pages or partitions; aggregation does not restore itselection_partition identifies a retrieval and its delivered partition; canvas selection_coverage distinguishes a fully staged chain from missing, dropped, or expired partitions and companionslimitตัดมาแค่ช่วงต้น อ่านต่อใน repo