Installable CLI and MCP tools for the Esheria Regulatory Pack API.
Project description
Esheria CLI And MCP
Installable command-line and MCP tools for the Esheria Regulatory Pack API.
The package exposes two commands:
esheria --help
esheria-mcp --help
CLI Quickstart
- Create an API token in the Esheria dashboard.
- Install the command.
pipxis recommended because it keeps command-line tools isolated from project dependencies:
pipx install esheria
If you do not use pipx, use normal pip:
python3 -m pip install esheria
- Configure your shell. Put these in your terminal for a one-off test, or in
~/.zshrc,~/.bashrc, or your shell profile to keep them:
export ESHERIA_API_BASE_URL="https://api.esheria.ai"
export ESHERIA_API_KEY="<client-api-key>"
ESHERIA_API_TOKEN is also accepted as an alias when ESHERIA_API_KEY is
unset.
Do not commit API keys. The CLI and MCP server read credentials from environment variables or command-line flags and redact API key values from diagnostic output.
- Confirm the API is reachable:
esheria health --format json
esheria ready --format json
- Discover packs, choose a
domain_pack_id, then pass that pack ID to pack-specific commands:
esheria packs list --format json
esheria packs inspect KE-DATA-PROTECTION --format json
esheria packs versions KE-DATA-PROTECTION --format json
esheria packs diff KE-DATA-PROTECTION --format json
esheria packs change-events KE-DATA-PROTECTION --format json
esheria obligations list KE-DATA-PROTECTION --query breach --limit 3 --format json
esheria penalties list KE-DATA-PROTECTION --limit 5 --format json
esheria legal-review audit KE-DATA-PROTECTION --limit 5 --format json
KE-DATA-PROTECTION is only an example pack ID. The CLI and MCP server are
catalog-first: users should list packs and then call tools with the pack ID
they want. ESHERIA_DEFAULT_PACK_ID is optional legacy configuration and is not
required for normal CLI or MCP use.
MCP Server
MCP hosts run the server for you. The JSON/TOML snippet tells the host which command to start and which environment variables to pass into that process.
For local testing only, you can run the stdio server yourself:
esheria-mcp serve --stdio
The MCP server is read-only and exposes Regulatory Pack API tools for health, readiness, pack discovery, obligations, applicability, claim verification, version history, diffs, change events, filing calendars, evidence registers, penalty facts, legal review audit metadata, relationship graph queries, exports, and citation context lookup.
Codex MCP
Edit ~/.codex/config.toml and add:
[mcp_servers.esheria]
command = "uvx"
args = ["--from", "esheria", "esheria-mcp", "serve", "--stdio"]
env = { ESHERIA_API_BASE_URL = "https://api.esheria.ai", ESHERIA_API_KEY = "<client-api-key>" }
Restart Codex, then call esheria_health, esheria_ready, and
esheria_list_packs.
Claude Code
Run this once from a terminal. It writes the MCP server entry into Claude Code's MCP configuration:
claude mcp add --scope user --transport stdio \
--env ESHERIA_API_BASE_URL=https://api.esheria.ai \
--env ESHERIA_API_KEY=<client-api-key> \
esheria -- uvx --from esheria esheria-mcp serve --stdio
Then run:
claude mcp list
Start or restart Claude Code and ask it to use the Esheria MCP tools.
Claude Desktop
Open the Claude Desktop MCP config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add or merge this object:
{
"mcpServers": {
"esheria": {
"command": "uvx",
"args": ["--from", "esheria", "esheria-mcp", "serve", "--stdio"],
"env": {
"ESHERIA_API_BASE_URL": "https://api.esheria.ai",
"ESHERIA_API_KEY": "<client-api-key>"
}
}
}
}
Restart Claude Desktop after saving the file.
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
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 esheria-0.2.1.tar.gz.
File metadata
- Download URL: esheria-0.2.1.tar.gz
- Upload date:
- Size: 27.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
111e17a3e820cb28d3ac599c8f21213b9fce6a185a1e74211c77d9c59b12a762
|
|
| MD5 |
2c2a039bfcdcddc11eff0fce6e86885b
|
|
| BLAKE2b-256 |
91d6ffe053a872e2084c85932c5ba9294b90b3c117ce9e9141302f4ae07d8537
|
Provenance
The following attestation bundles were made for esheria-0.2.1.tar.gz:
Publisher:
publish-pypi.yml on esherialabs/esheria-regulatory-intelligence
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
esheria-0.2.1.tar.gz -
Subject digest:
111e17a3e820cb28d3ac599c8f21213b9fce6a185a1e74211c77d9c59b12a762 - Sigstore transparency entry: 1950094757
- Sigstore integration time:
-
Permalink:
esherialabs/esheria-regulatory-intelligence@ce7989ba800cf7a93b0bf2767c9444e7bd423994 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/esherialabs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ce7989ba800cf7a93b0bf2767c9444e7bd423994 -
Trigger Event:
push
-
Statement type:
File details
Details for the file esheria-0.2.1-py3-none-any.whl.
File metadata
- Download URL: esheria-0.2.1-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1be3637b4df0266035918c4073622b6bcdd31331f8cb2779659e865a65d1f208
|
|
| MD5 |
d1fe3cb061243805531c3d0b2a9d9a46
|
|
| BLAKE2b-256 |
32da528969333f1a5606a62956861e821177ead5ec7085c550392cf153290e2f
|
Provenance
The following attestation bundles were made for esheria-0.2.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on esherialabs/esheria-regulatory-intelligence
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
esheria-0.2.1-py3-none-any.whl -
Subject digest:
1be3637b4df0266035918c4073622b6bcdd31331f8cb2779659e865a65d1f208 - Sigstore transparency entry: 1950094917
- Sigstore integration time:
-
Permalink:
esherialabs/esheria-regulatory-intelligence@ce7989ba800cf7a93b0bf2767c9444e7bd423994 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/esherialabs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ce7989ba800cf7a93b0bf2767c9444e7bd423994 -
Trigger Event:
push
-
Statement type: