{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_34fxyf86z8dc","handle":"easypdf","url":"https://wellknown.network/agents/easypdf","links":{"self":"https://wellknown.network/agents/easypdf/record.json","html":"https://wellknown.network/agents/easypdf","markdown":"https://wellknown.network/agents/easypdf/record.md","api":"https://wellknown.network/api/v1/agents/easypdf","status":"https://wellknown.network/api/v1/agents/easypdf/status","claim":"https://wellknown.network/agents/easypdf/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/easypdf/claim.json","badge":"https://wellknown.network/agents/easypdf/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/easypdf/history","tools":"https://wellknown.network/api/v1/agents/easypdf/tools"},"ard":{"identifier":"urn:air:www.easypdf.fr:server:easypdf","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"EasyPDF","summary":"Edit PDF text in place, fonts and layout kept. Compress, merge, split, convert and translate PDFs.","description":"Edit PDF text in place, fonts and layout kept. Compress, merge, split, convert and translate PDFs.","publisher":{"name":"Lorenzino69","url":null},"homepage":"https://www.easypdf.fr/ai-assistants","repository":"https://github.com/Lorenzino69/easypdf-mcp","version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://www.easypdf.fr/chatgpt/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://www.easypdf.fr/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-29T19:41:43.838312Z","publishedAt":"2026-09-29T19:41:43.838312Z","registryName":"io.github.Lorenzino69/easypdf"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 37m ago.","lastOkAt":"2026-10-10T04:31:27.221Z","lastProbedAt":"2026-10-10T04:31:27.221Z","statusComputedAt":"2026-10-10T04:33:23.507Z","reliability30d":{"probes":120,"successRate":1,"p50Ms":75,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":120,"ok":120,"authBoundaryOk":35,"serviceOk":85,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T04:31:27.221Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":43,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in"}},{"at":"2026-10-09T22:27:29.861Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":48,"error":null,"detail":{"tools":[{"name":"edit_pdf_text","description":"Change, correct or delete text INSIDE the original PDF, keeping its fonts, sizes, colors and layout.\n\nUse this whenever the user wants their existing PDF update"},{"name":"compress_pdf","description":"Compress a PDF to reduce its file size while keeping it readable."},{"name":"merge_pdfs","description":"Merge several PDF files into a single document, in the given order."},{"name":"split_pdf","description":"Split a PDF into several smaller PDFs."},{"name":"extract_pages","description":"Extract specific pages from a PDF into a new PDF (pages are 1-indexed)."},{"name":"rotate_pdf","description":"Rotate all pages, or selected pages, of a PDF."},{"name":"protect_pdf","description":"Protect a PDF with a password (AES-256 encryption)."},{"name":"unlock_pdf","description":"Remove the password protection from a PDF you own."},{"name":"add_page_numbers","description":"Add page numbers to a PDF."}],"toolCount":9,"toolsHash":"8b24ccbfc39032c9e5f4c35906abd70ac3c8316a11807d54031a57a9b901bd7c","serverName":"EasyPDF","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:27:32.127Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":66,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in"}},{"at":"2026-10-09T15:33:45.637Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":152,"error":null,"detail":{"tools":[{"name":"edit_pdf_text","description":"Change, correct or delete text INSIDE the original PDF, keeping its fonts, sizes, colors and layout.\n\nUse this whenever the user wants their existing PDF update"},{"name":"compress_pdf","description":"Compress a PDF to reduce its file size while keeping it readable."},{"name":"merge_pdfs","description":"Merge several PDF files into a single document, in the given order."},{"name":"split_pdf","description":"Split a PDF into several smaller PDFs."},{"name":"extract_pages","description":"Extract specific pages from a PDF into a new PDF (pages are 1-indexed)."},{"name":"rotate_pdf","description":"Rotate all pages, or selected pages, of a PDF."},{"name":"protect_pdf","description":"Protect a PDF with a password (AES-256 encryption)."},{"name":"unlock_pdf","description":"Remove the password protection from a PDF you own."},{"name":"add_page_numbers","description":"Add page numbers to a PDF."}],"toolCount":9,"toolsHash":"8b24ccbfc39032c9e5f4c35906abd70ac3c8316a11807d54031a57a9b901bd7c","serverName":"EasyPDF","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:31:44.656Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":65,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in"}},{"at":"2026-10-09T09:28:18.425Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":49,"error":null,"detail":{"tools":[{"name":"edit_pdf_text","description":"Change, correct or delete text INSIDE the original PDF, keeping its fonts, sizes, colors and layout.\n\nUse this whenever the user wants their existing PDF update"},{"name":"compress_pdf","description":"Compress a PDF to reduce its file size while keeping it readable."},{"name":"merge_pdfs","description":"Merge several PDF files into a single document, in the given order."},{"name":"split_pdf","description":"Split a PDF into several smaller PDFs."},{"name":"extract_pages","description":"Extract specific pages from a PDF into a new PDF (pages are 1-indexed)."},{"name":"rotate_pdf","description":"Rotate all pages, or selected pages, of a PDF."},{"name":"protect_pdf","description":"Protect a PDF with a password (AES-256 encryption)."},{"name":"unlock_pdf","description":"Remove the password protection from a PDF you own."},{"name":"add_page_numbers","description":"Add page numbers to a PDF."}],"toolCount":9,"toolsHash":"8b24ccbfc39032c9e5f4c35906abd70ac3c8316a11807d54031a57a9b901bd7c","serverName":"EasyPDF","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:02.067Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":63,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in"}},{"at":"2026-10-09T03:23:10.596Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":41,"error":null,"detail":{"tools":[{"name":"edit_pdf_text","description":"Change, correct or delete text INSIDE the original PDF, keeping its fonts, sizes, colors and layout.\n\nUse this whenever the user wants their existing PDF update"},{"name":"compress_pdf","description":"Compress a PDF to reduce its file size while keeping it readable."},{"name":"merge_pdfs","description":"Merge several PDF files into a single document, in the given order."},{"name":"split_pdf","description":"Split a PDF into several smaller PDFs."},{"name":"extract_pages","description":"Extract specific pages from a PDF into a new PDF (pages are 1-indexed)."},{"name":"rotate_pdf","description":"Rotate all pages, or selected pages, of a PDF."},{"name":"protect_pdf","description":"Protect a PDF with a password (AES-256 encryption)."},{"name":"unlock_pdf","description":"Remove the password protection from a PDF you own."},{"name":"add_page_numbers","description":"Add page numbers to a PDF."}],"toolCount":9,"toolsHash":"8b24ccbfc39032c9e5f4c35906abd70ac3c8316a11807d54031a57a9b901bd7c","serverName":"EasyPDF","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:26:42.336Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":41,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in"}},{"at":"2026-10-08T20:25:24.348Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"tools":[{"name":"edit_pdf_text","description":"Change, correct or delete text INSIDE the original PDF, keeping its fonts, sizes, colors and layout.\n\nUse this whenever the user wants their existing PDF update"},{"name":"compress_pdf","description":"Compress a PDF to reduce its file size while keeping it readable."},{"name":"merge_pdfs","description":"Merge several PDF files into a single document, in the given order."},{"name":"split_pdf","description":"Split a PDF into several smaller PDFs."},{"name":"extract_pages","description":"Extract specific pages from a PDF into a new PDF (pages are 1-indexed)."},{"name":"rotate_pdf","description":"Rotate all pages, or selected pages, of a PDF."},{"name":"protect_pdf","description":"Protect a PDF with a password (AES-256 encryption)."},{"name":"unlock_pdf","description":"Remove the password protection from a PDF you own."},{"name":"add_page_numbers","description":"Add page numbers to a PDF."}],"toolCount":9,"toolsHash":"8b24ccbfc39032c9e5f4c35906abd70ac3c8316a11807d54031a57a9b901bd7c","serverName":"EasyPDF","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.0","protocolVersion":"2025-06-18"}}],"tools":null,"package":null,"toolSurface":{"id":"ts_kyvfmn8gzdm3","endpointId":"ep_bh76an25jet4","hash":"8b24ccbfc39032c9e5f4c35906abd70ac3c8316a11807d54031a57a9b901bd7c","toolCount":9,"serverName":"EasyPDF","serverVersion":"3.4.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-29T18:27:38.836Z","lastSeenAt":"2026-10-09T22:27:29.877Z","observations":38,"toolNames":["edit_pdf_text","compress_pdf","merge_pdfs","split_pdf","extract_pages","rotate_pdf","protect_pdf","unlock_pdf","add_page_numbers"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_bh76an25jet4","url":"https://www.easypdf.fr/chatgpt/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T00:26:51.754Z","auth":{"observedAt":"2026-10-07T00:26:51.893Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-07T00:26:51.902Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"easypdf.fr","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-02T00:26:43.000Z","validTo":"2026-12-31T01:25:14.000Z","daysToExpiry":81,"sanCount":2,"fingerprint256":"4B:13:80:7F:09:D6:4E:7A:88:A8:9C:CE:A6:9D:F4:42:97:88:A6:D0:B4:26:F7:5F:D6:E3:D5:41:FB:82:BD:3F"}},{"id":"ep_waagyca8a4gu","url":"https://www.easypdf.fr/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-05T22:20:03.421Z","auth":{"observedAt":"2026-10-05T22:20:03.593Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://www.easypdf.fr/.well-known/oauth-protected-resource/mcp","resource":"https://www.easypdf.fr/mcp","authorizationServers":["https://www.easypdf.fr/mcp"],"scopesSupported":["openid","https://www.googleapis.com/auth/userinfo.email"]},"authorizationServer":{"url":"https://www.easypdf.fr/.well-known/oauth-authorization-server/mcp","issuer":"https://www.easypdf.fr/mcp","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post","client_secret_basic"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-05T22:20:03.622Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"easypdf.fr","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-02T00:26:43.000Z","validTo":"2026-12-31T01:25:14.000Z","daysToExpiry":81,"sanCount":2,"fingerprint256":"4B:13:80:7F:09:D6:4E:7A:88:A8:9C:CE:A6:9D:F4:42:97:88:A6:D0:B4:26:F7:5F:D6:E3:D5:41:FB:82:BD:3F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.Lorenzino69/easypdf","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.Lorenzino69%2Feasypdf","firstSeenAt":"2026-09-16T13:21:39.411Z","fetchedAt":"2026-10-09T22:20:32.733Z","normalizedAt":"2026-10-09T22:20:32.733Z"}]},"firstSeenAt":"2026-09-16T13:21:39.411Z","updatedAt":"2026-10-09T22:29:51.969Z"}