settings — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited settings (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server for Amazon SageMaker Catalog (DataZone) with 100% API coverage via auto-generation from the botocore service model.
This server automatically generates MCP tools for all 175+ DataZone API operations by reading the service model from botocore at startup. When AWS adds new operations, simply update boto3 — no code changes needed.
awslabs/amazon-datazone-mcp-server, plus 126+ more# From source
git clone https://github.com/difeorte/amazon-sagemaker-catalog-mcp-server.git
cd amazon-sagemaker-catalog-mcp-server
pip install .
# For development
pip install -e ".[dev]"The server uses the standard boto3 credential chain:
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)~/.aws/credentials)~/.aws/config with sso_session)The IAM role or user needs DataZone permissions. For a read-only catalog agent (browse, search, subscribe):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"datazone:List*",
"datazone:Get*",
"datazone:Search*",
"datazone:CreateSubscriptionRequest"
],
"Resource": "*"
}
]
}For full access (create/update/delete resources), use datazone:* — but scope it down based on your use case. The server exposes all 175+ operations, so the IAM policy is what controls what the agent can actually do.
For catalog operations like search_listings, create_subscription_request, etc., the IAM role must be added as a project member in the SageMaker Unified Studio portal. This is a one-time setup per role per project. Without project membership, administrative operations (list_domains, get_domain, list_projects) still work, but catalog-level operations will return AccessDeniedException.
| Variable | Description | Default |
|---|---|---|
AWS_REGION | AWS region for API calls | boto3 default |
AWS_PROFILE | AWS profile name | default |
MCP_TRANSPORT | Transport type (stdio or streamable-http) | stdio |
MCP_PORT | Port for HTTP transport | 8000 |
sagemaker-catalog-mcp-serversagemaker-catalog-mcp-server --transport streamable-http --port 8000--transport {stdio,streamable-http} Transport type (default: stdio)
--port PORT Port for HTTP transport (default: 8000)
--region REGION AWS region
--profile PROFILE AWS profile nameAdd to your MCP client configuration (e.g., .kiro/settings/mcp.json):
{
"mcpServers": {
"sagemaker-catalog": {
"command": "sagemaker-catalog-mcp-server",
"args": ["--region", "us-east-1"],
"env": {
"AWS_PROFILE": "your-profile"
}
}
}
}Or if running from source without installing:
{
"mcpServers": {
"sagemaker-catalog": {
"command": "/path/to/project/.venv/bin/python",
"args": ["-m", "sagemaker_catalog_mcp_server"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "your-profile",
"PYTHONPATH": "/path/to/project/src"
}
}
}
}The server exposes 175+ tools, one for each DataZone API operation. Examples:
| Tool | Description |
|---|---|
list_domains | Lists Amazon DataZone domains |
get_domain | Gets a domain |
create_project | Creates a project |
search_listings | Searches published assets in the catalog |
create_subscription_request | Requests access to a data asset |
get_asset | Gets asset details (technical + business metadata) |
create_glossary | Creates a business glossary |
list_data_sources | Lists data sources in a project |
For the complete list, start the server and use your MCP client's tool listing feature.
AccessDeniedException. Currently, adding project members is done from the SageMaker Unified Studio portal.When a subscription is approved, SageMaker Unified Studio creates resource links in the consumer project's Lakehouse database (e.g., central_data_lake_<envId>). To query subscribed data, the agent must chain-assume the project execution role (datazone_usr_role_<projectId>_<envId>) and use the project's Athena workgroup. The data appears under the local Lakehouse database, not the producer's catalog ID.
This server is an unofficial extended version inspired by awslabs/amazon-datazone-mcp-server (v0.1.1). All 49 tools from the official server are available with the same names and parameters, plus 126+ additional tools covering the rest of the API.
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest -vThe server uses a code generation approach at startup:
service-2.json from botocore (supports .json.gz)mcp.server.lowlevel.Server) handles the protocol, ensuring each tool gets its exact inputSchema from the AWS APIThis means the server automatically supports new API operations when boto3 is updated.
Apache 2.0
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.