ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Dannet

โดย kuhumcstรุ่น 1.0.2i★ –iรันบนคลาวด์
ชื่อใน registryio.github.kuhumcst/dannet

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

DanNet - Danish WordNet with rich lexical relationships and SPARQL access.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://wordnet.dk/mcp

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http dannet https://wordnet.dk/mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "dannet": {
      "url": "https://wordnet.dk/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "dannet": {
      "type": "http",
      "url": "https://wordnet.dk/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://wordnet.dk/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub kuhumcst ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    endpoint ตอบ

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    ล็อกอินแบบ OAuth

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32683 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 1% ของอีก 32683 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32683 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Dannet ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 10 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

DanNet is a WordNet for the Danish language. DanNet uses RDF as its native representation at both the database level, in the application space, and as its primary serialisation format.

Table of Contents

  • Dataset Formats
  • Companion Datasets
  • Standards
  • LLM Integration (AI)
  • Implementation
  • Setup
  • Deployment
  • Database Release Workflow

Dataset Formats

DanNet is available in multiple formats to maximise compatibility:

FormatDescription
RDF (Turtle)Native representation. Load into any RDF graph database (such as Apache Jena) and query with SPARQL.
CSVPublished with column metadata as CSVW.
WN-LMFXML format compatible with Python libraries like wn.
DMLexOASIS DMLex 1.0 representation as both XML and JSON, in a Danish and an English variant. The DMLex browser shows it as a dictionary.
Example: Using DanNet with Python
import wn

wn.add("dannet-wn-lmf.xml.gz")

for synset in wn.synsets('kage'): print((synset.lexfile() or "?") + ": " + (synset.definition() or "?"))

Differences Between Formats

While every format includes all synsets/senses/words, the CSV, WN-LMF and DMLex variants do *not* include every data point:

  • CSV: Some data is lost when converting from an open graph to fixed tables.
  • WN-LMF: Only official GWA relations are included per the standard (proprietary DanNet relations from the DanNet schema are excluded).
  • DMLex: Combines DanNet with COR, DDS and COR.SEM in one file. Relations to other datasets are not included. See doc/dmlex/plan.md for the conversion rules.

For the complete dataset, use the RDF format or browse at wordnet.dk.

Companion Datasets

Several companion datasets expand the RDF graph with additional data:

DatasetDescription
CORLinks DanNet resources to IDs from the COR project.
DDSAdds sentiment data to DanNet resources.
OEWN extensionProvides DanNet-style labels for the Open English WordNet to facilitate browsing connections between the two datasets.
Inferred Data

Additional data is implicitly inferred from the base dataset, companion datasets, and ontological metadata. These inferences can be browsed at wordnet.dk. Releases containing fully inferred graphs are specifically marked as such.

Standards

DanNet is based on the Ontolex-lemon standard combined with relations defined by the Global Wordnet Association as used in the official GWA RDF standard.

Ontolex-lemon classRepresents
ontolex:LexicalConceptSynsets
ontolex:LexicalSenseWord senses
ontolex:LexicalEntryWords
ontolex:FormForms
URI Prefixes
PrefixURIPurpose
dnhttps://wordnet.dk/dannet/data/Dataset instances
dnchttps://wordnet.dk/dannet/concepts/Ontological type members
dnshttps://wordnet.dk/dannet/schema/Schema definitions
dnfhttps://wordnet.dk/dannet/function/Custom SPARQL functions (dnf:path, dnf:lch, dnf:wup synset similarity)

All DanNet URIs resolve to HTTP resources. Accessing one of these URIs via a GET request returns the data for that resource.

Schemas

DanNet has proprietary relations defined in the DanNet schema in an Ontolex-compatible way. There is also a schema for EuroWordNet concepts. Both schemas follow the RDF conventions listed by Philippe Martin.

LLM Integration

DanNet can be connected to AI tools like Claude via MCP (Model Context Protocol).

  • MCP server URL: https://wordnet.dk/mcp
  • Registry ID: io.github.kuhumcst/dannet

To connect in e.g. Claude Desktop: go to Settings > Connectors > Browse Connectors, click "add a custom one", enter a name (e.g., "DanNet") and the MCP server URL.

Once connected, you can query DanNet's semantic relations directly through Claude.

Implementation

The database backend is Apache Jena, a mature RDF triplestore with OWL inference support. When represented in Jena, DanNet's relations form a queryable knowledge graph. DanNet is developed in Clojure, using Theophrastus, our fork of Aristotle, to interact with Jena.

