Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Search Geneteka, the Poznań Project and BaSIA for Polish vital records; fetch archive scans.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
POLISH_ARCHIVES_CACHE_DIR, POLISH_ARCHIVES_TIMEOUT, POLISH_ARCHIVES_MIN_INTERVAL, POLISH_ARCHIVES_CONTACT, POLISH_ARCHIVES_DOWNLOAD_DIRต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"polish-archives": {
"command": "uvx",
"args": [
"polish-archives-mcp"
],
"env": {
"POLISH_ARCHIVES_CACHE_DIR": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_TIMEOUT": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_MIN_INTERVAL": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_CONTACT": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_DOWNLOAD_DIR": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add polish-archives --env POLISH_ARCHIVES_CACHE_DIR='ใส่ค่าของคุณ' --env POLISH_ARCHIVES_TIMEOUT='ใส่ค่าของคุณ' --env POLISH_ARCHIVES_MIN_INTERVAL='ใส่ค่าของคุณ' --env POLISH_ARCHIVES_CONTACT='ใส่ค่าของคุณ' --env POLISH_ARCHIVES_DOWNLOAD_DIR='ใส่ค่าของคุณ' -- uvx polish-archives-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"polish-archives": {
"command": "uvx",
"args": [
"polish-archives-mcp"
],
"env": {
"POLISH_ARCHIVES_CACHE_DIR": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_TIMEOUT": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_MIN_INTERVAL": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_CONTACT": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_DOWNLOAD_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"polish-archives": {
"type": "stdio",
"command": "uvx",
"args": [
"polish-archives-mcp"
],
"env": {
"POLISH_ARCHIVES_CACHE_DIR": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_TIMEOUT": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_MIN_INTERVAL": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_CONTACT": "ใส่ค่าของคุณ",
"POLISH_ARCHIVES_DOWNLOAD_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
POLISH_ARCHIVES_CACHE_DIR envPOLISH_ARCHIVES_TIMEOUT envPOLISH_ARCHIVES_MIN_INTERVAL envPOLISH_ARCHIVES_CONTACT envPOLISH_ARCHIVES_DOWNLOAD_DIR envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub ianderso ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 27 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server for the Polish volunteer indexes of vital records, and for the archive scans they point to:
It works the way a careful genealogist does. An index row is a finding aid, typed by a volunteer from the register: it says which register and entry to read, and the scan is the evidence. A zero covers only what was indexed, so Geneteka's coverage list comes first. And a scan is cited by the archive's own call number, the *Sygnatura* on the Szukaj w Archiwach unit page, never by an index's rendering of it.
Nothing here writes anywhere, and nothing here keeps a family tree. It grew from a script used in one family-history project, and sits well beside familysearch-mcp, whose catalogue holds the filmed copies of many of the same registers.
This is an independent project. It is not affiliated with, endorsed by, or supported by the Polskie Towarzystwo Genealogiczne, the Poznań Project, the Wielkopolskie Towarzystwo Genealogiczne "Gniazdo", the Naczelna Dyrekcja Archiwów Państwowych, or any archive.
The server publishes seven tools. All but swa_scan are read-only; swa_scan writes one new file and never overwrites one.
Before searching
| Tool | Purpose |
|---|---|
regions | Geneteka's region codes and names (15wp is Wielkopolska). Makes no request. |
geneteka_coverage | The registers Geneteka has indexed for a parish: births, marriages or deaths, the years exactly as Geneteka lists them (gaps included), and each register's rid. With year, whether each register covers it. The list is cached for a week. |
Searching the indexes
| Tool | Purpose |
|---|---|
geneteka_search | Births, marriages or deaths in one region, or in one register by rid. Rows carry the custodian holding the book, the indexer's notes (often a date or a village) and any scan link. Fifty rows a page. |
poznan_search | Marriages 1800-1899 by groom's and bride's surnames, or either spouse's. Given names are matched to the project's name groups; a name in no group returns the groups. Each row says who holds the original register. |
basia_search | BaSIA entries by surname, with more people in the same entry, a place and radius, years, office and record type. Every row carries BaSIA's call number and scan, the unit's address on szukajwarchiwach.gov.pl, and a warning about BaSIA's series numbers. |
Reading the scan
| Tool | Purpose |
|---|---|
swa_scan | Download one full-size scan (about 3500 px) from Szukaj w Archiwach's photo host, given its 64-character name. Saves a new .jpg, never a hidden file or one under ~/Library. |
cache_status | This session's requests, by site, the cache, and the pacing. Makes no request. |
geneteka_coverage for the parish: which registers and years exist in the index. A year not listed was never searched.geneteka_search, poznan_search and basia_search. Records are in Latin, Polish or German: search Wojciech as Adalbertus and Adalbert too, Jan as Joannes and Johann, Marianna as Maria; -ski and -ska, and genitive forms ("z Kowalskich"), are one surname.unit_url, or a Geneteka row's scan link) in a browser. Szukaj w Archiwach's pages sit behind a bot check and this server never fetches them. Read the *Sygnatura* there, and each scan's name from its image address (photos.szukajwarchiwach.gov.pl/ ).swa_scan with that name. Read the scan before saying anything about it.You need Python 3.11 or later and uv. There is no key to request and no account to make.
Without cloning. uvx fetches it from PyPI and runs it in one step:
uvx polish-archives-mcp
From a clone, which is what you want if you will change it:
git clone https://github.com/ianderso/polish-archives-mcp
cd polish-archives-mcp uv sync uv run polish-archives-mcp # stdio server, usually launched by the client
Either way the server speaks MCP over stdio, so you will normally let an MCP client start it rather than run it by hand.
{
"mcpServers": { "polish-archives": { "command": "uvx", "args": ["polish-archives-mcp"] } } }
A desktop app does not always inherit your shell's PATH. If the server fails to start because uvx cannot be found, give the full path that which uvx prints as the command.
claude mcp add polish-archives -- uvx polish-archives-mcp
Nothing is required. A .env file in the directory the server starts in supplies anything the environment does not; only that directory is read.
| Variable | Meaning |
|---|---|
POLISH_ARCHIVES_CACHE_DIR | Response cache directory. Default ~/.cache/polish-archives-mcp. |
POLISH_ARCHIVES_TIMEOUT | HTTP timeout in seconds for one request. Default 60. Scan downloads get 180 to read. |
POLISH_ARCHIVES_MIN_INTERVAL | Least seconds between two requests to one site. Default 4, and never below 4. BaSIA always gets at least 10. |
POLISH_ARCHIVES_CONTACT | An email address or URL added to the User-Agent, so a site can reach you if your use causes trouble. Optional, and courteous. |
POLISH_ARCHIVES_DOWNLOAD_DIR | An existing folder. When set, swa_scan saves only inside it. Set it to save into an iCloud Drive folder, which lives under ~/Library. |
An unusable value is reported on the first tool call as a not_configured result naming the variable.
Each site is a volunteer society's server or an archive's. The client sends one request at a time to each site, at least four seconds apart, and ten to BaSIA and Geneteka; different sites do not wait for one another. A Geneteka search fetches one page of fifty rows per call, never the whole result in a burst. Two identical calls in flight share one request. The coverage list is cached for a week, searches for a day, the Poznań Project's name groups for a month; a failure is never cached. A 429, a 5xx or a dropped connection gets one retry, honouring Retry-After. The User-Agent names the package, its version and this repository.
What each source says about automated use, as checked on 2026-10-11:
robots.txt disallows nothing and sets Crawl-delay: 120. This server makes one request per tool call there, at least ten seconds apart.robots.txt.robots.txt sets Crawl-delay: 10, disallows /search.php and other scripts, and says in a comment that robots may index information pages, "ale nie wyszukiwarkę ani skrypty pobierające dane" (but not the search engine or data-fetching scripts), because each search is a costly database query. This server posts the site's own search form at /en/, one search per tool call, at least ten seconds apart, and caches each answer for a day.robots.txt (it answers 400). The portal's own terms could not be read without a browser; the archives set the terms for reusing their scans, so check them before publishing one.If a site asks you to stop, stop: tell the server's operator, and open an issue so the project can change.
geneteka_search with a rid and a span of years names the years Geneteka has not indexed (years_not_indexed). The Poznań Project and BaSIA publish no comparable list: their zeros say less.poznan_search returns too_many_results with the counts, so narrow it. BaSIA lists only the first 250 entries of a search and says so (truncated).szukajwarchiwach.pl domain, which no longer opens; those rows have no unit_url, only the reference written in the old link, and a note on finding the unit.swa_scan uses.blocked and left alone.Tool arguments are written by a model, and the model reads text this server does not control: index notes, comments, web pages. The server assumes that text can steer the model, and limits what a steered model can make it do.
geneteka.genealodzy.pl, `poznan-proตัดมาแค่ช่วงต้น อ่านต่อใน repo