JsonFabrica
NPM · @JSONFABRICA/MCP-SERVER · SCANNED SEP 24
Generate realistic, relational synthetic JSON test data from templates, via the JsonFabrica API.
Available components
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 15 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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
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
claude mcp add ms-methos-jsonfabrica-mcp-server -- npx -y @jsonfabrica/mcp-server
{
"mcpServers": {
"ms-methos-jsonfabrica-mcp-server": {
"command": "npx",
"args": [
"-y",
"@jsonfabrica/mcp-server"
]
}
}
} {
"servers": {
"ms-methos-jsonfabrica-mcp-server": {
"command": "npx",
"args": [
"-y",
"@jsonfabrica/mcp-server"
]
}
}
} codex mcp add ms-methos-jsonfabrica-mcp-server -- npx -y @jsonfabrica/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ms-methos-jsonfabrica-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@jsonfabrica/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add ms-methos-jsonfabrica-mcp-server --command npx --arg -y --arg @jsonfabrica/mcp-server
mcp_servers:
ms-methos-jsonfabrica-mcp-server:
command: "npx"
args: ["-y", "@jsonfabrica/mcp-server"] {
"McpServers": {
"ms-methos-jsonfabrica-mcp-server": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@jsonfabrica/mcp-server"
]
}
}
} assistant mcp add ms-methos-jsonfabrica-mcp-server -t stdio -c npx -a -y @jsonfabrica/mcp-server
{
"mcpServers": {
"ms-methos-jsonfabrica-mcp-server": {
"command": "npx",
"args": [
"-y",
"@jsonfabrica/mcp-server"
]
}
}
} 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
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 →
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 →
jsonfabrica_bump_sequence Bump a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Exact name of the sequence to bump (advance by its configured step). Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| createdAt | string | yes | ISO-8601 creation timestamp. |
| currentValue | number | yes | Current stored counter value (unused by "uuid" sequences). |
| name | string | yes | Sequence name. |
| start | number | – | Initial value the sequence was created with. |
| step | number | – | Increment applied per bump (ignored for "uuid"). |
| tenantId | string | yes | Owning tenant id. |
| type | string | yes | Value kind produced on each bump. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
No examples provided.
jsonfabrica_create_batch Create a JsonFabrica batch generation job ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | yes | One 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… |
| seed | number | – | 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… |
| sequenceNamespace | string | – | 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… |
| variableNamespace | string | – | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| batchId | string | – | Id of the created batch. |
| error | object | – | Present if the whole batch failed. |
| results | array | – | Present only for synchronous (200) responses. |
| seed | number | – | PRNG seed used/assigned for the whole batch. |
| status | string | – | Batch status at response time. |
No examples provided.
jsonfabrica_create_sequence Create a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Unique 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… |
| start | number | – | 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… |
| step | number | – | 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. |
| type | string | yes | Value 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… |
| Name | Type | Req | Description |
|---|---|---|---|
| createdAt | string | yes | ISO-8601 creation timestamp. |
| currentValue | number | yes | Current stored counter value (unused by "uuid" sequences). |
| name | string | yes | Sequence name. |
| start | number | – | Initial value the sequence was created with. |
| step | number | – | Increment applied per bump (ignored for "uuid"). |
| tenantId | string | yes | Owning tenant id. |
| type | string | yes | Value kind produced on each bump. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
No examples provided.
jsonfabrica_create_template Create a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Template body containing at least one function-call placeholder. Required. |
| description | string | – | Free-text human-readable description of the template's purpose. Optional; omitted means none stored. |
| generate | object | – | 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… |
| name | string | yes | Template name. Required; not required to be unique per tenant. |
| tags | array | – | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| astCache | – | – | Server-internal parsed-body cache; opaque to callers. |
| body | string | – | Template body containing function-call placeholders. |
| createdAt | string | – | ISO-8601 creation timestamp. |
| description | string|null | – | Free-text description, if any was stored. |
| generation | object | – | Present when `generate` was passed and the immediate generation succeeded. |
| generationError | object | – | Present when `generate` was passed but the immediate generation failed at runtime (template was still created). |
| name | string | – | Template name. |
| status | string | – | "active" unless soft-deleted via jsonfabrica_delete_template. |
| tags | array | – | Tags stored on the template. |
| template | object | – | Present when `generate` was passed; the created template record. |
| templateId | string | – | Server-assigned template id. |
| tenantId | string | – | Owning tenant id. |
| updatedAt | string | – | ISO-8601 last-update timestamp. |
| validated | boolean | – | Whether the body passed static template validation. |
| warnings | array | – | Non-fatal validation warnings, if any. |
No examples provided.
jsonfabrica_delete_sequence Delete a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Exact name of the sequence to delete. Required. |
No output schema declared.
No examples provided.
jsonfabrica_delete_template Delete a JsonFabrica 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`.
| Name | Type | Req | Description |
|---|---|---|---|
| templateId | string | yes | ID of the template to delete. Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| astCache | – | – | Server-internal parsed-body cache; opaque to callers. |
| body | string | yes | Template body containing function-call placeholders. |
| createdAt | string | yes | ISO-8601 creation timestamp. |
| description | string|null | – | Free-text description, if any was stored. |
| name | string | yes | Template name. |
| status | string | yes | "active" unless soft-deleted via jsonfabrica_delete_template. |
| tags | array | – | Tags stored on the template. |
| templateId | string | yes | Server-assigned template id. |
| tenantId | string | yes | Owning tenant id. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
| validated | boolean | – | Whether the body passed static template validation. |
| warnings | array | – | Non-fatal validation warnings, if any. |
No examples provided.
jsonfabrica_generate_adhoc Generate a document from a raw template body (no persistence) ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Raw template body containing at least one function-call placeholder, e.g. "Hello {{getRandomFullName()}}" — evaluated directly without persisting a template record. Required. |
| context | object | – | Arbitrary auxiliary key/value data made available to `body` alongside `params`. Optional; omitted keys are simply absent during generation. |
| params | object | – | Key/value map supplying values for getParam("key") placeholders in `body`. Optional; omitted keys leave the corresponding getParam() calls unresolved/empty. |
| seed | number | – | 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. |
| sequenceNamespace | string | – | 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)… |
| variableNamespace | string | – | Isolates durable-variable side effects under this namespace, analogous to `sequenceNamespace`. Optional; omitted means the default (unnamespaced) variable scope is used. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | The generated document; shape is entirely determined by the template body. |
| meta | object | yes | Generation metadata. |
No examples provided.
jsonfabrica_generate_from_template Generate a document from a JsonFabrica 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).
| Name | Type | Req | Description |
|---|---|---|---|
| context | object | – | Arbitrary auxiliary key/value data made available to the template body alongside `params`. Optional; omitted keys are simply absent during generation. |
| params | object | – | Key/value map supplying values for getParam("key") placeholders in the template body. Optional; omitted keys leave the corresponding getParam() calls unresolved/empty. |
| seed | number | – | 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. |
| sequenceNamespace | string | – | 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… |
| templateId | string | yes | ID of the persisted template to generate a document from. Required. |
| variableNamespace | string | – | Isolates durable-variable side effects under this namespace, analogous to `sequenceNamespace`. Optional; omitted means the default (unnamespaced) variable scope is used. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | The generated document; shape is entirely determined by the template body. |
| meta | object | yes | Generation metadata. |
No examples provided.
jsonfabrica_get_batch Get a JsonFabrica 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).
| Name | Type | Req | Description |
|---|---|---|---|
| batchId | string | yes | ID of the batch job to fetch, as returned by jsonfabrica_create_batch. Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| batchId | string | yes | Id of the fetched batch. |
| documents | array | – | Generated documents, once available. |
| error | object | – | Present if the whole batch failed. |
| seed | number | – | PRNG seed used for the whole batch. |
| spec | – | – | The original BatchSpec request body this batch was created from. |
| status | string | yes | Current batch status. |
| tenantId | string | – | Owning tenant id. |
No examples provided.
jsonfabrica_get_sequence Get a JsonFabrica 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).
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Exact name of the sequence to fetch, as given at creation. Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| createdAt | string | yes | ISO-8601 creation timestamp. |
| currentValue | number | yes | Current stored counter value (unused by "uuid" sequences). |
| name | string | yes | Sequence name. |
| start | number | – | Initial value the sequence was created with. |
| step | number | – | Increment applied per bump (ignored for "uuid"). |
| tenantId | string | yes | Owning tenant id. |
| type | string | yes | Value kind produced on each bump. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
No examples provided.
jsonfabrica_get_template Get a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| templateId | string | yes | ID of the template to fetch, as returned by create/list. Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| astCache | – | – | Server-internal parsed-body cache; opaque to callers. |
| body | string | yes | Template body containing function-call placeholders. |
| createdAt | string | yes | ISO-8601 creation timestamp. |
| description | string|null | – | Free-text description, if any was stored. |
| name | string | yes | Template name. |
| status | string | yes | "active" unless soft-deleted via jsonfabrica_delete_template. |
| tags | array | – | Tags stored on the template. |
| templateId | string | yes | Server-assigned template id. |
| tenantId | string | yes | Owning tenant id. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
| validated | boolean | – | Whether the body passed static template validation. |
| warnings | array | – | Non-fatal validation warnings, if any. |
No examples provided.
jsonfabrica_get_usage Get JsonFabrica tenant usage ~38
Calls GET /v1/usage. Returns `{ tenantId, usageTotal, asOf }` for the configured API key.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | yes | ISO-8601 timestamp the usage total was computed as of. |
| tenantId | string | yes | Tenant id the usage totals belong to. |
| usageTotal | number | yes | Cumulative metered usage units consumed by this tenant. |
No examples provided.
jsonfabrica_health JsonFabrica health check ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | – | Name of the responding service, e.g. "svc-gateway". |
| status | string | yes | Liveness indicator, e.g. "ok". |
No examples provided.
jsonfabrica_list_sequences List JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | 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. |
| limit | integer | – | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Page of matching sequences. |
| nextCursor | string | – | Pass to `cursor` on the next call; absent on the last page. |
No examples provided.
jsonfabrica_list_templates List JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque pagination cursor taken verbatim from a previous response's `nextCursor`. Optional; omit to fetch the first page. |
| limit | integer | – | 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. |
| name | string | – | 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. |
| status | string | – | `active` returns only non-deleted templates, `archived` returns only soft-deleted ones. Optional; defaults to `active` when omitted (archived templates are excluded unless requested). |
| tags | string | – | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Page of matching templates. |
| nextCursor | string | – | Pass to `cursor` on the next call to fetch the following page; absent on the last page. |
No examples provided.
jsonfabrica_update_sequence Update a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| currentValue | number | – | 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… |
| name | string | yes | Exact name of the sequence to update. Required. |
| step | number | – | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| createdAt | string | yes | ISO-8601 creation timestamp. |
| currentValue | number | yes | Current stored counter value (unused by "uuid" sequences). |
| name | string | yes | Sequence name. |
| start | number | – | Initial value the sequence was created with. |
| step | number | – | Increment applied per bump (ignored for "uuid"). |
| tenantId | string | yes | Owning tenant id. |
| type | string | yes | Value kind produced on each bump. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
No examples provided.
jsonfabrica_update_template Update a JsonFabrica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | New template body (function-call placeholder syntax), replacing the existing one entirely. Optional; omit to leave the current body unchanged. |
| description | string | – | New free-text description, replacing the existing one. Optional; omit to leave it unchanged. |
| name | string | – | New template name. Optional; omit to leave the current name unchanged. |
| tags | array | – | 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. |
| templateId | string | yes | ID of the template to update. Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| astCache | – | – | Server-internal parsed-body cache; opaque to callers. |
| body | string | yes | Template body containing function-call placeholders. |
| createdAt | string | yes | ISO-8601 creation timestamp. |
| description | string|null | – | Free-text description, if any was stored. |
| name | string | yes | Template name. |
| status | string | yes | "active" unless soft-deleted via jsonfabrica_delete_template. |
| tags | array | – | Tags stored on the template. |
| templateId | string | yes | Server-assigned template id. |
| tenantId | string | yes | Owning tenant id. |
| updatedAt | string | yes | ISO-8601 last-update timestamp. |
| validated | boolean | – | Whether the body passed static template validation. |
| warnings | array | – | Non-fatal validation warnings, if any. |
No examples provided.
jsonfabrica_whoami 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.
| Name | Type | Req | Description |
|---|---|---|---|
| role | string | yes | Role associated with the configured API key. |
| tenantId | string | yes | Tenant id resolved from the configured API key. |
No examples provided.
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.