Ruflo
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Search fossil occurrences, taxon ranges, diversity through deep time, and the geologic time scale.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MCP_LOG_LEVELต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://paleobiology.caseyjhand.com/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"paleobiology": {
"command": "npx",
"args": [
"-y",
"@cyanheads/paleobiology-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http paleobiology https://paleobiology.caseyjhand.com/mcpclaude mcp add paleobiology --env MCP_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y @cyanheads/paleobiology-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"paleobiology": {
"url": "https://paleobiology.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"paleobiology": {
"command": "npx",
"args": [
"-y",
"@cyanheads/paleobiology-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"paleobiology": {
"type": "http",
"url": "https://paleobiology.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"paleobiology": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/paleobiology-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://paleobiology.caseyjhand.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ต่อผ่านคลาวด์ได้ใน
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 10 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
paleobiology_search_occurrencesSearch fossil occurrences by clade-inclusive base_name or base_id, exact taxon_name, interval or max_ma/min_ma, modern geographic bounds, country, formation, environment, or collection_no. At least one filter is required. Formation matches PBDB stored names and preserves list/wil
paleobiology_get_taxonResolve a taxon by name (e.g. "Tyrannosaurus") or integer taxon_no. The matched name, rank, parent, occurrence count and first/last appearance range describe taxon_no; accepted_no, accepted_name and accepted_rank identify PBDB's accepted taxon separately, and status carries its t
paleobiology_get_diversityCompute a diversity / origination / extinction curve for a clade across geologic time, binned by period, epoch, or age — answers "plot dinosaur genus diversity across the Mesozoic." Pass a clade-inclusive base_name (or base_id, the same clade by resolved taxon id — exactly one of
paleobiology_list_intervalsLook up the geologic time scale — eons, eras, periods, epochs, and ages with their absolute-age boundaries in millions of years (Ma) and nesting. This is the reference that grounds every temporal filter on the other tools and translates a named interval like "Late Cretaceous" to
paleobiology_search_collectionsFind fossil collections (localities) by area and geologic time — "what has been dug up here, and from what rock." Each locality returns its location, age (named interval and Ma), formation and strata, lithology, depositional environment, and the count of co-occurring fossils. Fil
paleobiology_get_referencesResolve PBDB reference_no values — the source publication on every paleobiology_search_occurrences and paleobiology_search_collections row — to full citations with authors, year, title, publication, volume, pages, and DOI. Pass the ids from a page of rows in one call: the first 5
paleobiology_dataframe_queryRun a read-only SQL SELECT against occurrence result sets staged on a DataCanvas by paleobiology_search_occurrences. This is how you analyze a large fossil set without re-fetching it: count occurrences by early_interval, group by formation, country (cc), or accepted_name, or filt
paleobiology_dataframe_describeList the tables and their columns staged on a DataCanvas by paleobiology_search_occurrences. Call this before paleobiology_dataframe_query to discover the exact table_name and column names to reference in SQL.
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cyanheads ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 9 วันที่ผ่านมา
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 508 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 8 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 4 จาก 4 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด 9 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.5.0) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Ruflo, Context7, Metabase
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Lets AI clients search, explore, query, and visualize data in a Metabase instance.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
@cyanheads/paleobiology-mcp-server Search fossil occurrences, resolve taxon fossil ranges, plot diversity through deep time, and look up the geologic time scale via MCP. STDIO or Streamable HTTP. 9 Tools • 3 Data Resources • 1 Skill
Public Hosted Server: https://paleobiology.caseyjhand.com/mcp
Fossil biodiversity over the Paleobiology Database (PBDB), spanning roughly 540 million years. Resolve taxon fossil ranges, search fossil occurrences and collections by taxon, geologic time, and location, and plot diversity through deep time.
| Tool | Description |
|---|---|
paleobiology_search_occurrences | Search fossil occurrences by taxon, geologic time, geography, and depositional environment. Every row carries both modern and paleo coordinates; with DataCanvas on, broad results spill to a canvas for SQL. |
paleobiology_get_taxon | Resolve a taxon by name or taxon_no to matched and accepted identities, status, classification, and FAD/LAD range. |
paleobiology_get_diversity | Compute a diversity / origination / extinction curve for a clade across geologic time. |
paleobiology_list_intervals | Look up the geologic time scale — named intervals ↔ absolute Ma boundaries. |
paleobiology_search_collections | Find fossil collections (localities) by area, geologic time, formation, and lithology. |
paleobiology_get_references | Resolve the reference_no on occurrence and collection rows to full citations — authors, year, title, publication, pages, DOI. |
paleobiology_dataframe_query | Run a read-only SQL SELECT over occurrence sets staged on a DataCanvas. Listed only when DataCanvas is on. |
paleobiology_dataframe_describe | List the tables and columns staged on a DataCanvas. Listed only when DataCanvas is on. |
paleobiology_dataframe_drop | Drop a single staged table to free memory before its TTL expires. Opt-in; also needs DataCanvas. |
| Resource | Description |
|---|---|
paleobiology://occurrence/{occurrence_no} | One fossil occurrence with full detail — modern + paleo coordinates, classification, strata, locality. |
paleobiology://taxon/{taxon_no} | One taxon record with its fossil range and classification. |
paleobiology://reference/{reference_no} | One bibliographic reference — the formatted citation plus its structured fields. |
All resource data is also reachable via tools — the resources mirror a single-record read of paleobiology_search_occurrences / paleobiology_get_taxon / paleobiology_get_references for clients that surface resources. Tool-only clients lose nothing.
paleobiology_search_occurrences toolcollection_no filter. Use base_name or base_id for a clade, taxon_name for an exact match; page with limit (default 100, maximum 10,000, subject to PBDB_MAX_OCCURRENCES) and offset. Every served row appears on both response surfacestotalCount for PBDB's true match count. Errors: missing_filter, conflicting_taxon_filter, incomplete_bbox, inverted_ma_range, and pbdb_invalid_parameter (with PBDB's reason) for a value PBDB cannot usecanvas_id + table_name with paleobiology_dataframe_describe, then SQL. Reusing a canvas atomically replaces its occurrence table. At the canvas cap, reuse an existing canvas or narrow the matching setpaleobiology_get_taxon toolname or taxon_no to the matched record's name, rank, classification, parent, occurrence count, and FAD/LAD range in Ma. Accepted identity (accepted_no, accepted_name, accepted_rank) and PBDB's taxonomic status are separate; use accepted_no as base_id for an accepted-clade searchshow_children adds up to 200 immediate child taxa per call; children_truncated and children_offset say whether and where to continuetaxon_not_found, missing_selector, conflicting_selector when both name and taxon_no are sentpaleobiology_get_diversity toolbase_name or base_id), optionally bounded by time, country, formation, environment, or a geographic bounding box. Choose count (genera, species, families) and resolution (period, epoch, age); defaults are genera by periodrecent: true extends known extant ranges to the present; the default is falsemissing_filter, conflicting_taxon_filter, incomplete_bbox, inverted_ma_range, pbdb_invalid_parameter for a value PBDB cannot use (an unknown interval)paleobiology_list_intervals toolname, a min_ma/max_ma overlap window, or level (eon, era, period, epoch, age); omit filters to browse the bundled ICS scale. Nonzero and single-bound windows require positive-duration overlap; an explicit equal-bound point includes both intervals meeting thereparent_no, and an upstream scale where available. source (bundled_ics / pbdb_upstream) and snapshot_version identify the source; names outside the snapshot use PBDBinterval_not_found for an unmatched name; retryable interval_lookup_unavailable when PBDB cannot resolve a name outside the snapshot; inverted_ma_range when max_ma is below min_mapaleobiology_search_collections toolcountry, formation, lithology, or environment filter. Page with limit (default 100, maximum 10,000, subject to PBDB_MAX_OCCURRENCES) and offset. Every served row appears on both response surfacesn_occs, with totals. Pass collection_no to paleobiology_search_occurrences for the fauna at that localitymissing_filter, conflicting_taxon_filter, incomplete_bbox, inverted_ma_range, pbdb_invalid_parameter for a value PBDB cannot use (an unknown interval, or an unknown lithology sent as the only filter)paleobiology_get_references toolreference_nos from occurrence or collection rows; the first 500 distinct IDs resolve in one PBDB request, and the rest come back in remaining_reference_nos for the next callcitation, title, and publication converted from PBDB HTML to plain text with one entity decode, plus year, authors, editors, volume, issue, pages, publisher, language, and doi where recordednot_found with a notice — a miss is a result, not an errorpaleobiology_dataframe_query toolSELECT against occurrence sets staged by paleobiology_search_occurrences, using the table_name it returned; writes and file-reading functions are rejectedclassification column is JSON — roll up by rank with json_extract_string(classification, '$.family') (also $.phylum, $.class, $.order, $.genus)truncated: true means row_count stopped at the framework's row cap; use a stable ORDER BY with SQL LIMIT/OFFSET to continueCANVAS_PROVIDER_TYPE=duckdb)paleobiology_dataframe_describe toolpaleobiology_dataframe_query to discover identifiersCANVAS_PROVIDER_TYPE=duckdb)paleobiology_dataframe_drop toolcanvas_id + table_name to free memory before its TTL expires; dropping a nonexistent table returns dropped: false, not an errorPALEOBIOLOGY_DATAFRAME_DROP_ENABLED=truecanvas_not_found when the canvas has expired or never existedpaleobiology://occurrence/{occurrence_no} resourceoccurrence_no is a bare positive integer (regex-validated), from paleobiology_search_occurrences outputattribution fieldoccurrence_not_foundpaleobiology://taxon/{taxon_no} resourcetaxon_no is a bare positive integer (regex-validated), from paleobiology_get_taxon or an occurrence's accepted_nopaleobiology_get_taxon's shape exactly — matched and accepted identities, status, classification, parent, FAD/LAD range — plus a CC BY 4.0 attribution fieldtaxon_not_found