MCP server for Dira ProSuite quality verification
Project description
prosuite-mcp
MCP server that exposes Dira ProSuite quality verification to AI assistants (Claude, etc.).
Prerequisites
A running ProSuite Quality Verification Server reachable from the host where this server runs.
Configuration
| Environment variable | Default | Description |
|---|---|---|
PROSUITE_HOST |
localhost |
ProSuite service host |
PROSUITE_PORT |
5151 |
ProSuite service port |
PROSUITE_SSL_CERT_PATH |
— | Path to PEM certificate for TLS |
PROSUITE_SPEC_PATH |
— | Path to a .qa.xml spec file for domain-aware condition search |
Usage
Both options below assume you create a project directory first:
mkdir mytest
cd mytest
uv init
uv add prosuite-mcp
Claude Code CLI
Register the server from inside mytest, then start Claude:
claude mcp add prosuite \
-e PROSUITE_HOST=localhost \
-e PROSUITE_PORT=5151 \
-e PROSUITE_SPEC_PATH="C:/path/to/spec.qa.xml" \
-- uv run prosuite-mcp
claude
The -- uv run prosuite-mcp tells Claude Code to start the MCP server via uv run in the current project, so prosuite-mcp is resolved from the local .venv. Run claude from the same mytest directory each time.
Claude Desktop
Add to claude_desktop_config.json (find it via Settings → Developer):
{
"mcpServers": {
"prosuite": {
"command": "uv",
"args": ["run", "prosuite-mcp"],
"cwd": "C:\\mytest",
"env": {
"PROSUITE_HOST": "localhost",
"PROSUITE_PORT": "5151",
"PROSUITE_SPEC_PATH": "C:\\path\\to\\spec.qa.xml"
}
}
}
}
cwd points to the mytest directory so uv run can find the local install. Restart Claude Desktop after editing the file.
Tools
search_spec <query> [max_results] — Searches the loaded .qa.xml spec for conditions matching a natural-language query (English, German, French, Italian). Returns up to max_results (default 20) matching conditions with pre-filled condition_request blocks ready to pass directly to run_verification, plus the required_datasets list. Requires PROSUITE_SPEC_PATH.
list_conditions [search] — Lists available quality conditions. Pass a keyword to filter by name or description.
describe_condition <name> — Shows the full docstring and parameter list for a condition, including which parameters expect dataset names vs. primitive values.
run_verification — Runs an ad-hoc quality verification against a workspace. Key parameters:
| Parameter | Type | Description |
|---|---|---|
model_catalog_path |
string | Workspace path on the server (C:/data/my.gdb, .sde file, …) |
model_name |
string | Logical name for the data model |
datasets |
list | Feature classes/tables: {name, filter_expression?} |
conditions |
list | Conditions to run: {condition, params} |
output_dir |
string? | Server-side directory for Issues.gdb and HTML report |
envelope |
object? | Spatial filter {x_min, y_min, x_max, y_max} |
Returns a summary with status, total_errors, and a per-condition breakdown.
Example
Once connected, you talk to Claude in plain language:
Check road connectivity in
C:/data/tlm.sde.
With a spec loaded, Claude calls search_spec to find the relevant pre-configured conditions from the .qa.xml file, then calls run_verification with the pre-filled parameters and returns a summary of errors per condition.
Without a spec, Claude uses list_conditions and describe_condition to find and configure conditions from scratch.
Development
uv sync --dev
uv run pytest
uv run ruff check src
uv run pyright src
License
MIT — see LICENSE.
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 prosuite_mcp-0.0.2.tar.gz.
File metadata
- Download URL: prosuite_mcp-0.0.2.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
722f01e017be841b593f09653c7a181bfaed43bb7df6fb018d1d7cf5b016eda9
|
|
| MD5 |
8d7225776702a3dc5b86973eedcd1295
|
|
| BLAKE2b-256 |
94dde677b7fae07d5a29db0222c0844160ac3bfd9a12e280a655b9fca9f0b408
|
File details
Details for the file prosuite_mcp-0.0.2-py3-none-any.whl.
File metadata
- Download URL: prosuite_mcp-0.0.2-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2282d894e254a9efc169f54ad0a1856fab9b4964396a7e427bec789a43502492
|
|
| MD5 |
3a21df99743ed64d8ceba41a417b8393
|
|
| BLAKE2b-256 |
771b5f2da011463d968b720ad3f1acb76191a578931cee49851b2d7d3a28fc31
|