Command-line client for exploring a Data Shape Server (DSS) knowledge graph schemas
Project description
dss-ai-tools
Tools for exploring a Data Shape Server (DSS) knowledge graph schemas — classes, properties, their relations, and namespaces — over the DSS HTTP API. There are three ways to use it, all sharing one small client:
| Component | What it is | Where |
|---|---|---|
| CLI | A single-file Python client (dss), standard library only. Requires Python >= 3.10. |
dss.py |
| Claude skill | A self-contained Claude Code skill that drives the CLI. | skill/ |
| MCP server | An MCP server exposing the same endpoints as tools. | mcp-server/ |
The CLI implements the core functionality; the skill and MCP server bundle a copy of dss.py so each is self-contained. Run scripts/sync.sh after editing the canonical dss.py to refresh the copies.
Configure
All three approaches use the same environment variables:
export DSS_BASE_URL=https://dss.semtech.lv # default
export DSS_TIMEOUT=30 # optional, seconds
The CLI and MCP tools also accept a per-call override (--base-url / base_url).
CLI
python3 dss.py --help
Install from PyPI to get the dss command on your PATH:
pipx install dss-ai-tools # provides the `dss` command
# or run without installing:
uvx --from dss-ai-tools dss --help
Or install from a checkout of this repo:
pipx install . # provides the `dss` command (see pyproject.toml)
Commands
| Command | DSS endpoint |
|---|---|
ontologies [--variant ...] [--tag TAG] |
GET /api/info (variants 2–5, tags; --tag with variant 3) |
schema-tags |
GET /api/schema_tags |
public-ns |
GET /api/public_ns |
namespaces <ont> |
GET /api/ontologies/<ont>/ns |
classes <ont> [--limit N] [--filter STR] |
POST .../getClasses |
properties <ont> [--limit N] [--filter REGEX] [--kind ...] |
POST .../getProperties |
resolve-class <ont> <name> |
POST .../resolveClassByName |
resolve-property <ont> <name> |
POST .../resolvePropertyByName |
class-out-properties <ont> <class_id> [--limit N] |
POST .../xx_getClassOutProperties (by c_id) |
class-in-properties <ont> <class_id> [--limit N] |
POST .../xx_getClassInProperties (by c_id) |
class-pairs <ont> <p_list> |
POST .../xx_getCPCInfoNew — (source, target) class pairs for a property |
call <ont> <fn> [--body JSON|-] [--param k=v ...] |
POST .../<fn> (escape hatch) |
The class-* commands key on numeric ids: get a class id from resolve-class and a property id from resolve-property.
Output is indented human-readable JSON by default; pass --compact for single-line (pipe-friendly).
dss ontologies | jq '.[].db_schema_name'
dss classes dbpedia --filter Person --limit 20
dss resolve-property dbpedia dbo:birthPlace
dss class-pairs war_sampo 116
Claude skill
skill/ is a self-contained Claude Code skill. Install it user-level:
mkdir -p ~/.claude/skills
cp -R skill ~/.claude/skills/dss
See docs/USAGE.md for setup, pointing it at a server, and example prompts.
MCP server
See mcp-server/README.md. In short, register it from
the published package (no checkout needed):
claude mcp add dss -e DSS_BASE_URL=https://dss.semtech.lv -- uvx --from "dss-ai-tools[mcp]" dss-mcp
The mcp extra requires Python >= 3.10. To run from a checkout instead:
cd mcp-server
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
DSS_BASE_URL=https://dss.semtech.lv python3 dss_mcp.py
Exit codes (CLI)
0— success, JSON on stdout2— HTTP / transport / argument error, message on stderr130— interrupted (Ctrl-C)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dss_ai_tools-0.5.1.tar.gz.
File metadata
- Download URL: dss_ai_tools-0.5.1.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08249e441ad5814aa0c62537162f1687b1d22c89f5df2564daeab76811cf2702
|
|
| MD5 |
ab973798af34b273389caf516d8d45ab
|
|
| BLAKE2b-256 |
61085f1641cd52c5321486239fb1e63231dc09e71c5e87d0bd45e0c986919050
|
File details
Details for the file dss_ai_tools-0.5.1-py3-none-any.whl.
File metadata
- Download URL: dss_ai_tools-0.5.1-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0d23cf08074fd4f440b576797d9a9c218c04d7865fe8ebf1efdd5170b924fa5
|
|
| MD5 |
5bcaf204dc61354a60e3137e3b1865d9
|
|
| BLAKE2b-256 |
9b2cbae62f19c113e90b67ef3fe490203a5220efc3fb226744fa8f91179bc452
|