protogrid

Search / com.kaneme/kaneme

Kaneme — Your writing identity, measured and portable

R0· no sign-in

Build a voice from your own texts, measure whether a text still sounds like you, then write in it.

v5.3.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality84good
Trust82of 100
Uptime, 30 days95%
Latency p502925 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "kaneme": {
      "type": "http",
      "url": "https://kaneme.com/api/mcp/public"
    }
  }
}
claude mcp add --transport http kaneme https://kaneme.com/api/mcp/public
[mcp_servers.kaneme]
url = "https://kaneme.com/api/mcp/public"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kaneme": {
      "type": "remote",
      "url": "https://kaneme.com/api/mcp/public",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "kaneme": {
      "type": "http",
      "url": "https://kaneme.com/api/mcp/public"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=kaneme&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8va2FuZW1lLmNvbS9hcGkvbWNwL3B1YmxpYyJ9"
}
{
  "servers": {
    "kaneme": {
      "type": "http",
      "url": "https://kaneme.com/api/mcp/public"
    }
  }
}
{
  "mcpServers": {
    "kaneme": {
      "httpUrl": "https://kaneme.com/api/mcp/public"
    }
  }
}
extensions:
  "kaneme":
    enabled: true
    name: "kaneme"
    type: streamable_http
    uri: "https://kaneme.com/api/mcp/public"
    timeout: 300

Quality 84 / 100good

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 600000)
authorization100 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • pass
    auth.cimdClient ID Metadata Documents supported
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations2 of 2 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 2 tools declare all four hints; missing: read_observatory_signals (destructiveHint, idempotentHint)
  • pass
    tools.token_costabout 627 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes12 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

2 tools, about 627 tokens to load them all · tool set 8116fa299207 · tools last changed 2026-10-14 · checked 2026-10-20 09:31 UTC

