Skip to main content

Command-line client for exploring a Data Shape Server (DSS) knowledge graph schemas

Project description

PyPI License

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 25, 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 stdout
  • 2 — HTTP / transport / argument error, message on stderr
  • 130 — interrupted (Ctrl-C)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dss_ai_tools-0.5.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dss_ai_tools-0.5.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for dss_ai_tools-0.5.1.tar.gz
Algorithm Hash digest
SHA256 08249e441ad5814aa0c62537162f1687b1d22c89f5df2564daeab76811cf2702
MD5 ab973798af34b273389caf516d8d45ab
BLAKE2b-256 61085f1641cd52c5321486239fb1e63231dc09e71c5e87d0bd45e0c986919050

See more details on using hashes here.

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

Hashes for dss_ai_tools-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0d23cf08074fd4f440b576797d9a9c218c04d7865fe8ebf1efdd5170b924fa5
MD5 5bcaf204dc61354a60e3137e3b1865d9
BLAKE2b-256 9b2cbae62f19c113e90b67ef3fe490203a5220efc3fb226744fa8f91179bc452

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page