data-marketplace-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@data-marketplace-mcp-serversearch for certified data products about customer churn in DACH region"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Internal Data Marketplace MCP Server
MCP-Agent für einen internen Data Marketplace (Data Mesh Store / Internal Data Portal) — optimiert für Cloudera AI Workbench.
Der Fokus liegt auf Kollaboration, Governance und Systemintegration: Datensilos aufbrechen, damit Teams Daten self-service finden, prüfen und freigeben lassen können — ohne monatelange IT-Tickets.
Basisfunktionen
Bereich | Funktion | MCP-Tool |
Discovery | Unternehmensweiter Datenkatalog |
|
Discovery | Metadaten & Ownership |
|
UX | Vorschau & Profiling |
|
Governance | Business Glossary |
|
Governance | Data Lineage |
|
Access | Zugriff anfordern („Warenkorb“) |
|
Access | Anfragen verwalten |
|
Access | Genehmigen / Ablehnen |
|
Publishing | Datenprodukt anbieten |
|
Trust | Zertifizierungs-Badge |
|
Feedback | Sterne-Bewertung |
|
Related MCP server: Data Product MCP
Demo-Szenario (Sarah & Thomas)
Suche:
search_data_products(query="Kundenhistorie Kündigungen", region="DACH", certified_only=true)Prüfung:
get_data_product("DP-SALES-CHURN-HIST"),preview_data_product(...),get_product_lineage(...)Zugriff:
request_data_access(...)mit Nutzungszweck und ZielumgebungGenehmigung: Thomas ruft
approve_access_request(...)auf → automatisches ProvisioningFeedback:
submit_product_feedback(...)nach Nutzung
Lokale Entwicklung
cd data-marketplace-mcp-server
uv sync
uv run python -m pytest tests/ -q
uv run run-marketplace # stdio MCP (Cursor / Claude Desktop)Cloudera AI Workbench Deployment
Option A: Docker Application
Build & push image:
docker build -t data-marketplace-mcp:0.1.0 .In Cloudera AI Workbench eine neue Application anlegen:
Runtime: Docker
Port:
8080Env: siehe
cai-workbench/app.yaml
Persistent volume auf
/datamounten (MARKETPLACE_DATA_DIR).
Option B: HTTP MCP für Workbench Agents
export MCP_TRANSPORT=http
export MCP_HOST=0.0.0.0
export MCP_PORT=8080
export MARKETPLACE_DATA_DIR=/data
run-marketplaceWorkbench-Agents verbinden sich per MCP Streamable HTTP auf Port 8080.
Konfiguration
Variable | Default | Beschreibung |
|
|
|
|
| Bind-Adresse (HTTP) |
|
| Port (HTTP) |
|
| Persistenz für Produkte & Anfragen |
| — | Optional: Atlas-Katalog anreichern |
| — | Knox/Atlas Auth |
| — | Optional: Ranger/Entra-ID Automation |
Atlas-Integration (CDP)
Wenn ATLAS_* gesetzt ist:
search_data_productsliefert zusätzlich Atlas-Treffer (hive_table,iceberg_table)get_product_lineagenutzt Atlas Lineage APIsearch_glossarydurchsucht Atlas Business Glossary
Provisioning (Erweiterung)
Standardmäßig simuliert approve_access_request das Provisioning (Gruppenzuweisung, Zugriff freischalten).
Für echte Automation einen Webhook setzen:
export MARKETPLACE_PROVISIONING_WEBHOOK=https://your-provisioner/ranger-or-entraDer Webhook erhält JSON mit request und product und kann Ranger Policies oder Entra-ID-Gruppen steuern.
MCP in Cursor konfigurieren
{
"mcpServers": {
"data-marketplace": {
"command": "uv",
"args": ["run", "--directory", "/path/to/data-marketplace-mcp-server", "run-marketplace"],
"env": {
"ATLAS_GATEWAY_URL": "https://<host>/<topology>/cdp-proxy-api/atlas/api/atlas/",
"ATLAS_USER": "<user>",
"ATLAS_PASS": "<pass>"
}
}
}
}Lizenz
Apache-2.0
Available Tools
16 toolsapprove_access_requestC
Zugriffsanfrage genehmigen und automatisches Provisioning anstoßen.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| approver | Yes | ||
| request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that approving 'initiates automatic provisioning' which is useful, but doesn't disclose whether the action is reversible, whether the approver parameter must match a specific role or identity, whether comment is required, or what happens on failure. For a mutation action with zero annotation coverage, this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence, front-loaded with the primary action. It is efficient and earns its place. However, given the completeness gaps, slightly more content would be warranted rather than maximum brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool is a mutation operation with no annotations and 0% parameter coverage. The description must do more to explain workflow context, approval semantics, and parameter formats. With 16 sibling tools in an approval workflow, the description leaves the agent without clarity on how this fits into request/data-governance flows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter-level detail beyond 'genehmigen'. It doesn't clarify what request_id refers to (a request object ID), what format the approver should take (username, email), or what the comment field is for. With 3 parameters and 0% coverage, the description fails to compensate, leaving parameter semantics to the agent to infer from names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb-action (approve an access request) and that it triggers automatic provisioning. It's written in German, which matches the tool's domain context. However, it doesn't explicitly distinguish from sibling reject_access_request in its description, though the verb differentiation is inherent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. With sibling tool reject_access_request and list_access_requests available, the description gives no guidance on workflow sequencing (e.g., should you list requests first, what state the request must be in, whether rejection is the alternative). No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certify_data_productB
Qualitätssiegel setzen (verified, certified, deprecated).
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | ||
| certification | No | certified |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the effect (setting a certification seal of one of three states), which reveals that this is a mutating operation. However, it doesn't disclose what happens to existing certifications, whether deprecated conflicts with other states, or any permission/access requirements for a mutation with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that conveys the action and the enumeration of possible values. It is appropriately minimal with no filler, though it could have added value within the same brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, this is a mutating tool with no annotations and 0% parameter coverage. The description explains the core function but omits important context: prerequisites (e.g., must the product be published first?), effects on visibility/access, transition rules between certification states, and what the response indicates. For a state-changing operation this is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It indicates the 'certification' parameter values implicitly ('verified, certified, deprecated'), partially covering that parameter. However, 'product_id' is left entirely to the schema, and there's no explanation of how these values are serialized (exact string matching?) or any constraints on transitioning between states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Qualitätssiegel setzen') targeting a specific resource (data product) with explicit possible values (verified, certified, deprecated). This distinguishes it from sibling tools like publish_data_product or sync_data_product_to_atlas, though it doesn't name those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no conditional context (e.g., only after publishing, or requires ownership). It doesn't say when NOT to use it or which sibling tools cover related but different scenarios, leaving the agent to infer context from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ensure_data_marketplace_typedefB
Register or upgrade the data_marketplace_product entity typedef in Atlas (serviceType: data_mesh). WRITE OPERATION
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly flags itself as a '**WRITE OPERATION**', which is valuable disclosure since no annotations are provided and the schema carries no safety hints. However, it doesn't explain what the operation does beyond registering/upgrading (e.g., whether it overwrites existing typedefs, whether it's idempotent, or what the implications are). The write flag is helpful, but additional behavioral context would strengthen it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at a single sentence with the write-operation warning clearly front-loaded in bold. Every word earns its place. It could potentially add a use-case note, but as structured it's efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a zero-parameter operation with an output schema and a clear write-flag disclosure. However, for a write operation with no annotations, the description is somewhat thin. It doesn't explain the registration/upgrade mechanics, idempotency, or why 'ensure' semantics matter (does it skip if already present?). Given the complexity of the operation (Atlas typedef management) and absence of annotations, slightly more context would be appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, there are no parameters to clarify. The baseline for zero-parameter tools is 4, and the description appropriately doesn't need to address parameters. The description adds zero parameter meaning but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Register or upgrade' and the resource 'data_marketplace_product entity typedef in Atlas (serviceType: data_mesh)'. It names the specific entity and service type, which distinguishes it from sibling tools that operate on products, glossary, or access requests. However, it doesn't fully differentiate from sync_data_product_to_atlas, which also touches Atlas, creating some potential confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus alternatives. Notably, sync_data_product_to_atlas is a sibling that also interacts with Atlas, yet there's no guidance on when to use ensure_data_marketplace_typedef vs that tool. The description provides no exclusions, prerequisites, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_data_productB
Metadaten, Ownership, Zertifizierung und Governance eines Datenprodukts laden.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Laden' implies a read-only operation, which is consistent with a metadata retrieval tool. However, it doesn't disclose whether it returns data content (vs just metadata), whether access is required, or what happens for non-existent products. The relative safety of a read operation limits the harm, but specifics about return behavior are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence in German that efficiently enumerates the four metadata categories loaded (Metadaten, Ownership, Zertifizierung, Governance). No wasted words. Could arguably include more, but for a fetch-by-ID tool the length is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema present, so return values are externally documented and needn't be detailed in the description. The single-parameter tool is simple. However, with no annotations and 0% schema coverage, the description could compensate more—for instance by explaining what each metadata category (Ownership, Certification, Governance) means and how this differs from preview_data_product. Adequate but with gaps for a governance-rich tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the product_id parameter, and the description provides no elaboration on what product_id is, where to obtain it, or its format. The description mentions 'eines Datenprodukts' (of a data product) which loosely ties to the parameter, but doesn't add meaningful semantics beyond the schema's bare 'Product Id' title. The parameter would benefit from guidance on source or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is in German and states it loads 'metadata, ownership, certification and governance' of a data product. The verb 'laden' (load/retrieve) plus the specific resource (data product) makes the purpose clear, and it distinguishes itself from siblings like search_data_products (search) and preview_data_product (preview data content). Slightly less strong because it doesn't explicitly contrast with the lineage tool (get_product_lineage) which might overlap in the governance domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With 16 siblings including search_data_products, preview_data_product, and get_product_lineage, there's ambiguity about when to fetch full product metadata vs search vs preview. The description implies 'when you need full metadata including governance details' but never states this explicitly or names alternatives to exclude.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_lineageC
Data Lineage (Daten-Stammbaum) für ein Produkt — inkl. Atlas wenn konfiguriert.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The description only mentions Atlas as config-dependent but doesn't disclose whether this is read-only, what happens when Atlas isn't configured, whether lineage can be fetched recursively (related to depth param), or any performance/caching implications. For a lineage-fetching tool with no annotation coverage, this is under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it's in German while the tool name and schema fields are English. This language mismatch may reduce clarity for some agents. It's appropriately short but under-specifies rather than being efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and two parameters with 0% schema coverage, making the description the primary source of tool semantics. The German description mentioning Atlas is helpful context, but for a lineage tool with a depth parameter and 16 siblings, the description is too thin to guide correct selection and configuration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It doesn't describe either parameter. The 'depth' parameter (default 3) is non-obvious — it likely controls how many lineage levels to traverse — and product_id's format/location is also unspecified. The description adds zero parameter semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides data lineage for a product, mentioning Atlas if configured. This gives a basic sense of purpose (verb+resource), but it's written in German, is somewhat terse, and doesn't clearly distinguish from the many sibling tools. It does differentiate implicitly from get_data_product and preview_data_product, but doesn't clearly state what 'lineage' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The phrase 'inkl. Atlas wenn konfiguriert' gives a small hint about configuration-dependent behavior, but there's no when-to-use, when-not-to-use, or alternative tool mention despite 16 siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_access_requestsC
Subscriber/Zugriffsanfragen auflisten.
Im Data-Contract-Modus werden consumer-Einträge aus dem governing data_contract gelesen.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| requester | No | ||
| product_id | No | ||
| owner_contact | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. The description mentions that in data-contract mode consumer entries are read from the governing data_contract, which is a specific behavioral detail, but it doesn't disclose pagination, sorting, default status handling, or what happens when no mode is specified. For a read/list tool, limited behavior disclosure is acceptable but the conditions for data-contract mode remain unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, using just a couple of sentences. However, it mixes languages (German main text with English technical terms), which is a structural weakness. It is concise but under-specified for the information it should convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, this tool has 0% parameter documentation coverage, no annotations, and no usage/alternative guidance. For a 4-parameter filtering tool with siblings to differentiate from, the description is notably incomplete. The data-contract mode note adds context but leaves the normal (non-data-contract) mode behavior unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all 4 parameters (status, requester, product_id, owner_contact). It provides zero parameter-level information about filtering semantics, formats, or accepted values. The baseline of 3 cannot be justified given 0% coverage; the description adds no parameter value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it lists subscriber/access requests, with a specific mention of data-contract mode for reading consumer entries. The verb 'auflisten' (list) plus the resource (access requests) is clear, but the mixed German/English text and the reference to 'Subscriber/Zugriffsanfragen' creates slight ambiguity. It doesn't differentiate from sibling tools like list_product_subscribers, which could overlap in domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Sibling tools include list_product_subscribers and request_data_access, and the description doesn't clarify the distinction between listing access requests versus subscribers. There's a partial hint about data-contract mode but no explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_product_subscribersC
Subscriber eines Datenprodukts aus dem governing Data Contract lesen.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals it is a read operation ('lesen'), which is the only behavioral disclosure. It doesn't clarify whether it returns subscribers with permission levels, whether it reflects pending vs approved access, or how the data contract governs subscriber state. With zero annotation coverage, more behavioral detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence in German. It is efficiently sized and front-loaded with the core action. However, for a tool with 0% schema description coverage and no annotations, the brevity is more under-specification than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only 1 parameter, no annotations, 0% schema description coverage, but with an output schema provided, the description should clarify what the output represents. It does not explain the return semantics. Though low complexity, the complete lack of parameter and behavioral detail leaves gaps for a tool that likely returns a meaningful list requiring interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented product_id parameter. However, the description mentions 'Datenprodukt' (data product) which implicitly ties product_id to a data product identifier, but adds no format constraints, no guidance on how to obtain the ID, and no mention of which contract it maps to. Minimal value added over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it reads subscribers of a data product from the governing data contract ('Subscriber eines Datenprodukts aus dem governing Data Contract lesen'). This is a specific verb+resource, distinguishing it from siblings like get_data_product or search_data_products in that it deals with subscribers specifically, though it doesn't name any alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use it versus alternatives. Given siblings like get_data_product, preview_data_product, and request_data_access, the description provides no hints about when reading subscribers is appropriate versus other products. The context of 'governing Data Contract' is mentioned but not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_overviewB
Übersicht über den internen Data Marketplace und seine Basisfunktionen.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the transparency burden. It states this is an 'Übersicht' (overview), which implies a read-only, informational operation. However, it doesn't disclose what data is returned, whether it reflects real-time state, or what 'Basisfunktionen' (basic functions) refers to concretely. With an output schema present, some burden is offloaded, but the description adds minimal behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence in German - highly concise with minimal waste. It communicates the core purpose efficiently. However, it's slightly under-specified rather than optimally concise; more would be welcome. That said, for a zero-parameter overview tool, this level of brevity is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple zero-parameter tool with an output schema available, which lowers the burden on the description. The overview concept is straightforward, and the output schema presumably defines return structure. However, given the breadth of sibling tools (16 siblings covering search, preview, access, publishing, lineage), 'overview' is ambiguous - it could be a landing page, a metrics dashboard, or a navigation index. Slightly more specificity about what the overview covers would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so schema coverage is 100% by definition (nothing to document). Per the rubric, 0 params establishes a baseline of 4. The description adds no parameter-level information, but none is needed. A baseline 4 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides an overview of the internal data marketplace and its basic functions ('Übersicht über den internen Data Marketplace und seine Basisfunktionen'). This is a clear purpose but vague - it doesn't specify what the overview contains or how it differs from sibling tools like search_data_products or get_data_product. The verb+resource is identifiable but the scope is undefined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs alternatives. Given the siblings include search_data_products, get_data_product, and other marketplace tools, the description doesn't clarify whether this is an entry point, an index, or a summary. Usage context is implied at best (used to get a general overview) but no exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_data_productB
Anonymisierte Datenvorschau und Spalten-Profiling für ein Datenprodukt.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description conveys that output is anonymized and includes column profiling, which is useful behavioral context. However, it does not state safe-read characteristics explicitly, whether access/permissions are required, or what happens with the limit parameter (truncation behavior). Given zero annotation coverage, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient German sentence covering the core function (preview + profiling) and key behavioral trait (anonymized). Zero waste, no filler. Front-loaded with the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not required from the description. With only 2 parameters and a clear single-sentence purpose, the description is mostly adequate. However, with zero annotations and zero schema description coverage, the description leaves parameter semantics and access-permission behavior unexplained, creating a moderate completeness gap for an otherwise simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter documentation. The description mentions preview and column profiling but does not explain that product_id identifies which data product to preview, or that limit (default 10) caps the number of rows returned. The German 'Datenvorschau' implies a row limit but limit's semantics as row count vs other meaning is undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides 'Anonymisierte Datenvorschau und Spalten-Profiling für ein Datenprodukt' (anonymized data preview and column profiling for a data product), which is a specific verb+resource combination. It distinguishes from siblings like get_data_product (which presumably returns full product metadata) by clarifying this is a preview with anonymization and profiling, though the sister tools list has related product tools so differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for previewing data rather than retrieving full product details or requesting access, which contextually separates it from get_data_product and request_data_access. However, it does not explicitly state when to use this vs alternatives, nor any prerequisites like needing access rights before previewing. The 'anonymized' keyword hints that this is a safe preview option, but no exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_data_productC
Neues Datenprodukt registrieren (Data Publishing Wizard für Data Owner).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tags | No | ||
| domain | Yes | ||
| region | Yes | ||
| atlas_type | No | hive_table | |
| owner_team | Yes | ||
| product_id | Yes | ||
| description | Yes | ||
| business_name | Yes | ||
| owner_contact | Yes | ||
| technical_name | Yes | ||
| lineage_summary | No | ||
| update_schedule | No | ||
| delivery_formats | No | ||
| atlas_qualified_name | No | ||
| data_contract_qualified_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only mentions it's a publishing wizard but doesn't disclose key behaviors: whether it requires an existing Atlas typedef (given sibling ensure_data_marketplace_typedef exists), whether it mutates Atlas state, whether it overwrites existing products, or what happens on duplicate product_id. For a registration/publishing tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is efficient. However, it is written in German while function names and sibling tools are in English, which may create consistency issues. Every word earns its place, but the content is thin—it conveys purpose but nothing else.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 16 parameters, 9 required, zero schema description coverage, no annotations, and no description of behavior, this description is inadequate for the tool's complexity. It doesn't explain key concepts like what a 'wizard' implies, prerequisites (Atlas typedef), or the relationship to sync_data_product_to_atlas. The output schema exists but can't compensate for missing guidance on semantic field meanings and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema has no descriptions for any of the 16 parameters. However, the parameter titles are mostly self-explanatory (name, domain, owner_team, region, business_name, technical_name, product_id). The description adds very little beyond what the schema titles already convey. The tool could benefit from explaining ambiguous fields like atlas_type, atlas_qualified_name, and data_contract_qualified_name, but doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Neues Datenprodukt registrieren (Data Publishing Wizard für Data Owner)' which translates to registering a new data product. It clearly identifies the verb (register/publish) and resource (data product). However, given the tool name 'publish_data_product' and 16 parameters, this adds moderate clarity but doesn't distinguish from siblings like sync_data_product_to_atlas or certify_data_product, and the German language may obscure intent for non-German-speaking agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the user it's a Data Publishing Wizard for Data Owners, which implies context. But it doesn't explicitly state when to use this vs assert_data_product_to_atlas or certify_data_product. No explicit when/when-not guidance or exclusion criteria such as 'use sync_data_product_to_atlas to update an existing product'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reject_access_requestC
Zugriffsanfrage ablehnen.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| approver | Yes | ||
| request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states 'reject access request' with no details about what happens on rejection (whether the request is deleted, marked, or triggers notifications), any permission requirements, reversibility, or side effects. For a rejection action, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it's under-specified to the point of being minimally informative. Brevity alone isn't conciseness when key information is missing; the German language also reduces accessibility for non-German-speaking agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool's complexity requires more context: 3 required parameters with 0% schema coverage, no annotations, and a rejection action with potential side effects. The description fails to explain the workflow context (e.g., that this is part of access request handling alongside approve_access_request), what the approver field represents, or what a successful rejection returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description adds nothing about any of the 3 required parameters (reason, approver, request_id). The description doesn't explain what 'approver' means (who is approving/rejecting), what format 'request_id' should take, or expected content for 'reason'. With 0% coverage and no param info in description, the agent has zero guidance beyond parameter names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Zugriffsanfrage ablehnen' (reject access request) states a clear verb+resource: rejecting an access request. However, it's written in German while the tool name is English, which may cause inconsistency. It does distinguish from the sibling 'approve_access_request' by the reject semantics, but there's no elaboration on what rejection entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives. The sibling set includes 'approve_access_request' and 'request_data_access', which are closely related, yet the description offers no distinguishing usage context or conditions under which rejection is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_data_accessA
Zugriff anfordern / abonnieren — registriert Subscriber im Data Contract consumer-Attribut (Atlas).
Wenn MARKETPLACE_USE_DATA_CONTRACT_SUBSCRIBERS=true (Default), wird kein lokaler Subscriber-Datensatz angelegt; der Data Contract ist Single Source of Truth.
Args: product_id: z. B. DP-MART-CREDIT-QUALITY-MATRIX requester: E-Mail oder User-ID der antragstellenden Person purpose: Nutzungszweck (DSGVO/Revision) project: Projektname duration_months: Zugriffsdauer in Monaten target_environment: Zielumgebung (z. B. marketing-snowflake)
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | ||
| purpose | Yes | ||
| requester | Yes | ||
| product_id | Yes | ||
| duration_months | Yes | ||
| target_environment | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It usefully discloses the conditional side effect of the MARKETPLACE_USE_DATA_CONTRACT_SUBSCRIBERS flag (whether a local record is created or Atlas is the single source of truth). However, it doesn't disclose whether this triggers a review/approval workflow, whether permissions take effect immediately, or the response/return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise with a purpose statement, a conditional behavior note, and an Args list. The Args section is efficiently formatted. However, it's bilingual (German headers with mixed terminology) which adds slight cognitive load, and the DSGVO reference could be clarified, but overall each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 required parameters, no annotations, and the description compensates well with conditional behavior disclosure and parameter examples. An output schema exists, so return-value documentation is not needed from the description. The description is fairly complete for the tool's complexity, though it could note whether this triggers an asynchronous approval workflow given siblings like approve_access_request and reject_access_request exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full parameter documentation burden. The description provides examples for product_id (DP-MART-CREDIT-QUALITY-MATRIX), requester (E-Mail oder User-ID), purpose (DSGVO/Revision), and target_environment (marketing-snowflake), giving meaningful semantic context for all 6 parameters. Format hints for duration_months (in months) are also present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb-resource ('Zugriff anfordern / abonnieren') and explains that it registers subscribers in the Data Contract consumer attribute. It distinguishes itself from siblings like list_access_requests, approve_access_request, and list_product_subscribers, though it doesn't explicitly name them. The German-language description is specific about what is registered and where.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when this tool is relevant (for requesting/subscribing access in Atlas) and notes the conditional behavior based on the MARKETPLACE_USE_DATA_CONTRACT_SUBSCRIBERS flag, explaining that when true (default), no local subscriber record is created. However, it doesn't explicitly contrast with sibling tools like approve_access_request to state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_data_productsA
Datenkatalog durchsuchen — wie Produktsuche im internen Marktplatz.
Args: query: Freitext (z. B. 'Kundenhistorie Kündigungen'). region: Region filtern (z. B. 'DACH'). certified_only: Nur zertifizierte/verifizierte Produkte. domain: Fachdomäne (z. B. 'sales', 'marketing'). limit: Maximale Trefferzahl.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| domain | No | ||
| region | No | ||
| certified_only | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. The description identifies it as a read/search operation through the phrasing, which is good. However, it doesn't disclose what the results structure looks like, whether search supports partial/prefix matching, or any pagination behavior beyond the 'limit' parameter. Given that a search tool is implicitly a read operation, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a single clear purpose sentence and analogies, then provides a lean Args block. The Args list is compressed but each line shows the parameter name and an example, which is efficient. The only minor critique is the 'certified_only' and 'limit' entries lack examples (though 'limit' is self-evident and 'certified_only' boolean is self-explanatory) — otherwise every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters (all optional), no annotations, and an output schema present, the description covers the key elements: parameter semantics with concrete examples, the purpose analogy, and implicit read-only behavior. The output schema handles return-value documentation. Given the tool's moderate complexity and that all parameters are optional with defaults, the description is reasonably complete. It could note whether keyword matching is fuzzy/exact, but this is not a critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all 5 parameters. The description provides a one-line explanation for each parameter with concrete examples ('Kundenhistorie Kündigungen' for query, 'DACH' for region, 'sales'/'marketing' for domain). The examples meaningfully enhance the bare schema by showing expected value formats and demonstrating that enum values for domain are not enforced but typical. This substantially compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('durchsuchen'/search) plus a concrete resource ('Datenkatalog'/'data catalog') with an apt analogy to an internal marketplace product search. It clearly distinguishes the search function from siblings like search_glossary (different catalog being searched) and get_data_product (which retrieves a specific product).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description frames this as searching a data catalog 'like a product search in the internal marketplace', which gives clear context for when to use it. The analogy to marketplace search helps the agent understand it's a broad discovery tool. However, it doesn't explicitly state when NOT to use it versus get_data_product (for a specific known product) or search_glossary (for glossary terms), though these distinctions are reasonably implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_glossaryB
Business Glossary durchsuchen — übersetzt technische Begriffe für Business-Nutzer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries some burden. It indicates this is a non-destructive search/read operation implicitly (durchsuchen), but doesn't disclose anything about pagination, return format behavior, or whether results are real-time or cached. For a search function, the read-only nature is reasonably inferable, and the output schema exists to document return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that communicates the core purpose efficiently. It's appropriately sized for a simple search tool with just 2 parameters. Every word earns its place, though it could benefit from a second sentence about result format or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with 2 straightforward parameters and an output schema present, this description is reasonably complete. The function does one clear thing. Given low complexity and the presence of an output schema, the single sentence suffices, though slightly more context about the translation behavior could help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there are only 2 simple parameters (query string and limit integer). The description names what the query represents (technical terms to be translated) which adds slight meaning, but 'limit' is self-explanatory. The description adds marginal value over the schema for these simple parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the purpose: search the business glossary, translating technical terms for business users. It names a specific verb (durchsuchen) and resource (Business Glossary) plus the value-add (translates technical terms for business users). However, it doesn't clearly distinguish this from sibling search tools like search_data_products, and the purpose is somewhat implicit in the language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives. It doesn't mention any prerequisites, exclusions, or when business users should be directed here specifically. The description implies its use case (translating technical terms for business users) but provides no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_product_feedbackD
Sterne-Feedback zur Datenqualität abgeben (1–5).
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | ||
| rating | Yes | ||
| comment | No | ||
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It reveals the tool submits feedback (a write/mutation action), but doesn't disclose whether feedback is editable, whether duplicates are allowed, whether submission affects product ratings, or what the response/return format is. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence fragment). While brevity is generally positive, this borders on under-specification rather than conciseness. A tool description should be concise but still informative; this one is efficient but delivers nearly no value beyond the tool name itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is completely inadequate for a tool with 4 parameters (3 required) and a write operation. It provides no usage guidance, no parameter semantics, no behavioral transparency, and no output expectations. While an output schema exists (which covers return value documentation), the description fails to cover purpose nuance, preconditions, or effect of the action. This is a minimal viable description at best.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it provides essentially no parameter information. The description mentions ratings 1-5, which maps to the 'rating' parameter's valid range, adding minimal value there. However, there are three required parameters (product_id, user, rating) plus an optional comment, none of which are explained in terms of format, validation, or semantics beyond raw schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Sterne-Feedback zur Datenqualität abgeben (1–5)' (submit star feedback on data quality 1-5) states a verb and resource, but it's minimal and doesn't distinguish this from any feedback tool. It does indicate it's about data quality rating, which adds some specificity, but it doesn't describe what happens with the feedback or differentiate it clearly from siblings. The description is essentially a single fragment without contextual detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't explain context, prerequisites, or when this tool should be preferred over any of the 15 sibling tools. There is no mention of when to use it, what conditions apply, or how it relates to other feedback or marketplace tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_data_product_to_atlasA
Sync marketplace product(s) to Atlas as data_marketplace_product entities. WRITE OPERATION
Args: product_id: Optional product ID. If omitted, syncs all local marketplace products. link_dataset: Link each product to its underlying Atlas dataset when atlas_qualified_name is set.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | ||
| link_dataset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explicitly flags the operation as a '**WRITE OPERATION**' and explains the conditional linking behavior based on atlas_qualified_name. However, it doesn't disclose what happens to existing entities (overwrite vs skip), auth requirements, or side effects of syncing all products.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact with two sentences plus an argument list. The bold WRITE OPERATION flag is a useful front-loaded visual. The Args section is a slightly informal addition but does not waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Both parameters are documented with behavior. An output schema exists, so return-value explanation isn't needed. For a sync/write tool, it covers the core semantics (optional filtering, conditional linking) reasonably well, though it skips details about repeated syncs and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains product_id semantics ('Optional product ID. If omitted, syncs all local marketplace products') and link_dataset conditionally ('when atlas_qualified_name is set'), which adds meaning beyond the bare schema. However, it doesn't specify allowed values or formats for product_id, leaving partial ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Sync') and resource ('marketplace product(s) to Atlas as data_marketplace_product entities'). It distinguishes itself from read-oriented siblings like search_data_products and get_data_product by marking '**WRITE OPERATION**'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains behavior when product_id is omitted ('syncs all local marketplace products') and when link_dataset is set, but provides no explicit when-to-use guidance or exclusions relative to siblings like ensure_data_marketplace_typedef or publish_data_product. Context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have clearly distinct purposes: searching, viewing, requesting access, publishing, and sync operations cover separate concerns. However, list_access_requests and list_product_subscribers both deal with subscribers/access and could cause some confusion about which to use for a given scenario.
The naming follows a strong verb_noun pattern (search_data_products, get_data_product, preview_data_product, publish_data_product, certify_data_product). Minor deviations exist: ensure_data_marketplace_typedef and get_product_lineage break the strict pattern but are still readable and descriptive.
At 16 tools, this sits slightly above the ideal sweet spot but is reasonable for a marketplace with search, product lifecycle, access management, and Atlas sync capabilities. Most tools earn their place, though the two ‘WRITE OPERATION’ Atlas sync tools are somewhat operational rather than user-facing.
The surface covers search, view, preview, lineage, glossary, access lifecycle (request/list/approve/reject), publishing, certification, and feedback. Minor gaps include no explicit update/delete for data products (only publish/create) and subscription management beyond listing, but the core marketplace workflow is well covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
AI-Ready Data Platform that fills the missing layer between data management and AI execution.
AI-powered data integration platform. Onboard users and run DPF data workflows.
Cross-tool context for your data stack. Search, lineage, and impact across warehouse and BI tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage SAP Business Data Cloud operations including data shares, Delta Sharing, and data product publishing through an MCP interface.11MIT
- AlicenseAqualityFmaintenanceEnables AI agents to discover, request access to, and query data products in Data Mesh Manager, enforcing governance policies while retrieving business data from platforms like Snowflake and Databricks.446MIT
- AlicenseAqualityBmaintenanceProvides read-only SQL access to Apache Iceberg tables via HiveServer2, enabling querying, schema discovery, and database listing on Cloudera Data Platform.3Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables natural-language setup and management of a governed digital product catalog, including schema, products, and rules, with dry-run previews, audit logging, and two-phase confirmations for destructive actions.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/frothkoetter/data-marketplace-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server