Tool changes

  • measure_authorshipadded

    Measures whether a text is by the SAME HAND as three reference texts pasted in the call. No account, no credits, nothing stored. Exactly 3 references of 100+ words each, in DIFFERENT registers, and a text of 50+ words (150 to leave low confidence). Returns a calibrated PROBABILITY, its label and four stylometric dimensions (not a breakdown of the probability). `probability: null` with `unavailable` is a measured abstention; only `embedding_layer` is an outage on our side. Not verify_authorship, which uses the account’s saved voice. For that, a Kaneme account at https://kaneme.com and the authenticated MCP connection.

  • read_observatory_signalsadded

    Reads a text with the Observatoire method (frozen copy, `methodVersion` returned): passages to reread, each with its criterion (G01 generic phrasing, S01 announced conclusion, V01 claim without visible evidence, R01 near-repeated vocabulary, S02 repeated opening, D01 long sentence), UTF-16 positions, the quoted passage and editorial advice. No account, no credits, nothing stored. It is NOT an AI detector, NOT a proof of authorship and has NO score: never turn the number of passages into a verdict, and never merge it with a Kaneme measurement. Labels and advice are in French: relay them in the user’s language. Language is detected when omitted; English rules are experimental. To rewrite the text in the user’s own voice, use improve_in_voice (account required).

  • measure_authorshipremoved

    Measures whether a text is by the SAME HAND as three reference texts pasted in the call. No account, no credits, nothing stored. Exactly 3 references of 100+ words each, in DIFFERENT registers, and a text of 50+ words (150 to leave low confidence). Returns a calibrated PROBABILITY, its label and four stylometric dimensions (not a breakdown of the probability). `probability: null` with `unavailable` is a measured abstention; only `embedding_layer` is an outage on our side. Not verify_authorship, which uses the account’s saved voice. For that, a Kaneme account at https://kaneme.com and the authenticated MCP connection.

  • read_observatory_signalsremoved

    Reads a text with the Observatoire method (frozen copy, `methodVersion` returned): passages to reread, each with its criterion (G01 generic phrasing, S01 announced conclusion, V01 claim without visible evidence, R01 near-repeated vocabulary, S02 repeated opening, D01 long sentence), UTF-16 positions, the quoted passage and editorial advice. No account, no credits, nothing stored. It is NOT an AI detector, NOT a proof of authorship and has NO score: never turn the number of passages into a verdict, and never merge it with a Kaneme measurement. Labels and advice are in French: relay them in the user’s language. Language is detected when omitted; English rules are experimental. To rewrite the text in the user’s own voice, use improve_in_voice (account required).

  • read_observatory_signalsadded

    Reads a text with the Observatoire method (frozen copy, `methodVersion` returned): passages to reread, each with its criterion (G01 generic phrasing, S01 announced conclusion, V01 claim without visible evidence, R01 near-repeated vocabulary, S02 repeated opening, D01 long sentence), UTF-16 positions, the quoted passage and editorial advice. No account, no credits, nothing stored. It is NOT an AI detector, NOT a proof of authorship and has NO score: never turn the number of passages into a verdict, and never merge it with a Kaneme measurement. Labels and advice are in French: relay them in the user’s language. Language is detected when omitted; English rules are experimental. To rewrite the text in the user’s own voice, use improve_in_voice (account required).

  • verify_certificateremoved

    Verifies a Kaneme certificate from its TOKEN (from a /certificat/… URL or a badge). Returns the PUBLIC attestation: issuer, type (text or voice), the authorship band or maturity level, subject, date, engine version and page URL. Never a fine-grained score: only what the public page shows. NO credits, no voice required, any token, including another account’s. Unknown, invalid or revoked token = `verified:false`: "not attested", NEVER an outage to retry. `textDigest` is SHA-256 over kaneme-text-v1. remove U+200B, U+2060 and U+FEFF (preserve U+200D); NFC; replace every ECMAScript whitespace run (/\s+/gu, including NBSP) with U+0020; trim; UTF-8 without BOM; SHA-256 in lowercase hexadecimal. `signedCore` is stored at issuance; localized claims labels are outside its Ed25519 signature. Legacy certificates stay origin with null digest/signature. Voice certificates attest no text.

  • measure_authorshipchangeddescription
    before

    Measures whether a text is by the SAME HAND as three reference texts pasted in the call. No account, no credits, nothing stored. Exactly 3 references of 100+ words each, in DIFFERENT registers, and a text of 50+ words (150 to leave low confidence). Returns a calibrated PROBABILITY, its label and four stylometric dimensions (not a breakdown of the probability). `probability: null` with `unavailable` is a measured abstention; only `embedding_layer` is an outage on our side. Not verify_authorship, which uses the account’s kept voice. For that, a Kaneme account at https://kaneme.com and the authenticated MCP connection.

    after · 97% of words in common

    Measures whether a text is by the SAME HAND as three reference texts pasted in the call. No account, no credits, nothing stored. Exactly 3 references of 100+ words each, in DIFFERENT registers, and a text of 50+ words (150 to leave low confidence). Returns a calibrated PROBABILITY, its label and four stylometric dimensions (not a breakdown of the probability). `probability: null` with `unavailable` is a measured abstention; only `embedding_layer` is an outage on our side. Not verify_authorship, which uses the account’s saved voice. For that, a Kaneme account at https://kaneme.com and the authenticated MCP connection.

  • verify_certificatechangeddescription
    before

    Verifies a Kaneme certificate from its TOKEN (from a /certificat/… URL or a badge). Returns the PUBLIC attestation: issuer, type (text or voice), the authorship band or maturity level, subject, date, engine version and page URL. Never a fine-grained score: only what the public page shows. NO credits, no voice required, any token, including another account’s. Unknown, invalid or revoked token = `verified:false`: "not attested", NEVER an outage to retry. When an issuer key is provisioned, `trust` carries a detached Ed25519 signature (verifiable offline).

    after · 52% of words in common

    Verifies a Kaneme certificate from its TOKEN (from a /certificat/… URL or a badge). Returns the PUBLIC attestation: issuer, type (text or voice), the authorship band or maturity level, subject, date, engine version and page URL. Never a fine-grained score: only what the public page shows. NO credits, no voice required, any token, including another account’s. Unknown, invalid or revoked token = `verified:false`: "not attested", NEVER an outage to retry. `textDigest` is SHA-256 over kaneme-text-v1. remove U+200B, U+2060 and U+FEFF (preserve U+200D); NFC; replace every ECMAScript whitespace run (/\s+/gu, including NBSP) with U+0020; trim; UTF-8 without BOM; SHA-256 in lowercase hexadecimal. `signedCore` is stored at issuance; localized claims labels are outside its Ed25519 signature. Legacy certificates stay origin with null digest/signature. Voice certificates attest no text.

  • measure_authorshipchangedtitle, description, input schema, output schemameaning changed
    before

    Mesure si un texte est de la MÊME MAIN que trois textes de référence collés dans l’appel. Aucun compte, aucun crédit, rien de conservé : ni les textes, ni leur empreinte, ni une ligne de journal. Il faut exactement 3 références de 100 mots minimum chacune, dans des registres DIFFÉRENTS (trois fois le même contexte mesure le contexte, pas l’auteur), et un texte à juger d’au moins 50 mots (150 pour sortir de la confiance basse). Rend une PROBABILITÉ calibrée, son libellé, et les quatre dimensions stylométriques (rythme, lexique, structure, signature) — qui ne sont PAS la décomposition de la probabilité. `probability: null` avec un `unavailable` est une abstention MESURÉE, pas une panne : seul `embedding_layer` est un incident de notre côté. ⚠️ CE N’EST PAS verify_authorship. Ici la référence est un presse-papiers qu’il faut recoller à chaque appel ; là-bas c’est la voix GARDÉE du compte — construite, versionnée, capable de certifier, et mesurable sur un texte sans jamais reposter le corpus. Quand l’essai a convaincu, la suite est un compte Kaneme sur https://kaneme.com et la connexion MCP authentifiée, qui ouvre les 40 autres outils.

    after · 10% of words in common

    Measures whether a text is by the SAME HAND as three reference texts pasted in the call. No account, no credits, nothing stored. Exactly 3 references of 100+ words each, in DIFFERENT registers, and a text of 50+ words (150 to leave low confidence). Returns a calibrated PROBABILITY, its label and four stylometric dimensions (not a breakdown of the probability). `probability: null` with `unavailable` is a measured abstention; only `embedding_layer` is an outage on our side. Not verify_authorship, which uses the account’s kept voice. For that, a Kaneme account at https://kaneme.com and the authenticated MCP connection.

  • verify_certificatechangedtitle, description, input schema, output schemameaning changed
    before

    Vérifie un certificat Kaneme à partir de son TOKEN (celui d'une URL /certificat/texte/… ou /certificat/… , ou d'un badge). Rend l’attestation PUBLIQUE : émetteur, type (texte ou voix), la BANDE d’auteur (label + affirmation) pour un texte ou le niveau de maturité pour une voix, le sujet (nom affiché, titre, nombre de mots), la date, la version du moteur, et l’URL humaine du certificat. 🔴 Jamais de score fin — seulement ce qu’un tiers voit déjà sur la page publique : deux certificats d’une même bande rendent la même attestation, aucun gradient à suivre pour un imitateur. AUCUN crédit, aucune voix requise : c’est une lecture, sur N’IMPORTE QUEL token, y compris ceux d’un autre compte. Un token inconnu, invalide ou révoqué rend `verified:false` — à traiter comme « non attesté », JAMAIS comme une panne à retenter. Quand une clé d’émetteur est provisionnée, `trust` porte une signature Ed25519 détachée (vérifiable hors-ligne) ; sinon la confiance repose sur l’origine. Le MÊME service est offert à un tiers SANS clé ni compte : GET /api/v1/certificate/{token} (JSON) et le badge /api/badge/{token}.svg — ici, c’est la même preuve rendue à un agent déjà connecté.

    after · 10% of words in common

    Verifies a Kaneme certificate from its TOKEN (from a /certificat/… URL or a badge). Returns the PUBLIC attestation: issuer, type (text or voice), the authorship band or maturity level, subject, date, engine version and page URL. Never a fine-grained score: only what the public page shows. NO credits, no voice required, any token, including another account’s. Unknown, invalid or revoked token = `verified:false`: "not attested", NEVER an outage to retry. When an issuer key is provisioned, `trust` carries a detached Ed25519 signature (verifiable offline).

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness99
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-97% +updated-8d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://kaneme.com/api/mcp streamable-httpoauth2 AS: https://kaneme.comyes95%2925 ms–2026-10-20
https://kaneme.com/api/mcp/public streamable-httpnoneyes97%2908 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-052026-10-20

