GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Model Context Protocol server for the EuroDNS User API — domains, DNS zones, subscriptions and SSL.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
EURODNS_APP_ID, EURODNS_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"eurodns": {
"command": "npx",
"args": [
"-y",
"@jigsawfr/eurodns-mcp"
],
"env": {
"EURODNS_APP_ID": "ใส่ค่าของคุณ",
"EURODNS_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add eurodns --env EURODNS_APP_ID='ใส่ค่าของคุณ' --env EURODNS_API_KEY='ใส่ค่าของคุณ' -- npx -y @jigsawfr/eurodns-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"eurodns": {
"command": "npx",
"args": [
"-y",
"@jigsawfr/eurodns-mcp"
],
"env": {
"EURODNS_APP_ID": "ใส่ค่าของคุณ",
"EURODNS_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"eurodns": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@jigsawfr/eurodns-mcp"
],
"env": {
"EURODNS_APP_ID": "ใส่ค่าของคุณ",
"EURODNS_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub JigSawFr ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: EURODNS_APP_ID, EURODNS_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.11.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Manage your domains, DNS zones and subscriptions by asking for it.
A Model Context Protocol server for the EuroDNS User API — domains, DNS zones, contacts, subscriptions, SSL, invoices and orders.
[Documentation](docs/README.md) · Tools · Guardrails · Deploying
This is an independent open-source project. It is **not affiliated with, endorsed by, or
supported by EuroDNS**. "EuroDNS" is used only to identify the API this server talks to.
Written by a professional engineer with AI assistance. Every line was reviewed before it
was committed, and the responsibility for what it does is human.
stdio for a local client, streamable HTTP for a shared deployment.flowchart TD
client(["MCP client"])
client -->|stdio| registry client -->|streamable HTTP| origin
subgraph http ["HTTP transport only"] origin["Origin check"] --> bearer["Bearer token OAuth 2.1 or shared secret"] bearer --> scopes["Scope gate"] end
scopes --> registry["Tool registry"] registry --> guard{"Guardrails read-only, billing, destructive"} guard -->|refused| deny["Error naming the setting to change"] guard -->|allowed| api[("EuroDNS User API")]
op[("1Password Connect")] -.->|"op:// refs, at startup"| creds["Credentials"] creds -.-> api
registry -.-> log[("Audit log")] guard -.-> log log -.->|eurodns_audit_query| client
Two things are worth reading off that diagram. Authorisation has two independent gates — what the deployment permits at all, then what the caller's scopes permit within it. And the audit log is fed by every path, including refusals, because the upstream API authenticates every caller with one shared key and cannot attribute anything itself.
403 from the API is almost always a missing allowlist entry, not bad credentials.For a client that spawns the server itself, such as Claude Desktop:
{
"mcpServers": { "eurodns": { "command": "npx", "args": ["-y", "@jigsawfr/eurodns-mcp"], "env": { "EURODNS_APP_ID": "your-application-id", "EURODNS_API_KEY": "your-api-key" } } } }
To try it in a terminal first:
npx -y @jigsawfr/eurodns-mcp
Without credentials it still starts, lists every tool, prompt and resource, and refuses each call with a message naming the two variables — so a marketplace, or npx @modelcontextprotocol/inspector, can show the surface before you have a key.
The package ships two commands: eurodns-mcp for stdio, which is the one above, and eurodns-mcp-http for the HTTP transport — reachable as npx -p @jigsawfr/eurodns-mcp eurodns-mcp-http.
For a shared deployment over HTTP, use the container instead — see Deployment.
Try not to put the API key in the client config file: Secrets shows two ways around it.
| Ask | Tool it reaches for |
|---|---|
| "What DNS records does example.com have?" | eurodns_dns_get_zone |
"Add a TXT record _acme-challenge on example.com" | eurodns_dns_upsert_record |
| "What would change if I pointed www at 203.0.113.10?" | eurodns_dns_diff_zone |
| "Is example.lu available?" | eurodns_domain_check_availability |
| "Which of my domains have DNSSEC enabled?" | eurodns_domain_get |
| "When does this SSL certificate expire?" | eurodns_subscription_get |
| "What is my prepaid balance?" | eurodns_account_get_prepaid_balance |
| "What did I change last week?" | eurodns_audit_query |
| "What was refused, and why?" | eurodns_audit_query |
| Page | What it covers |
|---|---|
| Tools | All 55 tools, the operations they fold, the prompts and the resources |
| Guardrails | Risk classes, what a deployment can forbid, confirmation before a call |
| Configuration | Every environment variable, with its default |
| HTTP transport | Serving several clients, static tokens, OAuth 2.1 and scopes |
| Secrets | Keeping the API key out of a client config, and 1Password Connect |
| Audit log | What is recorded, the hash chain, asking the server what happened |
| Entra ID | Step-by-step OAuth with Microsoft Entra ID, and its pitfalls |
| Deploying | Containers, Fly.io, Render, Railway, and shipping the log to a SIEM |
| Protocol | Which MCP revisions are spoken, and how both are served at one endpoint |
| Development | Building, testing, the generated tool surface, and how releases work |
cp .env.example .env # credentials, plus a token: openssl rand -hex 32
docker compose up -d curl localhost:3000/healthz
Published images live at ghcr.io/jigsawfr/eurodns-mcp, built for linux/amd64 and linux/arm64 with a build provenance attestation.
Two things decide where this runs, and neither is the usual latency-or-price argument:
On both counts Fly.io comes out ahead, at a couple of dollars a month for a dedicated IPv4 against roughly $100 elsewhere. deploy/ has the per-platform detail, ready-made fly.toml and render.yaml, and the comparison in full.
One setting catches everyone once: inside a container the server listens on 0.0.0.0, and it refuses to start on a non-loopback address without authentication. Set EURODNS_MCP_AUTH to token or oauth.
The choice is not about how secure you want to be — both are — but about whether callers need separate identities, and it has a cost you should see coming.
`token` is one shared secret in a header. It works in a minute, needs nothing but the server, and is the right answer for a deployment one person uses. What you give up is attribution: the audit log records a label, so it can tell you a destructive call happened but not who made it.
`oauth` gives each person their own credential, lets the five scopes decide who may do what, and puts a real identity in the audit log. The scopes decide what a caller may do; your identity provider decides who gets a token at all, and most default to everyone in the directory — so that setting is part of the configuration, not an afterthought. Its entry price is a hostname on a domain your identity provider will accept — with Microsoft Entra ID that means a domain verified in your tenant, because the server's public URL has to double as the Application ID URI. A platform hostname like *.fly.dev cannot be verified, so the domain is not optional there. Entra ID works the whole thing through, including the errors it produces when the three names involved fall out of step, and how to go one step further and give each person a _different_ set of scopes rather than the same one.
Starting on token and moving to oauth later costs nothing but a restart: no data migration, no change to how tools behave.
CONTRIBUTING.md has the workflow, and docs/development.md the commands. Pull request titles are checked against Conventional Commits, because that is what the changelog is generated from.
MIT.
"EuroDNS" is a trademark of EuroDNS S.A. and is not covered by that licence.