QFactory
Server Details
Read-only QFactory catalog of agent workflows: search, get exact versions, schema, validate YAML.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool has a distinct role: catalog lists releases, search ranks catalog entries, get returns exact bytes, schema exposes the pinned Q-Core manifest, validate checks YAML format, and instructions returns the skill package. The only mild overlap is catalog vs. search, both reading the same verified catalog, but 'ranked short query' vs. 'full release catalog' is reasonably clear.
Names are all single lowercase words, which is readable and uniform in casing, but they mix nouns (catalog, schema, instructions) with generic verbs (get, search, validate). 'get' is notably vague and only makes sense once you read it as 'get bytes of a version'.
Six tools is a tight, well-scoped surface for a verified registry/validation server: discovery, retrieval, schema, validation, and onboarding. Slightly thin in that one slot is consumed by a retired tool instead of a useful operation.
The read path is well covered (catalog, search, get, schema, validate), but there is no create/publish/submit operation despite the 'QFactory' framing, and 'instructions' is explicitly retired yet still present, which may send agents down a dead end. Coverage is workable but has a notable gap and a deprecated entry.
Available Tools
6 toolscatalogQFactory catalogBRead-onlyIdempotentInspect
The verified public Registry release catalog with its registryPin.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the safety profile is clear without the description. The description adds that the catalog is verified, public, and includes a registryPin, which is useful context, but it does not explain what registryPin means or how the catalog behaves beyond what the annotations already say.
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 with no redundant clauses. It is front-loaded with the resource identity, though terms like registryPin are left unexplained and no action verb anchors the sentence.
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 no output schema and only zero parameters, the description should carry more of the burden of explaining what the catalog returns and how registryPin fits in. It partially does so by naming the catalog and registryPin, but it leaves the return shape and the role of the pin underspecified.
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 zero input parameters, so the baseline for parameter semantics is 4. The description introduces no parameter-related ambiguity, though it also has no parameters to clarify.
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 identifies the resource as the verified public Registry release catalog with its registryPin, but it never states an action verb such as retrieve or list. It is more specific than a pure tautology of the name, yet the purpose remains vague and is not differentiated from siblings like get, schema, or search.
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 when-to-use or when-not-to-use guidance. The description does not mention how this differs from sibling tools such as get, schema, search, or validate, leaving the agent to infer when catalog is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getGet an exact versionCRead-onlyIdempotentInspect
The checksum-verified bytes of an exact workflow, component or demo version.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| section | Yes | ||
| version | Yes | ||
| includeBundle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds useful context that the returned bytes are checksum-verified, but it does not disclose error behavior, authentication needs, or response details beyond that.
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 with no filler. However, it is a noun phrase rather than an action-oriented statement, which slightly weakens front-loading for an agent deciding how to invoke the tool.
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 4 parameters, 0% schema description coverage, and no output schema, the description should do more to explain parameter meanings and expected behavior. It states the return content but leaves id, includeBundle, and error/response semantics undocumented.
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 explain the four parameters. It only loosely maps the resource types to 'workflow, component or demo version' and says 'exact version,' but it never mentions id, includeBundle, or the section enum explicitly.
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 identifies the exact resource being retrieved: checksum-verified bytes for a specific workflow, component, or demo version. It is clear enough to distinguish exact-version retrieval from broader discovery, though it does not explicitly name or contrast sibling tools such as search.
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 like search, catalog, or schema. The word 'exact' implies a contrast with search, but the description does not state when-not-to-use or name an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instructionsRetired: QFactory skill packageCRead-onlyIdempotentInspect
Retired. Returns the current QFactory skill package and verified catalog facts for clients without the QFactory plugin. Input fields other than revision, expectedSha256, section and id are ignored.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| os | Yes | ||
| mode | Yes | ||
| step | No | prepare | |
| agent | Yes | ||
| section | No | ||
| provider | No | caller | |
| revision | No | ||
| installedCore | Yes | ||
| expectedSha256 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context that most input fields are ignored, but it does not explain the implications of the 'Retired' status or the return format.
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?
Two sentences with no filler, and the deprecation notice is front-loaded. The structure is efficient, though the single-word 'Retired.' could be integrated more clearly.
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 10 parameters, 4 required, no output schema, and 0% schema coverage, the description is too sparse. It does not explain why required fields exist if they are ignored, nor does it detail the return structure beyond a high-level phrase.
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% schema description coverage, the description compensates by identifying which four parameters matter (revision, expectedSha256, section, id) and that all others are ignored. However, it does not define the meaning or format of those relevant 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 a specific resource (QFactory skill package and catalog facts) but the leading 'Retired.' makes it unclear whether the tool still functions or is deprecated. It also does not differentiate from siblings like catalog, get, or schema.
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?
It gives a usage condition ('for clients without the QFactory plugin') but offers no alternatives, no when-not-to-use guidance, and the 'Retired' label implies the tool should not be used without naming a replacement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schemaQ-Core manifest SPECBRead-onlyIdempotentInspect
The SPEC-MANIFEST of the exact Q-Core the verified release pins, with a map of its sections.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive, closed-world operation. The description adds useful content context by saying the result is the exact pinned Q-Core SPEC-MANIFEST with a section map, but it does not add behavioral details such as return format or limitations.
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 definition is a single compact sentence with no filler, and the resource is front-loaded. However, the phrasing is somewhat dense and elliptical, making it less immediately readable than a cleaner action-first structure.
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 no output schema, the description should help an agent understand what is returned; it does so minimally by naming the SPEC-MANIFEST and a section map. It still leaves domain terms like Q-Core, SPEC-MANIFEST, and verified release pins unexplained, and does not describe the return shape.
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?
There are zero parameters, and the input schema is an empty object, so there is no parameter semantics burden. The baseline score of 4 applies because the description need not compensate for undocumented inputs.
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 identifies a specific resource and scope: the SPEC-MANIFEST for the exact Q-Core pinned by the verified release, plus a section map. That is clear enough to understand what the tool returns, though it does not explicitly differentiate itself from siblings such as catalog, get, or instructions.
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 gives no explicit when-to-use guidance and does not name alternatives among the sibling tools. At most it implies usage when an agent needs the manifest tied to the verified release, but it leaves routing decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch the catalogBRead-onlyIdempotentInspect
Ranked workflows and components of the verified catalog for a short query. Runs no model.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior, so the description has a lower burden. It usefully adds that the tool runs no model and returns ranked results, but it does not explain ranking behavior, result limits, or catalog verification implications.
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 short and front-loaded, with the ranking behavior first and the no-model note second. The first sentence is a noun phrase rather than a complete verb phrase, slightly reducing clarity without adding waste.
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 one-parameter search tool with rich safety annotations and no output schema, the description is minimally adequate. However, it leaves the intent parameter undefined and says little about result structure beyond 'ranked workflows and components.'
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 sole parameter intent has 0% schema description coverage, so the description should compensate. It only says 'for a short query' and does not explain what intent accepts, whether it should be natural language or keywords, or how it relates to the 2โ2000 character constraints.
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 identifies the resource (workflows and components in the verified catalog) and the core operation (ranking for a short query). It is specific enough to distinguish a catalog search from tools like get or validate, though it does not explicitly contrast itself with sibling tools.
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?
It mentions use for a short query but gives no explicit guidance on when to use this tool versus catalog, get, schema, or validate. There are no exclusions, prerequisites, or alternative-selection cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validateValidate a manifest formatBRead-onlyIdempotentInspect
Format check of a workflow YAML with the bundled Q-Core validator. The created-workflow policy of the local Q-Core is not applied. Runs no steps; accepts no secrets.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | workflow | |
| yaml | Yes | ||
| bundle | No | ||
| format | No | yaml |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the bar is lower. The description adds valuable behavioral context beyond annotations by stating that the local created-workflow policy is not applied, no steps execute, and no secrets are accepted.
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 three short sentences with no wasted text. The core operation is front-loaded, followed by important behavioral constraints, so 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?
The tool has four parameters including a nested bundle object, no output schema, and 0% schema description coverage. The description omits nearly all parameter semantics and does not explain how bundle validation, kind selection, or format affects the check, so it is incomplete for an agent to invoke it correctly in non-default cases.
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 carry parameter meaning, but it only implies the yaml input. It says nothing about the kind, format, or nested bundle parameters, leaving the agent to infer their purpose entirely from the schema structure.
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 specific verb and resource: a format check of workflow YAML using the bundled Q-Core validator. It is clear enough to distinguish validation from execution, but it narrows the scope to workflow YAML and never mentions component manifests or JSON despite the kind/format parameters, and it does not differentiate from sibling tools.
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 usage for format checking and usefully clarifies that local created-workflow policy is not applied, no steps run, and no secrets are accepted. However, it does not explicitly say when to use this tool versus alternatives like schema or instructions, nor does it state exclusions for component or JSON validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
catalog2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / registryPinRemoved value: -{ - "additionalProperties": false, - "properties": { - "catalog": { - "maxLength": 200, - "type": "string" - }, - "catalogSha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "release": { - "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$", - "type": "string" - } - }, - "required": [ - "release", - "catalog", - "catalogSha256" - ], - "type": "object" -}
- Changed
get2 fields changed- added
Input schema / properties / includeBundleAdded value: +{ + "type": "boolean" +} - removed
Input schema / properties / registryPinRemoved value: -{ - "additionalProperties": false, - "properties": { - "catalog": { - "maxLength": 200, - "type": "string" - }, - "catalogSha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "release": { - "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$", - "type": "string" - } - }, - "required": [ - "release", - "catalog", - "catalogSha256" - ], - "type": "object" -}
- Changed
instructions1 field changed- removed
Input schema / properties / registryPinRemoved value: -{ - "additionalProperties": false, - "properties": { - "catalog": { - "maxLength": 200, - "type": "string" - }, - "catalogSha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "release": { - "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$", - "type": "string" - } - }, - "required": [ - "release", - "catalog", - "catalogSha256" - ], - "type": "object" -}
- Changed
schema2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / registryPinRemoved value: -{ - "additionalProperties": false, - "properties": { - "catalog": { - "maxLength": 200, - "type": "string" - }, - "catalogSha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "release": { - "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$", - "type": "string" - } - }, - "required": [ - "release", - "catalog", - "catalogSha256" - ], - "type": "object" -}
- Changed
search1 field changed- removed
Input schema / properties / registryPinRemoved value: -{ - "additionalProperties": false, - "properties": { - "catalog": { - "maxLength": 200, - "type": "string" - }, - "catalogSha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "release": { - "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$", - "type": "string" - } - }, - "required": [ - "release", - "catalog", - "catalogSha256" - ], - "type": "object" -}
- Changed
validate4 fields changed- added
Input schema / properties / bundleAdded value: +{ + "additionalProperties": false, + "properties": { + "entry": { + "maxLength": 240, + "type": "string" + }, + "files": { + "items": { + "additionalProperties": false, + "properties": { + "path": { + "maxLength": 240, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "source": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "path", + "source", + "sha256" + ], + "type": "object" + }, + "maxItems": 128, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "entry", + "files" + ], + "type": "object" +} - added
Input schema / properties / formatAdded value: +{ + "default": "yaml", + "enum": [ + "yaml", + "json" + ], + "type": "string" +} - added
Input schema / properties / kindAdded value: +{ + "default": "workflow", + "enum": [ + "workflow", + "component" + ], + "type": "string" +} - removed
Input schema / properties / registryPinRemoved value: -{ - "additionalProperties": false, - "properties": { - "catalog": { - "maxLength": 200, - "type": "string" - }, - "catalogSha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "release": { - "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$", - "type": "string" - } - }, - "required": [ - "release", - "catalog", - "catalogSha256" - ], - "type": "object" -}
6 tool updates
- First observed
catalog - First observed
get - First observed
instructions - First observed
schema - First observed
search - First observed
validate
Related MCP Connectors
Read-only CodeAtlas service catalog: list, get and search services. No authentication.
Read-only AgentiScript concept search, catalog, authenticity, license, and approved asset discovery.
Read-only research pilot catalogue: task templates, resources, starter studies, capability status.
Read-only link-destination catalog for agents: search, get, and suggest public fit.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables read-only access to a local-first catalog of portable agent skills, exposing tools to discover ranked matches, inspect stored artifacts, traverse declared relationships, and view configuration.5MIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents to search a registry, inspect capability contracts, verify releases, check machine readiness, install/remove and run QuickAgents, and hold interactive sessions, with JSON results and consent-gated write/run actions.MIT
- AlicenseNot gradedqualityCmaintenanceEnables scientific-figure agents to retrieve versioned workflow bundles, public templates, rules, JSON Schemas, and dataset manifests through a single anonymous, read-only, stateless MCP tool.1Apache 2.0
- FlicenseNot gradedqualityCmaintenanceExposes a version-controlled knowledge base as MCP tools so agents can read merged identity/state summaries and next recommended actions at runtime, plus run deterministic schema validation and cross-reference link checks. This lets agents fetch live state and verify integrity via self-describing calls instead of re-reading raw files.-
Glama MCP Gateway
Add one secure layer between your agents and this server.