See rationale.md for more on the design decisions.

Full Production Setup

The production deployment at wordnet.dk consists of three services managed via Docker Compose:

  • DanNet — the Clojure/ClojureScript web application
  • MCP server — a Python-based MCP server providing LLM access to DanNet
  • Caddy — reverse proxy handling HTTPS and routing
Clojure Support

DanNet can be queried in various ways from Clojure (see queries.md). Apache Jena transactions are built-in and enable persistence via the TDB 2 layer.

Web Application

The frontend is written in ClojureScript using Rum, served by Pedestal. The app works both as a single-page application (with JavaScript) and as a regular HTML website (without). Content negotiation serves different representations (HTML, RDF, Transit+JSON) based on the request.

See doc/web.md for details.

Bootstrap Process

New releases are bootstrapped from the preceding release. The process (in dk.cst.dannet.db.bootstrap):

  1. Load and clean the previous version's RDF data
  2. Convert to triples using the current schema
  3. Import into Apache Jena graphs and apply release changes (only when cutting a release, i.e. when to differs from from)
  4. Infer additional triples via OWL/RDFS schemas
  5. Export the final RDF dataset (see Database Release Workflow)

Bootstrap data lives under ./bootstrap relative to the execution directory:

the DanNet release assets in ./bootstrap/from/ / (named after the

release being bootstrapped *from*, so several can coexist) and the shared

English datasets in ./bootstrap/other/english/. Missing files are downloaded

automatically, so manual placement is only needed when working offline.

The rest of ./bootstrap/other/ holds files curated by hand, which aren't downloaded. If the COR files (cor*.tsv, *.cordiff and cor.sem.*.tsv) go missing, you can download them again from ordregister.dk.

If a database build fails partway, delete the half-built db/tdb2/ directory before you start again; the build error gives its path. A build only checks that the directory exists, so it would otherwise reuse the incomplete database.

Setup

DanNet requires Java and Clojure's official CLI tools. Dependencies are specified in deps.edn.

Development
  1. Start an nREPL on port 7888 with clojure -M:nrepl
  2. Start the web service using (restart) in dk.cst.dannet.web.service — available at localhost:3456
  3. Run the frontend with shadow-cljs:
   npx shadow-cljs watch app

It serves the app at localhost:7777, in front of the web service.

Most changes can be tried in the REPL without restarting the web service. Run the tests with clojure -X:validate:test, where the :validate alias adds the validators that the DMLex tests need.

Testing a Release Build

Using Docker (requires Docker daemon running):

# From the docker/ directory

docker compose up --build

Or manually:

shadow-cljs --aliases :frontend release app

clojure -T:build org.corfield.build/uber :lib dk.cst/dannet :main dk.cst.dannet.web.service :uber-file "\"dannet.jar\"" java -jar -Xmx4g dannet.jar

Memory Requirements

The system uses ~1.5 GB when idle and ~3 GB when rebuilding the database. A server should have at least 4 GB of available RAM.

Validating RDF (SHACL)

The dn: dataset is validated against SHACL shapes located in resources/schemas/internal/shapes/ (see dk.cst.dannet.db.shapes). This happens in several ways:

  • a non-fatal check of the asserted graph runs asynchronously at every boot, logging violations and comparing counts to a known baseline,
  • RDF exports of the dn: dataset are gated: a baseline regression aborts the export, and
  • fixture-based tests run via clojure -X:validate:test, which is also executed by the GitHub Actions workflow in .github/workflows/test.yml.
Validating WN-LMF
python3 -m venv examples/venv

source examples/venv/bin/activate python3 -m pip install wn python -m wn validate --output-file examples/wn-lmf-validation.json export/wn-lmf/dannet-wn-lmf.xml

Validating DMLex

The validator in dk.cst.dannet.db.export.dmlex-validate checks both serializations of a variant against the official DMLex schemas. It needs the :validate alias:

clojure -M:validate -e "((requiring-resolve 'dk.cst.dannet.db.export.dmlex-validate/validate-dmlex!) \"export/dmlex/\" \"da\")"

Deployment

The production server at wordnet.dk runs as a systemd service delegating to Docker.

Service Setup
cp system/dannet.service /etc/systemd/system/dannet.service

systemctl enable dannet systemctl start dannet

Updating the Web Service

To update the web service software without changing the database:

# From the docker/ directory

docker compose up -d dannet --build

Database Release Workflow

When releasing a new version of the database:

  1. Set to in dk.cst.dannet.release to the ne

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx