Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Tamperlens MCP

de haruodevversión 1.43.0i★ –iSe ejecuta en tu computadora
Nombre en el registrocom.tamperlens/mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Was this document edited, did its redactions hold, is it safe for a model to read — Tamperlens API.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Documentos, hojas de cálculo y oficina
  • Debes completar: TAMPERLENS_API_KEY

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: TAMPERLENS_API_KEY, TAMPERLENS_BASE_URL, TAMPERLENS_ALLOWED_DIRS

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "tamperlens": {
      "command": "npx",
      "args": [
        "-y",
        "tamperlens-mcp"
      ],
      "env": {
        "TAMPERLENS_API_KEY": "your-value",
        "TAMPERLENS_BASE_URL": "your-value",
        "TAMPERLENS_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add tamperlens --env TAMPERLENS_API_KEY=your-value --env TAMPERLENS_BASE_URL=your-value --env TAMPERLENS_ALLOWED_DIRS=your-value -- npx -y tamperlens-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "tamperlens": {
      "command": "npx",
      "args": [
        "-y",
        "tamperlens-mcp"
      ],
      "env": {
        "TAMPERLENS_API_KEY": "your-value",
        "TAMPERLENS_BASE_URL": "your-value",
        "TAMPERLENS_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "tamperlens": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "tamperlens-mcp"
      ],
      "env": {
        "TAMPERLENS_API_KEY": "your-value",
        "TAMPERLENS_BASE_URL": "your-value",
        "TAMPERLENS_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • TAMPERLENS_API_KEY secreto env
    Optional. Without it the anonymous allowance applies (10 documents/hour); a free key from tamperlens.com/account raises it. compare_documents and inspect_case require a key.
  • TAMPERLENS_BASE_URL env
    Optional. Defaults to the public deployment at https://tamperlens.com.
  • TAMPERLENS_ALLOWED_DIRS env
    Optional. Colon- or comma-separated absolute directories to confine local file reads to. Unset means any absolute path the process can read (the default). Set it to an intake directory so a path argu…

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con el dominio tamperlens.com (el registro comprueba quién es dueño del dominio)

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Documentos, hojas de cálculo y oficinai

  • Más estrellas que el 0% de los otros 2197 servidores de esta categoría
  • Publicado en el registro más recientemente que el 54% de los otros 2197 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 2197 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Tamperlens MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: TAMPERLENS_API_KEY

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (1.43.0) llegó al registro hace 25 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Agent-Native Google Calendar - manage events, sync, and public booking

Se ejecuta en la nube★ 7620MITActualizado hace 2 meses
Instalar

Excel MCP Server

de haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

Se ejecuta en tu computadora★ 4276MITActualizado hace 6 días
Instalar

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Se ejecuta en tu computadora★ 847MITActualizado hace 4 días
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

tamperlens-mcp

MCP server for Tamperlens — ask whether a document was edited, whether its redactions held, and whether it is safe for a model to read, before it reaches your agent's context.

// Claude Desktop / Claude Code — claude_desktop_config.json or .mcp.json

{ "mcpServers": { "tamperlens": { "command": "npx", "args": ["-y", "tamperlens-mcp"], "env": { "TAMPERLENS_API_KEY": "tl_..." } } } }

No key is required to try it — without one you get the anonymous allowance of 10 documents an hour. A free key at tamperlens.com/account raises that to 50 a month with no card.

Tools

ToolAnswers
inspect_documentWas this edited after it was written? Revisions appended after the original save, metadata that disagrees with itself, editor fingerprints, signature coverage and integrity, hidden text, macros, AI-generator traces in images — and whether the file carries text addressed to a language model rather than to a reader.
triage_documentIs this worth ingesting, and what does it cost to open? The cheap pre-flight: structure, metadata, signatures and presence flags only — no per-page content walk — at a fraction of the I/O. Returns the risk band, the measured cost (bytes read, bytes expanded, expansion ratio) and a triage block naming the page-content families it did not check. A quiet triage is not a clean document — use it to route, then inspect_document for the full check.
check_redactionDid the redaction actually remove anything? Covering text with a black box hides it from a person and removes nothing from the file.
compare_documentsIs this the same file as the original I already hold, unchanged?
inspect_caseDo these documents of one case (three months of statements, a payslip and its statement) disagree with each other? One report per document, plus what they share that independent documents should not: the same file twice, one base file's /ID or font subset tags, the same creation second. Inconsistencies to review, never verdicts. Needs a key; a case of N documents costs N. Takes paths and/or urls, 2 to 10 in all.

Accepts PDF; Word, Excel and PowerPoint (.docx, .xlsx, .pptx and the macro-enabled twins); and JPEG, PNG, WebP, HEIC/HEIF and AVIF.

A local path or a URL

inspect_document, check_redaction and compare_documents (as originalUrl/candidateUrl) take either a local path or an http/https url — not both. inspect_case takes lists of both (paths, urls). A url is fetched by this server, on your own machine, over your own network, and only the bytes are sent on to Tamperlens. That is why the option lives here and not on the REST API: a server-side fetch of a caller-supplied URL is an SSRF risk on the API host, whereas fetching from your machine reaches only what you can already reach. It is still guarded: http/https only (re-checked at every redirect), a redirect cap, a 30s timeout (TAMPERLENS_FETCH_TIMEOUT_MS to tune), and the same 10 MB cap, enforced on the bytes received rather than a Content-Length that can lie.

It also checks the destination IP, not just the scheme: a url that points at — or redirects to, or resolves by DNS to — a loopback, link-local/metadata (169.254.169.254), private or otherwise non-routable address is refused, and the address it connects to is pinned to the one it validated, so DNS rebinding cannot slip an internal address past the check. The check re-runs at every redirect hop. If you genuinely need to fetch from an internal host, allow-list specific addresses with TAMPERLENS_FETCH_ALLOW_IPS (comma-separated; empty by default, and the default reaches nothing internal).

The `path` argument reads any local file and sends its bytes to the API.

inspect_document, triage_document, check_redaction,

compare_documents and inspect_case read whatever local path they are given — there is no

directory sandbox by default and no extension filter, because reading a

document off disk is the whole job and an intake path is not knowable in

advance. Set `TAMPERLENS_ALLOWED_DIRS` (env table below) to confine reads

to an intake directory; a symlink pointing out of a root is resolved and refused. The bytes of

that file are then transmitted to the configured Tamperlens deployment. A model

an attacker is steering could therefore name a private file (~/.ssh/id_rsa,

~/.aws/credentials) and cause its bytes to leave the machine. **Run this

server only with agents and inputs you trust**, the same rule you would apply

to any tool that can read the local filesystem. For a hard boundary, front the

intake with a directory you control and pass only paths inside it.

Why you would put this in front of an agent

A document is read by two audiences and only one of them sees the page. An extraction pipeline reads the title, the keywords, the XMP packet, the comments, the names of attachments — fields that exist to be read by software. Text placed there can be written to be *obeyed* rather than *read*.

inspect_document reports that before your agent ingests the file, and the recovered payload is elided unconditionally in this server. That is not a convenience: the most likely next reader of a Tamperlens report is the same model that was about to read the document, so an MCP server that echoed the attacker's sentence back into the context would be completing the attack it just detected. You get the field, the location and the cue categories. You do not get the sentence.

What it does not do

  • No local analysis. Every tool is a thin wrapper over the Tamperlens REST API on a running deployment. There is no second engine here to drift from the first.
  • No verdicts. Tamperlens reports *risk signals with the evidence behind them*, never "this document is fraudulent". Combine them with your own decision logic.
  • The document never enters the model's context. Tools take a path on the caller's filesystem (or a URL fetched here) and read the bytes on this side. Base64 in a tool call would put megabytes of document into the context window to reach a service that needs the bytes, not the model.
  • Retention follows the account behind the key. Files are parsed in memory by the API. Without TAMPERLENS_API_KEY (the anonymous allowance) nothing is kept. With a key that belongs to an account whose history is on (the default for accounts created since retention launched), the API keeps a short derived record of each call (hashes, signal ids and the score; never the file, its name or its text), and keeps the file itself only if the account opted in. The tool result then carries the API's retention and tenantMatches blocks. To keep nothing, set that key to retention: none with PATCH /api/v1/retention from a signed-in dashboard session (the dashboard has no per-key switch); this server does not send the per-call X-Tamperlens-Retention header. Every field is listed at tamperlens.com/privacy#retention.

Configuration

VariableDefaultMeaning
TAMPERLENS_API_KEYnoneOptional. Without it the anonymous allowance applies (10 documents/hour).
TAMPERLENS_BASE_URLhttps://tamperlens.comPoint at your own deployment.
TAMPERLENS_FETCH_TIMEOUT_MS30000Total budget for a url fetch, body and all redirects included.
TAMPERLENS_FETCH_ALLOW_IPSnoneComma-separated exact IPs a url fetch may reach despite the non-routable-address guard. For a deliberate internal document store. Empty means nothing internal is reachable.
TAMPERLENS_ALLOWED_DIRSnoneColon- or comma-separated absolute directories to confine local file reads to. Unset means any absolute path the process can read. Set it to an intake directory so a path argument cannot reach secrets like ~/.ssh or a stray .env; a symlink pointing out of a root is resolved and refused.

Links

Field guide to every signal · Is this file safe for your model to read? · API reference · Security and privacy posture

MIT licensed. Issues and source: github.com/haruodev/tamperlens-mcp.

Pregunta a PopNx