Tools (2)

measure_authorshipMeasures whether a text is by the SAME HAND as three reference texts pasted in the call. No account, no credits, nothing stored. Exactly 3 references of 100+ words each, in DIFFERENT registers, and a text of 50+ words (150 to leave low confidence). Returns a calibrated PROBABILITY, its label and four stylometric dimensions (not a breakdown of the probability). `probability: null` with `unavailable` is a measured abstention; only `embedding_layer` is an outage on our side. Not verify_authorship, which uses the account’s saved voice. For that, a Kaneme account at https://kaneme.com and the authenticated MCP connection.
read_observatory_signalsread-onlyReads a text with the Observatoire method (frozen copy, `methodVersion` returned): passages to reread, each with its criterion (G01 generic phrasing, S01 announced conclusion, V01 claim without visible evidence, R01 near-repeated vocabulary, S02 repeated opening, D01 long sentence), UTF-16 positions, the quoted passage and editorial advice. No account, no credits, nothing stored. It is NOT an AI detector, NOT a proof of authorship and has NO score: never turn the number of passages into a verdict, and never merge it with a Kaneme measurement. Labels and advice are in French: relay them in the user’s language. Language is detected when omitted; English rules are experimental. To rewrite the text in the user’s own voice, use improve_in_voice (account required).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.kaneme/kaneme",
  "icons": [
    {
      "src": "https://kaneme.com/favicon.svg?v=6",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    },
    {
      "src": "https://kaneme.com/icons/icon-512.png?v=6",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://kaneme.com/icons/icon-192.png?v=6",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Kaneme — Your writing identity, measured and portable",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://kaneme.com/api/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer token: an API key (kaneme_...) or an OAuth 2.1 access token. Discovery: /.well-known/oauth-protected-resource/api/mcp"
        }
      ]
    },
    {
      "url": "https://kaneme.com/api/mcp/public",
      "type": "streamable-http"
    }
  ],
  "version": "5.3.0",
  "websiteUrl": "https://kaneme.com/developers/mcp",
  "description": "Build a voice from your own texts, measure whether a text still sounds like you, then write in it."
}