DSAIL MCP server
online · 100% uptimeai.jaxon/dsail·v1.0.6·9 starsTurn a written policy into rules a program can check, and get the same answer every time.
9 stars244 downloads/wk
Reviews
Write oneNobody has reviewed DSAIL yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
DSAIL tools
Tool list not cached yet. `describe` through the gateway fetches it live.
Public scan report
scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it
- Code scan21 source files scanned25/25
- Live reliabilityremote reachable in 224ms (auth required)20/20
- –Tool poisoningtools not inspected (endpoint requires auth); not countedn/a
- Auth qualityOAuth resource metadata advertised on 40115/15
- Maintenancelast push 7 days ago15/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace8/10
How DSAIL compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 98/100
- higher than 99% of 48,243 servers
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 132 ms
- faster than 78% of 30,027 servers
- GitHub stars
- 9
- more than 87% of 28,706 servers
- Downloads a week
- 244
- more than 78% of 12,306 servers with a package
Release history: 4 versions in the registry since 2026-09-20, latest 2026-10-09, typically one every 8 days.
Install DSAIL in Claude Code, Cursor or VS Code
claude mcp add --transport http dsail https://agents.jaxon.ai/mcp
What the publisher says
From the DSAIL repository's README, as published. We do not edit it. Read it on GitHub
dsail
<!-- mcp-name: ai.jaxon/dsail -->
pip install dsail — the thin client for the DSAIL hosted service, from Jaxon.
Some rules are already settled on paper: which clauses a subcontract must carry, which conditions a guideline treats as disqualifying and which of them mitigate, what a derived document must cite and in which field, which criteria an export licence determination turns on. Nobody needs a model's opinion on those. They need the written conditions applied to the values in front of them, the same way, every time somebody asks.
DSAIL is for exactly that. Turn a written policy into rules a program can check, and get the same answer every time. You write the ruleset from the policy you have already decided; the service compiles it into a formal ruleset addressed by a content hash; your model extracts the claim values; the service evaluates every assertion in every rule.
Results come back per assertion — TRUE, FALSE, UNKNOWN or AMBIGUOUS. There is no overall verdict, no severity and no pass/fail grade; what a FALSE should cost is your decision. A FALSE carries the solver's counterexample, so you can show the rule that decided, with a counterexample. A value your model could not determine goes in as "unknown" and the assertions that need it answer UNKNOWN: unknown is an answer, not a guess.
No model in the loop on our side. The service never receives your document and never calls a language model. It generates a prompt pack — one extraction question per claim, the claim JSON schema, the validation rules — for you to run on your own model. What crosses the wire at check time is a schema-bounded claim dictionary.
Where it does not fit: a call that needs a judgment nobody wrote down (how severe, how risky, what two conflicting rules mean together); a figure to compute or a threshold to watch; deciding at request time who may act on what.
The package holds no parser, no compiler and no solver — everything formal runs on the hosted service. It gives you dsail.Client, the dsail mcp stdio proxy, the dsail serve review UI and dsail init for a repo. Docs, every page also served as markdown: https://docs.agents.jaxon.ai
Install
pip install dsail
dsail versionPython 3.10 or newer. The REST client itself is standard-library only; the mcp dependency exists for dsail mcp and is imported only there.
Sixty seconds, end to end
dsail init # once per repository; commit what it writes
cat > policies/expenses.dsail <<'EOF'
version 1.3;
// @ask amount What is the total amount of this expense claim, in USD?
// @unit amount USD
declare amount as numeric;
// @ask has_receipt Is an itemised receipt attached?
declare has_receipt as boolean;
assert receipt_over_75 { Implies(amount > 75 "USD", has_receipt) };
assert within_cap { amount <= 5000 "USD" };
EOF
dsail compile policies/expenses.dsail --review # what a person would be signing
dsail prompt-pack policies/expenses.dsail --render
echo '{"amount": "120 USD", "has_receipt": false}' > claims.json
dsail check policies/expenses.dsail --claims claims.json --summary
dsail serve policies/expenses.dsail # hand the reviewer the printed linkThe client, in a production service
import dsail
client = dsail.Client() # DSAIL_URL, DSAIL_CREDENTIAL honoured
compiled = client.compile(open("policies/expenses.dsail").read())
pack = client.prompt_pack(ruleset_hash=compiled.ruleset_hash)
claims = pack.empty_claims() # every claim "unknown" to start
for prompt in pack.prompts: # run each on YOUR model
claims[prompt.claim] = my_model.extract(document, prompt.render())Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
DSAIL: common questions
- Is DSAIL MCP server safe?
- Yes, by our scan: it is graded A (98/100). Read the DSAIL safety report
- How do I install DSAIL?
- It runs remotely at agents.jaxon.ai. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does DSAIL need an API key?
- No key to paste: it signs you in with OAuth when your client connects.
- Is DSAIL maintained?
- The last commit was 28 days ago (2026-10-09). The latest release is v1.0.6.
- Is DSAIL up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does DSAIL compare with other MCP servers?
- safety score 98/100 (higher than 99% of 48,243 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 132 ms (faster than 78% of 30,027 servers). Full comparison.