Is the Kamy MCP server down?

mcp-registry/dev.kamy/kamy · v1.5.0

healthy
Last checked 2026-10-19 03:41 UTC · handshake 116ms

As of 2026-10-19 03:41 UTC, the Kamy MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 26.3 hours.

uptime (30d checks)
100%
checks observed
3,753
outages (90d)
1
tools
59

Document API for AI-native software: render PDFs, e-sign, PAdES-seal, and verify.

Install Kamy MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http kamy-mcp-server https://mcp.kamy.dev/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "kamy-mcp-server": {
      "type": "http",
      "url": "https://mcp.kamy.dev/mcp"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: C (78/100)

C (78/100): 0 error(s), 6 warning(s) across 59 tool(s); ~24,185 tokens of tool definitions.
Scores higher than 30% of 15,344 MCP servers Glimind has audited.
Its tool list costs an agent ~24,185 tokens per session — more than 95% of servers.
78 → 78 since 2026-10-17
no tool-poisoning patterns
Schemas87
Descriptions86
Safety hints100
Token cost23
Client compatibility70
Protocol100
Reliability85
Stability100

What to fix (7)

2 tool definition(s) exceed ~1,200 tokens each (largest: create_signature_request, ~1,585).

Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~1,738 tokens every session. How to fix →

Tools: create_signature_request, create_envelope · saves ~1,738 tokens/session

59 tools on one server. Tool-selection accuracy drops as the menu grows, and some clients (e.g. Cursor) cap the number of active tools.

Group tools by task into smaller servers or toolsets, and merge near-duplicates behind one tool with a mode parameter. How to fix →

3 tool(s) have parameters with no type (no type/enum/anyOf/$ref).

Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →

Tools: record_agent_action, trace_record, verify_mcp_server

6 parameter(s) across 3 tool(s) have no description.

Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →

Tools: render_pdf, render_pptx, update_template

Loading this server's tool list costs an agent ~24,185 tokens before any work — more than 95% of MCP servers.

Split rarely-used tools into a separate server or a toolset the client can enable, or expose one "search tools" entry point. Many agents load every connected server's tools into every request. How to fix →

Handshake + tools/list takes ~1,651 ms.

Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

Auto-fix: 3 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 3 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fdev.kamy%2Fkamy/fixes

