Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
DanNet - Danish WordNet with rich lexical relationships and SPARQL access.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://wordnet.dk/mcpRun this in your terminal
claude mcp add --transport http dannet https://wordnet.dk/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"dannet": {
"url": "https://wordnet.dk/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"dannet": {
"type": "http",
"url": "https://wordnet.dk/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://wordnet.dk/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account kuhumcst, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.2) reached the registry 10 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, 好縮 Short
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Smart URL shortener: create, tag and track short links on s.gooo.name.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
DanNet is available in multiple formats to maximise compatibility:
| Format | Description |
|---|---|
| RDF (Turtle) | Native representation. Load into any RDF graph database (such as Apache Jena) and query with SPARQL. |
| CSV | Published with column metadata as CSVW. |
| WN-LMF | XML format compatible with Python libraries like wn. |
| DMLex | OASIS DMLex 1.0 representation as both XML and JSON, in a Danish and an English variant. The DMLex browser shows it as a dictionary. |
import wn
wn.add("dannet-wn-lmf.xml.gz")
for synset in wn.synsets('kage'): print((synset.lexfile() or "?") + ": " + (synset.definition() or "?"))
While every format includes all synsets/senses/words, the CSV, WN-LMF and DMLex variants do *not* include every data point:
For the complete dataset, use the RDF format or browse at wordnet.dk.
Several companion datasets expand the RDF graph with additional data:
| Dataset | Description |
|---|---|
| COR | Links DanNet resources to IDs from the COR project. |
| DDS | Adds sentiment data to DanNet resources. |
| OEWN extension | Provides DanNet-style labels for the Open English WordNet to facilitate browsing connections between the two datasets. |
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.
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 class | Represents |
|---|---|
ontolex:LexicalConcept | Synsets |
ontolex:LexicalSense | Word senses |
ontolex:LexicalEntry | Words |
ontolex:Form | Forms |
| Prefix | URI | Purpose |
|---|---|---|
dn | https://wordnet.dk/dannet/data/ | Dataset instances |
dnc | https://wordnet.dk/dannet/concepts/ | Ontological type members |
dns | https://wordnet.dk/dannet/schema/ | Schema definitions |
dnf | https://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.
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.
DanNet can be connected to AI tools like Claude via MCP (Model Context Protocol).
https://wordnet.dk/mcpio.github.kuhumcst/dannetTo 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.
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.
The production deployment at wordnet.dk consists of three services managed via Docker Compose:
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.
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.
New releases are bootstrapped from the preceding release. The process (in dk.cst.dannet.db.bootstrap):
to differs from from)Bootstrap data lives under
./bootstraprelative 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.
DanNet requires Java and Clojure's official CLI tools. Dependencies are specified in deps.edn.
clojure -M:nrepl(restart) in dk.cst.dannet.web.service — available at localhost:3456 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.
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
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.
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:
dn: dataset are gated: a baseline regression aborts the export, andclojure -X:validate:test, which is also executed by the GitHub Actions workflow in .github/workflows/test.yml.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
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\")"
The production server at wordnet.dk runs as a systemd service delegating to Docker.
cp system/dannet.service /etc/systemd/system/dannet.service
systemctl enable dannet systemctl start dannet
To update the web service software without changing the database:
# From the docker/ directory
docker compose up -d dannet --build
When releasing a new version of the database:
to in dk.cst.dannet.release to the neOnly the beginning is shown; read the rest in the repo