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 |
(none) | Path to PEM certificate for TLS |
Usage
Windows users: start at docs/windows-setup.md.
- CLI coding agents (Claude Code, Copilot CLI, opencode): see docs/cli-clients.md
- Any other MCP client (Claude Desktop, other GUI apps, or anything else): see docs/gui-clients.md
- No coding agent permitted? An experimental example drives the same tools from any OpenAI-compatible LLM, local or hosted: see docs/local-llm.md
Tools
Every tool is defined in src/prosuite_mcp/tools.py: its docstring is the authoritative description, the same one your MCP client shows the LLM.
Example
Once connected, you talk to the assistant in plain language:
Check road connectivity in
C:/data/tlm.sde.
With a spec loaded, the assistant calls describe_spec to see which specifications and workspaces it defines, then run_xml_verification to run one against your data, and returns a summary of errors per condition. The spec goes to the ProSuite service as-is, so per-condition filters and defaults are applied exactly as your domain experts configured them. search_spec browses the conditions in a spec by keyword.
list_datasets and describe_dataset read the geodatabase itself, so the assistant can pick conditions from the actual geometry type, feature count and field names rather than from a dataset's name. These read the path on the machine running this server, which need not be the one the ProSuite service resolves paths on.
list_conditions and describe_condition are enriched with the ProSuite QA Quick Reference: each test gains the readable description and the test family it belongs to, and searches match that wording rather than only the API docstring. The document is downloaded in the background when the server starts, and a lookup never waits for it, so calls made before it lands, or on a host that cannot reach it, return the same output as before without the enrichment.
Without a spec, the assistant uses list_conditions and describe_condition to find and configure conditions from scratch, then run_verification to run them ad-hoc. Datasets take a filter_expression here too, but only one per dataset per run, so a spec that filters the same feature class differently in two conditions cannot be reproduced this way.
Development
See docs/development.md.
Metadata
Release files for prosuite-mcp 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| prosuite_mcp-0.2.3.tar.gz | 106.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prosuite_mcp-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 135.7 kB
Release files / prosuite_mcp-0.2.3.tar.gz
| Download URL | prosuite_mcp-0.2.3.tar.gz |
|---|---|
| Size | 106.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d722cd5aac90123dea2ebd6f22b66d32d24d6a90a33a45ee9ffc30ad8c9e713b
|
|
BLAKE2b-256 checksum How to use checksums |
bab1ebc824682c9bf165d82a1f6fef9360e8cd3d2f76c05cb3a40c39b7ad663f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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}
|
Release files / prosuite_mcp-0.2.3-py3-none-any.whl
| Download URL | prosuite_mcp-0.2.3-py3-none-any.whl |
|---|---|
| Size | 28.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ff250dbfb53eaec8d89e4e402156e8ea2bf6b9c14afd8980c02de7de2ba6db2
|
|
BLAKE2b-256 checksum How to use checksums |
799378d253791aef06f873aba6cab2b19307a7c56e8aa5588846be36b408f276
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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}
|
Security for prosuite-mcp 0.2.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.