Skip to main content
Glama
ms-methos

jsonfabrica-mcp-server

Get a JsonFabrica template

jsonfabrica_get_template
Read-onlyIdempotent

Retrieves the full template record by ID, returning all fields to inspect current details before making updates.

Instructions

Calls GET /v1/templates/{templateId}. Returns the full template record for a known id. Use this instead of jsonfabrica_list_templates when you already have the templateId (e.g. from a prior create/list call); it is also the recommended way to inspect current body/tags/description before calling jsonfabrica_update_template, since update only shows you the fields you send, not the result of merging them with what already exists. Read-only, no side effects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
templateIdYesID of the template to fetch, as returned by create/list. Required.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesTemplate body containing function-call placeholders.
nameYesTemplate name.
tagsNoTags stored on the template.
statusYes"active" unless soft-deleted via jsonfabrica_delete_template.
astCacheNoServer-internal parsed-body cache; opaque to callers.
tenantIdYesOwning tenant id.
warningsNoNon-fatal validation warnings, if any.
createdAtYesISO-8601 creation timestamp.
updatedAtYesISO-8601 last-update timestamp.
validatedNoWhether the body passed static template validation.
templateIdYesServer-assigned template id.
descriptionNoFree-text description, if any was stored.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / templateId / description
      Added value: +"ID of the template to fetch, as returned by create/list. Required."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "astCache": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Server-internal parsed-body cache; opaque to callers."
      +    },
      +    "body": {
      +      "description": "Template body containing function-call placeholders.",
      +      "type": "string"
      +    },
      +    "createdAt": {
      +      "description": "ISO-8601 creation timestamp.",
      +      "type": "string"
      +    },
      +    "description": {
      +      "description": "Free-text description, if any was stored.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "description": "Template name.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "\"active\" unless soft-deleted via jsonfabrica_delete_template.",
      +      "enum": [
      +        "active",
      +        "archived"
      +      ],
      +      "type": "string"
      +    },
      +    "tags": {
      +      "description": "Tags stored on the template.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "templateId": {
      +      "description": "Server-assigned template id.",
      +      "type": "string"
      +    },
      +    "tenantId": {
      +      "description": "Owning tenant id.",
      +      "type": "string"
      +    },
      +    "updatedAt": {
      +      "description": "ISO-8601 last-update timestamp.",
      +      "type": "string"
      +    },
      +    "validated": {
      +      "description": "Whether the body passed static template validation.",
      +      "type": "boolean"
      +    },
      +    "warnings": {
      +      "description": "Non-fatal validation warnings, if any.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "templateId",
      +    "tenantId",
      +    "name",
      +    "body",
      +    "status",
      +    "createdAt",
      +    "updatedAt"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.4

TDQS

A5/5.0
Behavior5/5

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

Explicitly states 'Read-only, no side effects' and is consistent with readOnlyHint, idempotentHint, and destructiveHint annotations.

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

Conciseness5/5

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

Concise yet informative, with no wasted words; the extra context about update_template is valuable and well-integrated.

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

Completeness5/5

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

Explains what is returned (full template record, including body/tags/description) and how it relates to sibling tools, making the tool's role clear.

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

Parameters5/5

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

The single parameter templateId is clearly described as the ID of the template to fetch, matching the schema description fully.

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?

Clearly states it fetches a full template record by ID, and distinguishes itself from list and update operations.

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

Usage Guidelines5/5

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

Provides explicit guidance on when to use this tool instead of list_templates and before update_template, including the rationale about merge behavior.

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