{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_5kgt3npe7fxn","handle":"pdf-text","url":"https://wellknown.network/agents/pdf-text","links":{"self":"https://wellknown.network/agents/pdf-text/record.json","html":"https://wellknown.network/agents/pdf-text","markdown":"https://wellknown.network/agents/pdf-text/record.md","api":"https://wellknown.network/api/v1/agents/pdf-text","status":"https://wellknown.network/api/v1/agents/pdf-text/status","claim":"https://wellknown.network/agents/pdf-text/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/pdf-text/claim.json","badge":"https://wellknown.network/agents/pdf-text/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/pdf-text/history","tools":"https://wellknown.network/api/v1/agents/pdf-text/tools"},"ard":{"identifier":"urn:air:pdf.kymac.co:server:pdf-text","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"pdf-text","summary":"PDF URL → extracted text for bots. Free try then prepaid TEST. https://pdf.kymac.co","description":"PDF URL → extracted text for bots. Free try then prepaid TEST. https://pdf.kymac.co","publisher":{"name":"co.kymac.pdf","url":null},"homepage":"https://pdf.kymac.co/llms.txt","repository":null,"version":"0.4.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://pdf.kymac.co/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-18T00:22:20.030303Z","publishedAt":"2026-09-18T00:22:20.030303Z","registryName":"co.kymac.pdf/pdf-text"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"documents.ocr","name":"OCR","confidence":0.583,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"}],"categories":["commerce","documents","security"],"language":"en"},"observed":{"status":"unavailable","statusReason":"6 consecutive checks failed; last success 17d ago.","lastOkAt":"2026-09-23T21:26:05.400Z","lastProbedAt":"2026-10-09T04:29:29.132Z","statusComputedAt":"2026-10-09T04:30:09.962Z","reliability30d":{"probes":28,"successRate":0.7857,"p50Ms":89,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":28,"ok":22,"authBoundaryOk":0,"serviceOk":22,"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-09T04:29:29.132Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"unsafe: DNS resolution failed","detail":null},{"at":"2026-10-01T21:25:36.476Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"unsafe: DNS resolution failed","detail":null},{"at":"2026-09-27T20:29:15.449Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"unsafe: DNS resolution failed","detail":null},{"at":"2026-09-25T17:26:13.597Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"unsafe: DNS resolution failed","detail":null},{"at":"2026-09-24T16:24:22.592Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"unsafe: DNS resolution failed","detail":null},{"at":"2026-09-24T04:25:22.510Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"unsafe: DNS resolution failed","detail":null},{"at":"2026-09-23T21:26:05.400Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":95,"error":null,"detail":{"tools":[{"name":"issue_key","description":"Mint a caller key (POST /keys). Bot install starts at GET https://pdf.kymac.co/llms.txt (sole advertised entry). Secret ssm_… is returned once. Prefer Authoriza"},{"name":"verify_key","description":"Confirm PDF_TEXT_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret."},{"name":"rotate_key","description":"Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New ssm_… is returned once. Old secret then fails 401 invalid_api_key. Prefer A"},{"name":"revoke_key","description":"Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is a"},{"name":"list_credit_packs","description":"Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits."},{"name":"checkout_credits","description":"Stripe TEST PaymentIntent for a pack (POST /credits/checkout). Intent only — returns credits_pending; credits are not granted or spendable until confirm_credits"},{"name":"confirm_credits","description":"Confirm a TEST PaymentIntent with Stripe test card pm_card_visa (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase "},{"name":"quote_credits","description":"Dry-run cost for an op without debit (GET /credits/quote?op=pdf). Returns cost, balance, and would_succeed."},{"name":"credit_balance","description":"Derived prepaid balance for this caller_id (GET /credits/balance)."},{"name":"credit_events","description":"Append-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit (pdf_success), optional credit.balan"},{"name":"pdf_extract","description":"Text-layer PDF extract (POST /pdf). Install via GET https://pdf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://"},{"name":"health","description":"Public readiness (GET /health): billing (test|gated) and runner_ready. No key."}],"toolCount":12,"toolsHash":"fbd8ca56a7db1182912bfff404df65e6254f4d163943d92fb7470de8976782d1","serverName":"co.kymac.pdf/pdf-text","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-03-26"}},{"at":"2026-09-23T15:36:48.972Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":89,"error":null,"detail":{"tools":[{"name":"issue_key","description":"Mint a caller key (POST /keys). Bot install starts at GET https://pdf.kymac.co/llms.txt (sole advertised entry). Secret ssm_… is returned once. Prefer Authoriza"},{"name":"verify_key","description":"Confirm PDF_TEXT_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret."},{"name":"rotate_key","description":"Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New ssm_… is returned once. Old secret then fails 401 invalid_api_key. Prefer A"},{"name":"revoke_key","description":"Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is a"},{"name":"list_credit_packs","description":"Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits."},{"name":"checkout_credits","description":"Stripe TEST PaymentIntent for a pack (POST /credits/checkout). Intent only — returns credits_pending; credits are not granted or spendable until confirm_credits"},{"name":"confirm_credits","description":"Confirm a TEST PaymentIntent with Stripe test card pm_card_visa (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase "},{"name":"quote_credits","description":"Dry-run cost for an op without debit (GET /credits/quote?op=pdf). Returns cost, balance, and would_succeed."},{"name":"credit_balance","description":"Derived prepaid balance for this caller_id (GET /credits/balance)."},{"name":"credit_events","description":"Append-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit (pdf_success), optional credit.balan"},{"name":"pdf_extract","description":"Text-layer PDF extract (POST /pdf). Install via GET https://pdf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://"},{"name":"health","description":"Public readiness (GET /health): billing (test|gated) and runner_ready. No key."}],"toolCount":12,"toolsHash":"fbd8ca56a7db1182912bfff404df65e6254f4d163943d92fb7470de8976782d1","serverName":"co.kymac.pdf/pdf-text","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-03-26"}},{"at":"2026-09-23T09:25:36.110Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"issue_key","description":"Mint a caller key (POST /keys). Bot install starts at GET https://pdf.kymac.co/llms.txt (sole advertised entry). Secret ssm_… is returned once. Prefer Authoriza"},{"name":"verify_key","description":"Confirm PDF_TEXT_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret."},{"name":"rotate_key","description":"Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New ssm_… is returned once. Old secret then fails 401 invalid_api_key. Prefer A"},{"name":"revoke_key","description":"Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is a"},{"name":"list_credit_packs","description":"Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits."},{"name":"checkout_credits","description":"Stripe TEST PaymentIntent for a pack (POST /credits/checkout). Intent only — returns credits_pending; credits are not granted or spendable until confirm_credits"},{"name":"confirm_credits","description":"Confirm a TEST PaymentIntent with Stripe test card pm_card_visa (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase "},{"name":"quote_credits","description":"Dry-run cost for an op without debit (GET /credits/quote?op=pdf). Returns cost, balance, and would_succeed."},{"name":"credit_balance","description":"Derived prepaid balance for this caller_id (GET /credits/balance)."},{"name":"credit_events","description":"Append-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit (pdf_success), optional credit.balan"},{"name":"pdf_extract","description":"Text-layer PDF extract (POST /pdf). Install via GET https://pdf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://"},{"name":"health","description":"Public readiness (GET /health): billing (test|gated) and runner_ready. No key."}],"toolCount":12,"toolsHash":"fbd8ca56a7db1182912bfff404df65e6254f4d163943d92fb7470de8976782d1","serverName":"co.kymac.pdf/pdf-text","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-03-26"}},{"at":"2026-09-23T02:27:39.382Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":87,"error":null,"detail":{"tools":[{"name":"issue_key","description":"Mint a caller key (POST /keys). Bot install starts at GET https://pdf.kymac.co/llms.txt (sole advertised entry). Secret ssm_… is returned once. Prefer Authoriza"},{"name":"verify_key","description":"Confirm PDF_TEXT_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret."},{"name":"rotate_key","description":"Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New ssm_… is returned once. Old secret then fails 401 invalid_api_key. Prefer A"},{"name":"revoke_key","description":"Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is a"},{"name":"list_credit_packs","description":"Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits."},{"name":"checkout_credits","description":"Stripe TEST PaymentIntent for a pack (POST /credits/checkout). Intent only — returns credits_pending; credits are not granted or spendable until confirm_credits"},{"name":"confirm_credits","description":"Confirm a TEST PaymentIntent with Stripe test card pm_card_visa (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase "},{"name":"quote_credits","description":"Dry-run cost for an op without debit (GET /credits/quote?op=pdf). Returns cost, balance, and would_succeed."},{"name":"credit_balance","description":"Derived prepaid balance for this caller_id (GET /credits/balance)."},{"name":"credit_events","description":"Append-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit (pdf_success), optional credit.balan"},{"name":"pdf_extract","description":"Text-layer PDF extract (POST /pdf). Install via GET https://pdf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://"},{"name":"health","description":"Public readiness (GET /health): billing (test|gated) and runner_ready. No key."}],"toolCount":12,"toolsHash":"fbd8ca56a7db1182912bfff404df65e6254f4d163943d92fb7470de8976782d1","serverName":"co.kymac.pdf/pdf-text","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-03-26"}}],"tools":[{"name":"issue_key","description":"Mint a caller key (POST /keys). Bot install starts at GET https://pdf.kymac.co/llms.txt (sole advertised entry). Secret ssm_… is returned once. Prefer Authoriza"},{"name":"verify_key","description":"Confirm PDF_TEXT_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret."},{"name":"rotate_key","description":"Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New ssm_… is returned once. Old secret then fails 401 invalid_api_key. Prefer A"},{"name":"revoke_key","description":"Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is a"},{"name":"list_credit_packs","description":"Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits."},{"name":"checkout_credits","description":"Stripe TEST PaymentIntent for a pack (POST /credits/checkout). Intent only — returns credits_pending; credits are not granted or spendable until confirm_credits"},{"name":"confirm_credits","description":"Confirm a TEST PaymentIntent with Stripe test card pm_card_visa (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase "},{"name":"quote_credits","description":"Dry-run cost for an op without debit (GET /credits/quote?op=pdf). Returns cost, balance, and would_succeed."},{"name":"credit_balance","description":"Derived prepaid balance for this caller_id (GET /credits/balance)."},{"name":"credit_events","description":"Append-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit (pdf_success), optional credit.balan"},{"name":"pdf_extract","description":"Text-layer PDF extract (POST /pdf). Install via GET https://pdf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://"},{"name":"health","description":"Public readiness (GET /health): billing (test|gated) and runner_ready. No key."}],"package":null,"toolSurface":{"id":"ts_uwgcmmp545ea","endpointId":"ep_wstzstv83huy","hash":"fbd8ca56a7db1182912bfff404df65e6254f4d163943d92fb7470de8976782d1","toolCount":12,"serverName":"co.kymac.pdf/pdf-text","serverVersion":"0.4.0","protocolVersion":"2025-03-26","firstSeenAt":"2026-09-18T03:23:48.188Z","lastSeenAt":"2026-09-23T21:26:05.402Z","observations":22,"toolNames":["issue_key","verify_key","rotate_key","revoke_key","list_credit_packs","checkout_credits","confirm_credits","quote_credits","credit_balance","credit_events","pdf_extract","health"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_wstzstv83huy","url":"https://pdf.kymac.co/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-09-25T17:26:13.602Z","auth":{"observedAt":"2026-09-22T19:27:35.728Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-09-22T19:27:35.904Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"pdf.kymac.co","issuer":{"commonName":"Amazon RSA 2048 M01","organization":"Amazon"},"validFrom":"2026-09-17T00:00:00.000Z","validTo":"2027-04-02T23:59:59.000Z","daysToExpiry":173,"sanCount":1,"fingerprint256":"6B:E5:F5:7D:04:C8:AA:05:79:BB:D1:A7:B0:51:AA:55:3B:07:FE:45:FA:D6:8C:4A:22:4F:EE:C6:14:4C:47:97"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"co.kymac.pdf/pdf-text","url":"https://registry.modelcontextprotocol.io/v0/servers/co.kymac.pdf%2Fpdf-text","firstSeenAt":"2026-09-18T03:20:24.196Z","fetchedAt":"2026-10-09T02:22:59.266Z","normalizedAt":"2026-10-09T02:22:59.266Z"}]},"firstSeenAt":"2026-09-18T03:20:24.196Z","updatedAt":"2026-09-23T21:27:30.988Z"}