Skip to main content
Glama

Kennmarq.com

Server Details

Rules and code for marking AI images, video and audio with C2PA and watermarks

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Kennmarq-com/kennmarq-agent-kit
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation4/5

The three tools target distinct needs: integration code, legal/market requirements, and raw documentation pages. There is some overlap because read_doc can also surface API references and law pages, so an agent might occasionally hesitate between read_doc and the two specialized tools, but descriptions make the intended split fairly clear.

Naming Consistency4/5

All names use snake_case and begin with clear verbs: get_integration, get_requirements, read_doc. The pattern is mostly consistent, with read_doc being a reasonable semantic variant rather than a naming inconsistency.

Tool Count4/5

Three tools is a small but reasonable surface for a focused documentation/integration server. Each tool covers a distinct access mode, though the set is close to the lower boundary and relies on read_doc to fill broader documentation needs.

Completeness4/5

The surface covers integration instructions, market-specific legal requirements, and full documentation pages, which matches the server's documentation purpose. Minor gaps exist, such as no dedicated search or market-listing tool, but agents can likely work around them via read_doc and the llms.txt index.

Available Tools

3 tools
get_integrationCode to mark AI media, per stackA
Read-onlyIdempotent
Inspect

How to add Kennmarq.com marking to an app's code: the package to install, a server-side example that marks each generated file before it's stored or shown, the fields to send, the API key and how to check the result. Stacks: ai-sdk (Vercel AI SDK middleware), javascript (Node.js, Next.js, Bun, Deno, edge), python, comfyui, http (any other language).

NameRequiredDescriptionDefault
stackYesThe app's stack.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and idempotency are covered. The description adds useful content-shape context (a server-side example that marks each generated file before storage or display), but leaves open whether the call itself needs an API key or returns static docs — the mention of 'the API key' is ambiguous between returned content and an auth requirement.

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

Conciseness4/5

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

One front-loaded sentence naming the resource, followed by a compact stack enumeration — both earn their place and there is no filler. The single long opening sentence with embedded list items is dense but still readable.

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

Completeness4/5

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

For a single-parameter, read-only retrieval tool with no output schema, the description adequately covers what comes back and how stacks map to enum values. The main residual gap is routing versus sibling documentation tools, which is a usage concern rather than a completeness one.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes further by expanding each enum value: ai-sdk as Vercel AI SDK middleware, javascript as Node/Next/Bun/Deno/edge, http as any other language. That mapping genuinely helps an agent pick the right enum value rather than guessing.

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

Purpose4/5

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

The description states a specific resource and payload: integration code for adding Kennmarq.com marking to an app, enumerating exactly what is included (package, server-side example, fields, API key, verification). It is clear what the tool returns, though it never names or distinguishes itself from the siblings read_doc and get_requirements.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: an agent can infer it should call this when it needs per-stack integration code. There is no explicit when-to-use, no when-not-to-use, and no mention of how this differs from read_doc or get_requirements, which are plausible alternatives for documentation retrieval.

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

get_requirementsAI-labelling rules for marketsA
Read-onlyIdempotent
Inspect

What the AI-labelling laws of the given markets ask of an AI-generated image, video or audio file, and what a call to POST /v1/mark must send for them: the fields required, whether the visible label is needed, and what can't be marked yet. Answers from the rules the API itself enforces, with links to the government texts.

NameRequiredDescriptionDefault
mediaYesThe kind of file the app generates.
marketsYesThe countries the app serves, comma-separated: ISO codes (de, jp, br), "eu", US states (us-ca) or "us" for every US state with its own law. Profiles: eu, us-ca, us-wa, us-ut, kr, in.
deepfakeNoWhether the files realistically depict real people, places or events (deep fakes). Default false.

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the description only needs to add context. It does that well by stating the answers come from 'the rules the API itself enforces' (authoritative, not generic legal commentary), that government source links are included, and that it reports what 'can't be marked yet'. It is silent on response shape and any rate limits, but that is a minor gap.

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

Conciseness4/5

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

The core purpose is front-loaded in the first clause, and the second sentence earns its place by establishing the authority of the data and the links. The sentence is long and slightly run-on, but it contains no padding.

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

Completeness4/5

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

For a read-only lookup with no output schema, the description does the necessary work: it explains what results will contain (required fields, label requirement, unsupported cases, government links). The deepfake handling is not described, but the schema documents it, so the definition is nearly complete.

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

Parameters3/5

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

Schema coverage is 100%, with enum values and the markets format already documented, so this dimension has a baseline of 3. The description reinforces 'given markets' and the image/video/audio media types but does not mention the deepfake flag or add syntax beyond the schema.

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

Purpose4/5

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

The description names a specific resource (AI-labelling laws for given markets) and a specific output (what POST /v1/mark must send: required fields, whether a visible label is needed, what can't be marked). It never names a sibling tool, so an agent must infer on its own that this is distinct from read_doc, but the specificity of the resource makes the distinction reasonably clear.

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

Usage Guidelines4/5

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

The phrase 'what a call to POST /v1/mark must send for them' gives a clear use context: consult this before constructing a mark request. The description does not list exclusions or explicitly point to read_doc for broader documentation, but the operational context is easy to infer.

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

read_docRead a Kennmarq.com docs pageA
Read-onlyIdempotent
Inspect

A Kennmarq.com documentation page as Markdown: the API reference, the guides, the SDKs and the laws pages. The index of every page, with one line each: https://kennmarq.com/llms.txt.

NameRequiredDescriptionDefault
pathYesThe page's path, e.g. /docs/api/mark.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the return format (Markdown) and offering an external index for enumeration, which the annotations do not provide. It does not describe error behavior for a missing page, keeping it short of a 5.

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

Conciseness4/5

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

Two compact sentences with no filler, and the return format is front-loaded ahead of the index pointer. The first sentence is a verbless fragment, which slightly reduces immediate clarity about the action being performed, but nothing is wasted.

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

Completeness4/5

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

For a single-parameter, fully enumerated read tool with strong annotations and no output schema, the definition covers what is returned (Markdown), what content exists, and where to find the page list. The only gap is behavior on invalid or newly added paths, which the closed enum makes low-risk.

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

Parameters3/5

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

Schema description coverage is 100% and the single path parameter is a closed enum of 34 values with its own description and example, so the schema carries the burden. The description only loosely categorizes those paths (API reference, guides, SDKs, laws) and points at the index, adding modest orientation rather than new parameter semantics. Baseline 3 is appropriate.

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

Purpose4/5

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

The description names the exact resource (a Kennmarq.com documentation page) and the return format (Markdown), then scopes the content to API reference, guides, SDKs and laws pages so it is clearly a docs-fetching tool. It lacks an explicit verb, relying on the title 'Read a Kennmarq.com docs page', but the resource and domain distinguish it cleanly from get_integration and get_requirements.

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

Usage Guidelines3/5

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

Usage is only implied: the presence of a page index at https://kennmarq.com/llms.txt hints at how an agent should discover or confirm valid paths, which is a useful aid. However, there is no explicit statement of when to use this tool versus the sibling tools, nor any note about what to do when a path outside the enum is needed.

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.

  1. 3 tool updates
    • First observedget_integration
    • First observedget_requirements
    • First observedread_doc

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.