Skip to main content
Glama
HorizunGroup

Horizun PBI MCP

Official
by HorizunGroup

pbi_define_port_contract

Defines a data contract (pbi-port-contract.json) with datasets, shared keys, and columns for cross-tool validation and integration, replacing fragile API buses.

Instructions

Escribe el CONTRATO del puerto del ecosistema (pbi-port-contract.json).

El puerto NO es un bus de APIs entre Revit/Navisworks/Project —eso es fragil sin arreglo—: es un contrato de datos. Cada herramienta EMITE un dataset normalizado con una llave compartida, y este MCP lo valida y lo consume.

datasets: [{name, key, columns: [{name, type, required?}], emitted_by?, description?}]. La llave es obligatoria: es lo que permite cruzar los datasets entre si (p.ej. HRZ_COD_PRES entre el modelo BIM, el presupuesto y el cronograma).

Vive versionado junto al .pbip, como el brief. Se valida con pbi_check_contract: archivos entrantes antes de cargar, y el modelo activo despues.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
datasetsYes
request_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide negative hints (readOnlyHint=false, etc.), placing the burden on the description. The description does add context about the contract structure, the mandatory shared key, and its role in validation. However, it does not disclose whether writing overwrites an existing file, what side effects occur (e.g., creating/updating the file), or any permission requirements. This is moderate transparency—useful context but not full behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately lengthy but each sentence serves a purpose: it states the action, corrects a common misconception, gives the dataset schema, explains the key's importance, and notes the validation workflow. It is well-structured and front-loads the main verb. It could be slightly condensed, but it earns its length by preventing misuse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema (not shown), so return values need no explanation. The description covers the main action, the conceptual background, the dataset shape, and the relationship to validation tools. It does not explain optional parameters (name, request_id) or overwrite behavior, but for a definition/write tool with a well-defined primary parameter, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate. It does so for the main `datasets` parameter by providing a detailed inner structure: [{name, key, columns: [{name, type, required?}], emitted_by?, description?}], and explicitly states the `key` is mandatory. However, it does not explain the `name` and `request_id` parameters, leaving some semantic gaps. This is strong compensation for the primary param but incomplete for all params.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states "Escribe el CONTRATO del puerto del ecosistema (pbi-port-contract.json)" — a specific verb (write) and resource (the port contract file). It distinguishes the tool from pbi_check_contract (which validates) and pbi_define_brief (which defines the brief), and clarifies the port is a data contract, not an API bus. This makes the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the contract 'vive versionado junto al .pbip' and that it is validated with pbi_check_contract, giving clear context for when to use this tool (to define/write the contract) versus when to use the validation sibling. It also explains the rationale for the contract approach. However, it lacks explicit 'when not to use' or alternative tool exclusions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/HorizunGroup/horizun-pbi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server