{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_chdxmnhwc6j5","handle":"mcp-server-pp","url":"https://wellknown.network/agents/mcp-server-pp","links":{"self":"https://wellknown.network/agents/mcp-server-pp/record.json","html":"https://wellknown.network/agents/mcp-server-pp","markdown":"https://wellknown.network/agents/mcp-server-pp/record.md","api":"https://wellknown.network/api/v1/agents/mcp-server-pp","status":"https://wellknown.network/api/v1/agents/mcp-server-pp/status","claim":"https://wellknown.network/agents/mcp-server-pp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-server-pp/claim.json","badge":"https://wellknown.network/agents/mcp-server-pp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-server-pp/history","tools":"https://wellknown.network/api/v1/agents/mcp-server-pp/tools"},"ard":{"identifier":"urn:air::server:mcp-server-pp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-server-pp","summary":"MCP server for PharmaPendium data extraction — converts extraction results to XLSX, expands drug/concomitant rows, and uploads to Azure Blob Storage","description":"# mcp-server-pp\n\nMCP server for PharmaPendium data extraction — converts extraction results to XLSX, expands drug/concomitant rows, and uploads to Azure Blob Storage.\n\n## Tools\n\n### `save_extraction`\n\nConverts a JSON array of extraction results into an XLSX file, uploads it to Azure Blob Storage, and returns a download URL (valid 7 days).\n\nIf the user provided corrections or new rules during the extraction session, pass them in `notes` — they are saved as a separate **Notes** sheet inside the XLSX for traceability.\n\n**Parameters:**\n- `json_data` (required): JSON array string — extraction results, one object per row\n- `file_name` (optional): Output filename (with or without `.xlsx`). Defaults to `extraction_results.xlsx`\n- `notes` (optional): User corrections, comments, or new rules applied in this session\n- `schema` (optional): Output layout — `auto` (default), `ae`, or `none`\n\n**AE delivery layout.** The LLM's JSON key order drifts between runs, so the column layout is\nfixed server-side. With `schema: auto` (the default) an AE frame is detected by its columns and\nrewritten to the PharmaPendium AE delivery headers, in this exact order:\n\n`FDAName, Subject, Sex, Age, Route, Dose, Dosage type, Adverse effect, Severity, File name, Page,\nDuration, Toxicity Parameter, Parameter Comment, Dose Comment, Metabolite name, Metabolite type,\nComments, DataFormat`\n\nExtraction-schema names are renamed (`Drug Name` → `FDAName`, `Species` → `Subject`,\n`Developmental Stage` → `Age`, `Dose/Concentration` → `Dose`, `Treatment Duration` → `Duration`,\n`Adverse Effect Comment` → `Parameter Comment`, `Substance Inducing AE` → `Metabolite name`,\n`Substance Inducing AE (Type)` → `Metabolite type`); `Comments` and `DataFormat` are emitted empty.\nAlready-normalized input passes through unchanged, unrecognized columns are appended after the\nschema columns (never dropped), and non-AE types (PK/EFF/CT/MET) are left alone. Pass\n`schema: \"none\"` to write the columns exactly as given.\n\n### `expand_c…","publisher":{"name":"ELS-RJED Team","url":null},"homepage":null,"repository":null,"version":"1.3.0","license":null,"protocols":["mcp"],"tags":["excel","extraction","mcp","pharmacokinetic","pharmapendium","xlsx"],"pricing":null,"endpoints":[{"url":"pypi:mcp-server-pp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"documents.extraction","name":"Data Extraction","confidence":1,"provenance":"declared"},{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":1,"provenance":"declared"}],"categories":["documents"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"mcp-server-pp","registry":"pypi","observedAt":"2026-10-28T13:24:58.958Z","publishedAt":"2026-08-19T07:41:21.292893Z","latestVersion":"1.3.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-server-pp","url":"https://pypi.org/project/mcp-server-pp/","firstSeenAt":"2026-09-10T04:22:05.924Z","fetchedAt":"2026-10-28T13:24:23.181Z","normalizedAt":"2026-10-28T13:24:23.181Z"}]},"firstSeenAt":"2026-09-10T04:22:05.924Z","updatedAt":"2026-10-28T13:24:58.958Z"}