Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

JsonFabrica

NPM · @JSONFABRICA/MCP-SERVER · SCANNED SEP 24

Generate realistic, relational synthetic JSON test data from templates, via the JsonFabrica API.

+4 this week 78 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability71
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3734 tokens (~207/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management60
  • Stability check failed: the tool surface changed between 0.1.4 and 0.3.0: 2 tool removals, 0 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (94% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the JsonFabrica MCP server?

JsonFabrica runs locally as an npm package, launched with npx -y @jsonfabrica/mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @jsonfabrica/mcp-server

# add to Claude Code
claude mcp add ms-methos-jsonfabrica-mcp-server -- npx -y @jsonfabrica/mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "ms-methos-jsonfabrica-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@jsonfabrica/mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ms-methos-jsonfabrica-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@jsonfabrica/mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add ms-methos-jsonfabrica-mcp-server -- npx -y @jsonfabrica/mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ms-methos-jsonfabrica-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@jsonfabrica/mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ms-methos-jsonfabrica-mcp-server --command npx --arg -y --arg @jsonfabrica/mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  ms-methos-jsonfabrica-mcp-server:
    command: "npx"
    args: ["-y", "@jsonfabrica/mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ms-methos-jsonfabrica-mcp-server": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@jsonfabrica/mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add ms-methos-jsonfabrica-mcp-server -t stdio -c npx -a -y @jsonfabrica/mcp-server
// mcp.json
{
  "mcpServers": {
    "ms-methos-jsonfabrica-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@jsonfabrica/mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 24 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 57 to 60.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 50 to 53.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17.

  • 9 Sept 26 −1
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.17 → unverified ▼ security
    • Stability: 0.17 → fail ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
    • Package version: 0.2.0 → 0.3.0 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Sept 2026 · Analysed npm/@jsonfabrica/mcp-server@0.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 18 exposed · ~3,734 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
jsonfabrica_bump_sequence ~128

Calls POST /v1/sequences/{name}/bump. Atomically advances the sequence by its configured `step` (a permanent, irreversible change to the stored `currentValue`) and returns the updated record — this is the same advance a template's createSeq()/getSeq() calls trigger during generation. Use jsonfabrica_update_sequence instead if you need to set an explicit `currentValue`/`step` rather than advancing by the existing step.

NameTypeReqDescription
namestringyesExact name of the sequence to bump (advance by its configured step). Required.
NameTypeReqDescription
createdAtstringyesISO-8601 creation timestamp.
currentValuenumberyesCurrent stored counter value (unused by "uuid" sequences).
namestringyesSequence name.
startnumber–Initial value the sequence was created with.
stepnumber–Increment applied per bump (ignored for "uuid").
tenantIdstringyesOwning tenant id.
typestringyesValue kind produced on each bump.
updatedAtstringyesISO-8601 last-update timestamp.

No examples provided.

jsonfabrica_create_batch ~386

Calls POST /v1/batches. Generates multiple documents from one or more persisted templates in one call, optionally cross-referencing documents via `relations` — use this instead of looping jsonfabrica_generate_from_template yourself when you need many documents or cross-document relations in a single request. Small batches run synchronously and the response is 200 with `results`; larger batches are queued and the response is 202 with just `{ batchId, status, seed }` — poll jsonfabrica_get_batch for the final results in that case. Like a single generate call, this is metered/billed per document produced and, unless namespaced, can advance real durable sequences and mutate durable variables referenced by the templates.

NameTypeReqDescription
documentsarrayyesOne entry per group of documents to generate, each naming a `templateId`, a unique `alias`, how many (`count`) to generate, and optionally `relations`/`params`. Required; at least one entry. Entries…
seednumber–Deterministic PRNG seed applied across the whole batch — the same seed reproduces byte-identical random values for every document. Optional; if omitted the server picks a random seed and returns it i…
sequenceNamespacestring–Isolates createSeq()/getSeq() durable-sequence side effects for this whole batch under this namespace, so test/debug runs don't advance real tenant sequences. Optional; omitted means the default (unn…
variableNamespacestring–Isolates durable-variable side effects for this whole batch under this namespace, analogous to `sequenceNamespace`. Optional; omitted means the default (unnamespaced) variable scope is used.
NameTypeReqDescription
batchIdstring–Id of the created batch.
errorobject–Present if the whole batch failed.
resultsarray–Present only for synchronous (200) responses.
seednumber–PRNG seed used/assigned for the whole batch.
statusstring–Batch status at response time.

No examples provided.

jsonfabrica_create_sequence ~361

Calls POST /v1/sequences. Creates a durable named sequence (number/string/uuid), referenced from template bodies via createSeq()/getSeq()-style functions. Fails with a 409-style conflict error if a sequence with this `name` already exists for the tenant — use jsonfabrica_update_sequence to change an existing one's `currentValue`/`step` instead of retrying create with the same name.

NameTypeReqDescription
namestringyesUnique identifier for the sequence within the tenant, referenced from template bodies via createSeq("name")/getSeq("name") placeholders. Required; creation fails if a sequence with this name already…
startnumber–Initial value of `currentValue` for "number"/"string" sequences. Marked optional in this schema, but the gateway validates it as a required finite number for every sequence type — omitting it always…
stepnumber–Amount `currentValue` is incremented by on each bump, for "number"/"string" sequences (ignored for "uuid"). Optional; defaults to 1 when omitted. May be negative to count down.
typestringyesValue kind the sequence produces on each bump: "number" increments `currentValue` by `step` and returns a numeric value; "string" behaves like "number" but the returned value is stringified; "uuid" d…
NameTypeReqDescription
createdAtstringyesISO-8601 creation timestamp.
currentValuenumberyesCurrent stored counter value (unused by "uuid" sequences).
namestringyesSequence name.
startnumber–Initial value the sequence was created with.
stepnumber–Increment applied per bump (ignored for "uuid").
tenantIdstringyesOwning tenant id.
typestringyesValue kind produced on each bump.
updatedAtstringyesISO-8601 last-update timestamp.

No examples provided.

jsonfabrica_create_template ~367

Calls POST /v1/templates. Creates a persisted, reusable template that can be generated from repeatedly with jsonfabrica_generate_from_template — use this instead of jsonfabrica_generate_adhoc when you want the body saved and shareable rather than a one-off, unsaved evaluation. `body` uses JsonFabrica's function-call placeholder syntax, e.g. "Hello {{getRandomFullName()}}" or "<getRandomNumber(1,100)>" — see the data-generation-functions reference for the full catalog. The optional `generate` field is a convenience that also runs a generation in the same call (response includes `generation` or `generationError` alongside `template`) so you avoid a separate jsonfabrica_generate_from_template round-trip; that generation is metered/billed and can advance durable sequences/variables just like a normal generate call. If `generate` is omitted, the response is just the created template with no generation side effects.

NameTypeReqDescription
bodystringyesTemplate body containing at least one function-call placeholder. Required.
descriptionstring–Free-text human-readable description of the template's purpose. Optional; omitted means none stored.
generateobject–When present, immediately generates one document from the just-created template using these options; the response then includes `generation`/`generationError` alongside `template`. Optional — omit to…
namestringyesTemplate name. Required; not required to be unique per tenant.
tagsarray–Labels for later filtering via jsonfabrica_list_templates' `tags` parameter (AND-match: a template must contain every requested tag). Optional; omitted or empty means no tags stored.
NameTypeReqDescription
astCache––Server-internal parsed-body cache; opaque to callers.
bodystring–Template body containing function-call placeholders.
createdAtstring–ISO-8601 creation timestamp.
descriptionstring|null–Free-text description, if any was stored.
generationobject–Present when `generate` was passed and the immediate generation succeeded.
generationErrorobject–Present when `generate` was passed but the immediate generation failed at runtime (template was still created).
namestring–Template name.
statusstring–"active" unless soft-deleted via jsonfabrica_delete_template.
tagsarray–Tags stored on the template.
templateobject–Present when `generate` was passed; the created template record.
templateIdstring–Server-assigned template id.
tenantIdstring–Owning tenant id.
updatedAtstring–ISO-8601 last-update timestamp.
validatedboolean–Whether the body passed static template validation.
warningsarray–Non-fatal validation warnings, if any.

No examples provided.

jsonfabrica_delete_sequence ~116

Calls DELETE /v1/sequences/{name}. This is a hard, permanent delete — unlike jsonfabrica_delete_template's soft-delete/archive behavior, the sequence record is removed entirely and cannot be recovered; there is no `status: "archived"` equivalent for sequences. Returns no content on success. Any template body still calling createSeq()/getSeq() with this `name` afterwards will no longer see the deleted history/state.

NameTypeReqDescription
namestringyesExact name of the sequence to delete. Required.

No output schema declared.

No examples provided.

jsonfabrica_delete_template ~164

Calls DELETE /v1/templates/{templateId}. This is a soft delete: the template's `status` is set to "archived" (it is not erased from storage), and the call returns the resulting archived template record. Archived templates are excluded from jsonfabrica_list_templates by default — pass `status: "archived"` there to find them again — and both jsonfabrica_get_template and jsonfabrica_generate_from_template still work against the id afterwards, since archiving does not block reads or generation. Use this when a template should stop showing up in normal listings; there is currently no tool to restore an archived template back to `active`.

NameTypeReqDescription
templateIdstringyesID of the template to delete. Required.
NameTypeReqDescription
astCache––Server-internal parsed-body cache; opaque to callers.
bodystringyesTemplate body containing function-call placeholders.
createdAtstringyesISO-8601 creation timestamp.
descriptionstring|null–Free-text description, if any was stored.
namestringyesTemplate name.
statusstringyes"active" unless soft-deleted via jsonfabrica_delete_template.
tagsarray–Tags stored on the template.
templateIdstringyesServer-assigned template id.
tenantIdstringyesOwning tenant id.
updatedAtstringyesISO-8601 last-update timestamp.
validatedboolean–Whether the body passed static template validation.
warningsarray–Non-fatal validation warnings, if any.

No examples provided.

jsonfabrica_generate_adhoc ~387

Calls POST /v1/templates/generate. Generates a document directly from a raw `body` string without creating a template record — prefer this over jsonfabrica_generate_from_template while still iterating on template syntax; switch to jsonfabrica_create_template once the body is ready to be reused or shared. Goes through the same billing/usage metering as persisted-template generation (not a free bypass). createSeq()/durable sequence side effects still apply; set `sequenceNamespace`/`variableNamespace` to e.g. "debug" to avoid colliding with real tenant sequences and variables.

NameTypeReqDescription
bodystringyesRaw template body containing at least one function-call placeholder, e.g. "Hello {{getRandomFullName()}}" — evaluated directly without persisting a template record. Required.
contextobject–Arbitrary auxiliary key/value data made available to `body` alongside `params`. Optional; omitted keys are simply absent during generation.
paramsobject–Key/value map supplying values for getParam("key") placeholders in `body`. Optional; omitted keys leave the corresponding getParam() calls unresolved/empty.
seednumber–Deterministic PRNG seed for this generation — the same seed reproduces byte-identical random values. Optional; if omitted the server picks a random seed and returns it in the response.
sequenceNamespacestring–Isolates createSeq()/getSeq() durable-sequence side effects under this namespace, e.g. "debug", so ad-hoc runs don't advance real tenant sequences. Optional; omitted means the default (unnamespaced)…
variableNamespacestring–Isolates durable-variable side effects under this namespace, analogous to `sequenceNamespace`. Optional; omitted means the default (unnamespaced) variable scope is used.
NameTypeReqDescription
data–yesThe generated document; shape is entirely determined by the template body.
metaobjectyesGeneration metadata.

No examples provided.

jsonfabrica_generate_from_template ~380

Calls POST /v1/templates/{templateId}/generate. Generates a document from a persisted, saved template referenced by `templateId` — use this (not jsonfabrica_generate_adhoc) when the template is meant to be reused or shared across calls/tenants; use jsonfabrica_generate_adhoc instead when you are still iterating on raw template syntax and don't want to persist anything yet. This call is metered/billed like any generation and, unless namespaced, can advance real durable sequences and mutate durable variables referenced by the template body. Set `sequenceNamespace`/`variableNamespace` to isolate those side effects between environments (e.g. test vs. production).

NameTypeReqDescription
contextobject–Arbitrary auxiliary key/value data made available to the template body alongside `params`. Optional; omitted keys are simply absent during generation.
paramsobject–Key/value map supplying values for getParam("key") placeholders in the template body. Optional; omitted keys leave the corresponding getParam() calls unresolved/empty.
seednumber–Deterministic PRNG seed for this generation — the same seed reproduces byte-identical random values. Optional; if omitted the server picks a random seed and returns it in the response.
sequenceNamespacestring–Isolates createSeq()/getSeq() durable-sequence side effects under this namespace so repeated test/debug runs don't advance real tenant sequences. Optional; omitted means the default (unnamespaced) se…
templateIdstringyesID of the persisted template to generate a document from. Required.
variableNamespacestring–Isolates durable-variable side effects under this namespace, analogous to `sequenceNamespace`. Optional; omitted means the default (unnamespaced) variable scope is used.
NameTypeReqDescription
data–yesThe generated document; shape is entirely determined by the template body.
metaobjectyesGeneration metadata.

No examples provided.

jsonfabrica_get_batch ~75

Calls GET /v1/batches/{batchId}. Returns batch status and, once complete, the generated documents. Use this to poll a batch that was accepted asynchronously (202).

NameTypeReqDescription
batchIdstringyesID of the batch job to fetch, as returned by jsonfabrica_create_batch. Required.
NameTypeReqDescription
batchIdstringyesId of the fetched batch.
documentsarray–Generated documents, once available.
errorobject–Present if the whole batch failed.
seednumber–PRNG seed used for the whole batch.
spec––The original BatchSpec request body this batch was created from.
statusstringyesCurrent batch status.
tenantIdstring–Owning tenant id.

No examples provided.

jsonfabrica_get_sequence ~88

Calls GET /v1/sequences/{name}. Returns the sequence record for a known `name`; use jsonfabrica_list_sequences instead if you need to discover names. Read-only — does not advance the sequence (use jsonfabrica_bump_sequence for that).

NameTypeReqDescription
namestringyesExact name of the sequence to fetch, as given at creation. Required.
NameTypeReqDescription
createdAtstringyesISO-8601 creation timestamp.
currentValuenumberyesCurrent stored counter value (unused by "uuid" sequences).
namestringyesSequence name.
startnumber–Initial value the sequence was created with.
stepnumber–Increment applied per bump (ignored for "uuid").
tenantIdstringyesOwning tenant id.
typestringyesValue kind produced on each bump.
updatedAtstringyesISO-8601 last-update timestamp.

No examples provided.

jsonfabrica_get_template ~141

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.

NameTypeReqDescription
templateIdstringyesID of the template to fetch, as returned by create/list. Required.
NameTypeReqDescription
astCache––Server-internal parsed-body cache; opaque to callers.
bodystringyesTemplate body containing function-call placeholders.
createdAtstringyesISO-8601 creation timestamp.
descriptionstring|null–Free-text description, if any was stored.
namestringyesTemplate name.
statusstringyes"active" unless soft-deleted via jsonfabrica_delete_template.
tagsarray–Tags stored on the template.
templateIdstringyesServer-assigned template id.
tenantIdstringyesOwning tenant id.
updatedAtstringyesISO-8601 last-update timestamp.
validatedboolean–Whether the body passed static template validation.
warningsarray–Non-fatal validation warnings, if any.

No examples provided.

jsonfabrica_get_usage ~38

Calls GET /v1/usage. Returns `{ tenantId, usageTotal, asOf }` for the configured API key.

Input schema present but exposes no named parameters.

NameTypeReqDescription
asOfstringyesISO-8601 timestamp the usage total was computed as of.
tenantIdstringyesTenant id the usage totals belong to.
usageTotalnumberyesCumulative metered usage units consumed by this tenant.

No examples provided.

jsonfabrica_health ~43

Calls GET /health on the JsonFabrica gateway. No authentication required. Use this to verify JSONFABRICA_API_URL points at a reachable gateway.

Input schema present but exposes no named parameters.

NameTypeReqDescription
servicestring–Name of the responding service, e.g. "svc-gateway".
statusstringyesLiveness indicator, e.g. "ok".

No examples provided.

jsonfabrica_list_sequences ~158

Calls GET /v1/sequences. Returns a page of sequences (`{ items, nextCursor }`). Use this to discover sequence names when you don't already know one; if you know the exact `name`, call jsonfabrica_get_sequence directly instead. Read-only, no side effects.

NameTypeReqDescription
cursorstring–Opaque pagination cursor from a previous response's `nextCursor`. Optional; omit to fetch the first page. Not a page number or offset you construct yourself.
limitinteger–Maximum number of sequences to return in this page. Optional; defaults to 20 when omitted. Values <= 0 or > 100 are not clamped — the request is rejected with a 400 validation error.
NameTypeReqDescription
itemsarrayyesPage of matching sequences.
nextCursorstring–Pass to `cursor` on the next call; absent on the last page.

No examples provided.

jsonfabrica_list_templates ~341

Calls GET /v1/templates. Returns a page of templates matching optional `name`/`tags`/`status` filters (`{ items, nextCursor }`). Use this to discover or search templates when you don't already know the `templateId`; if you already have the id, call jsonfabrica_get_template directly instead — it is cheaper and returns the full record. This is read-only and has no side effects. Pass `status: "archived"` to see templates previously removed with jsonfabrica_delete_template, since the default `active` filter excludes them.

NameTypeReqDescription
cursorstring–Opaque pagination cursor taken verbatim from a previous response's `nextCursor`. Optional; omit to fetch the first page.
limitinteger–Maximum number of templates to return in this page. Optional; defaults to 20 when omitted. Values <= 0 or > 100 are not clamped — the request is rejected with a 400 validation error.
namestring–Filters to templates whose `name` contains this text — a case-insensitive substring match, not an exact match. Optional; omit to match templates of any name.
statusstring–`active` returns only non-deleted templates, `archived` returns only soft-deleted ones. Optional; defaults to `active` when omitted (archived templates are excluded unless requested).
tagsstring–Comma-separated list of tags, e.g. "orders,email". AND-match: a template must contain every listed tag to be included (not "any of"). Optional; omit to ignore tags entirely.
NameTypeReqDescription
itemsarrayyesPage of matching templates.
nextCursorstring–Pass to `cursor` on the next call to fetch the following page; absent on the last page.

No examples provided.

jsonfabrica_update_sequence ~229

Calls PATCH /v1/sequences/{name}. Only the provided fields (currentValue, step) are changed; fields you omit are left as-is. Use this when you need to set an explicit `currentValue` (e.g. resetting a counter) or change the `step` amount — use jsonfabrica_bump_sequence instead when you just want to advance the sequence by its existing configured step. This overwrites the sequence's stored state in place immediately; there is no undo.

NameTypeReqDescription
currentValuenumber–Resets the sequence's current counter value to this number, without changing `step`. Optional; if omitted, the current value is left unchanged (unless `step` is also provided, in which case only `ste…
namestringyesExact name of the sequence to update. Required.
stepnumber–Changes the increment applied by future jsonfabrica_bump_sequence calls; must be a non-zero finite number (negative allowed, to count down). Optional; if omitted, the existing step is left unchanged.
NameTypeReqDescription
createdAtstringyesISO-8601 creation timestamp.
currentValuenumberyesCurrent stored counter value (unused by "uuid" sequences).
namestringyesSequence name.
startnumber–Initial value the sequence was created with.
stepnumber–Increment applied per bump (ignored for "uuid").
tenantIdstringyesOwning tenant id.
typestringyesValue kind produced on each bump.
updatedAtstringyesISO-8601 last-update timestamp.

No examples provided.

jsonfabrica_update_template ~281

Calls PUT /v1/templates/{templateId}. Partially updates an existing template in place: only the fields you include in the call are changed, and every field you omit is left exactly as it was — call jsonfabrica_get_template first if you need to see current values before deciding what to send. Use this only for an existing `templateId`; to make a new template use jsonfabrica_create_template instead (it does not modify or version the original). The change is applied immediately and in-place with no version history — there is no undo, so if you need to keep the old `body`/`tags` around, read and save them first.

NameTypeReqDescription
bodystring–New template body (function-call placeholder syntax), replacing the existing one entirely. Optional; omit to leave the current body unchanged.
descriptionstring–New free-text description, replacing the existing one. Optional; omit to leave it unchanged.
namestring–New template name. Optional; omit to leave the current name unchanged.
tagsarray–New full set of tags, replacing (not merging with) the existing tags. Optional; omit to leave the current tags unchanged; pass an empty array to clear all tags.
templateIdstringyesID of the template to update. Required.
NameTypeReqDescription
astCache––Server-internal parsed-body cache; opaque to callers.
bodystringyesTemplate body containing function-call placeholders.
createdAtstringyesISO-8601 creation timestamp.
descriptionstring|null–Free-text description, if any was stored.
namestringyesTemplate name.
statusstringyes"active" unless soft-deleted via jsonfabrica_delete_template.
tagsarray–Tags stored on the template.
templateIdstringyesServer-assigned template id.
tenantIdstringyesOwning tenant id.
updatedAtstringyesISO-8601 last-update timestamp.
validatedboolean–Whether the body passed static template validation.
warningsarray–Non-fatal validation warnings, if any.

No examples provided.

jsonfabrica_whoami ~51

Calls GET /v1/whoami on the JsonFabrica gateway using the configured API key. Returns { tenantId, role } for the configured JSONFABRICA_API_KEY.

Input schema present but exposes no named parameters.

NameTypeReqDescription
rolestringyesRole associated with the configured API key.
tenantIdstringyesTenant id resolved from the configured API key.

No examples provided.

Common questions

What is the JsonFabrica MCP server?

JsonFabrica is an MCP server listed in the public MCP registry as io.github.ms-methos/jsonfabrica-mcp-server. Generate realistic, relational synthetic JSON test data from templates, via the JsonFabrica API. This page covers its npm package (@jsonfabrica/mcp-server).

Is the JsonFabrica MCP server safe to use?

JsonFabrica scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 24 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the JsonFabrica MCP server expose?

JsonFabrica exposes 18 tools: jsonfabrica_health, jsonfabrica_whoami, jsonfabrica_create_template, jsonfabrica_list_templates, jsonfabrica_get_template, and 13 more. Their descriptions and schemas cost roughly 3,734 tokens of context every time the server is loaded.

Is the JsonFabrica MCP server still maintained?

JsonFabrica is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the JsonFabrica MCP server under?

JsonFabrica declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.