record_agent_action 1 change
{
  "name": "record_agent_action",
  "description": "Append one signed tool_call -> tool_result pair to a tamper-evident ledger. Call it after any consequential tool invocation — a payment, an outbound email, a write into a customer system — so there is a hash-chained record of what the agent asked for and what came back, signed at write time. Pass a stable run_id to keep an entire agent run in one chain, and parent_sha256 to link records explicitly; read the result back with get_provenance_chain. Returns { record_id, content_sha256, signature, re",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "server",
      "tool"
    ],
    "properties": {
      "tool": {
        "type": "string",
        "maxLength": 200,
        "minLength": 1,
        "description": "Name of the tool that was invoked."
      },
      "run_id": {
        "type": "string",
        "maxLength": 200,
        "description": "Your identifier for this agent run. Reuse it across records to build one chain."
      },
      "server": {
        "type": "string",
        "maxLength": 200,
        "minLength": 1,
        "description": "Identifier of the MCP server (or tool provider) the call went to, e.g. 'kamy'."
      },
      "status": {
        "enum": [
          "ok",
          "error",
          "flagged"
        ],
        "type": "string",
        "description": "Outcome of the call. Defaults to ok."
      },
      "tool_call": {
        "description": "The request you sent — typically the arguments object, verbatim.",
        "type": "string"
      },
      "latency_ms": {
        "type": "integer",
        "minimum": 0,
        "description": "Wall-clock duration of the call."
      },
      "tool_result": {
        "description": "The result you received back, verbatim.",
        "type": "string"
      },
      "parent_sha256": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$",
        "description": "content_sha256 of the previous record in this run, to link the chain explicitly."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": false,
    "destructiveHint": false
  },
  "title": "Record agent action"
}
trace_record 1 change
{
  "name": "trace_record",
  "description": "Record one LLM call — prompt, output, provider, model, tokens, latency — into Kamy Trace, a signed retention ledger. Each record is hashed and signed at write time, so it can be produced later without the 'you could have edited this' objection. Reach for it when model calls need a reviewable history: regulated workflows, customer-facing generations, anything you may have to explain months later. Set status 'flagged' with status_detail on calls a human should revisit. Returns { id, content_sha256",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "provider",
      "model"
    ],
    "properties": {
      "tags": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 64
        },
        "maxItems": 20,
        "description": "Up to 20 free-form labels. trace_search can filter on any one of them."
      },
      "model": {
        "type": "string",
        "maxLength": 200,
        "minLength": 1,
        "description": "Model identifier exactly as the provider reports it, e.g. 'claude-sonnet-4-6'."
      },
      "output": {
        "description": "The model's response, verbatim. Any JSON value.",
        "type": "string"
      },
      "prompt": {
        "description": "The prompt / request you sent, verbatim. Any JSON value (string, array, object).",
        "type": "string"
      },
      "status": {
        "enum": [
          "ok",
          "flagged",
          "error"
        ],
        "type": "string",
        "description": "Outcome. 'flagged' marks a call you want a human to review later. Defaults to 'ok'."
      },
      "feature": {
        "type": "string",
        "maxLength": 120,
        "description": "Product area the call belongs to, e.g. 'support_reply'. Filterable in trace_search."
      },
      "provider": {
        "enum": [
          "anthropic",
          "openai",
          "custom"
        ],
        "type": "string",
        "description": "Which model vendor served the call. Use 'custom' for anything self-hosted."
      },
      "latency_ms": {
        "type": "integer",
        "minimum": 0,
        "description": "Wall-clock duration of the call."
      },
      "input_tokens": {
        "type": "integer",
        "minimum": 0,
        "description": "Prompt tokens billed."
      },
      "output_tokens": {
        "type": "integer",
        "minimum": 0,
        "description": "Completion tokens billed."
      },
      "status_detail": {
        "type": "string",
        "maxLength": 500,
        "description": "Why the call was flagged or failed. Free text."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": false,
    "destructiveHint": false
  },
  "title": "Record LLM call (Kamy Trace)"
}
verify_mcp_server 1 change
{
  "name": "verify_mcp_server",
  "description": "Detect when an MCP server changes its tool manifest after you adopted it — the 'rug pull' case, where a server you already trusted silently rewrites a tool's description or input schema. Pass server_url and Kamy fetches that third-party server's manifest itself, or pass manifest when you already hold it (local or private servers). Returns status 'new' (first fingerprint for this account — nothing to compare against yet), 'unchanged', or 'mutated', plus a per-tool changes list with previous and c",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
      "manifest": {
        "description": "A tool manifest you already hold — the `tools/list` result, or an object with a `tools` array. Use this when the server isn't reachable from Kamy (local stdio server, private network). Supply either server_url or manifest.",
        "type": "string"
      },
      "server_url": {
        "type": "string",
        "format": "uri",
        "description": "URL of the MCP server to fingerprint. Kamy fetches its tool manifest server-side. Supply either server_url or manifest."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": true,
    "destructiveHint": false
  },
  "title": "Verify MCP server manifest"
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/dev.kamy/kamy"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/dev.kamy/kamy"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.kamy%2Fkamy.svg)](https://glimind.com/server/mcp-registry%2Fdev.kamy%2Fkamy?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fdev.kamy%2Fkamy?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.kamy%2Fkamy.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.kamy%2Fkamy.svg
   :target: https://glimind.com/server/mcp-registry%2Fdev.kamy%2Fkamy?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:3969df55d397ba2a…, first seen 2026-10-17, included at leaf 11880 of 24,643. Version history · verify what your client received.

Tools (59)

Compare: most reliable knowledge servers · most reliable security servers · most reliable other servers · most reliable files servers · most reliable communication servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Kamy MCP server down right now?

As of 2026-10-19 03:41 UTC, the Kamy MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 26.3 hours.

How many tools does Kamy MCP server provide?

Kamy MCP server advertises 59 tools, including ask_kamy, attest_artifact, bulk_signature_requests, convert_document, create_envelope.

How do I install Kamy MCP server?

Point your MCP client at this streamable-http endpoint: https://mcp.kamy.dev/mcp

Is the Kamy MCP server safe to connect to an AI agent?

Glimind scanned all 59 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Kamy MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.

Feedback
Help us improve