Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
juanqui
Source: modelscope
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
HF_TOKENPDFKB_EMBEDDING_PROVIDERPDFKB_OPENAI_API_KEY2. API key: : "your-deepinfra-api-key-here"OPENAI_API_KEYPDFKB_OPENAI_API_BASEPDFKB_KNOWLEDGEBASE_PATHKNOWLEDGEBASE_PATHPDFKB_CACHE_DIRCACHE_DIRPDFKB_CHUNK_SIZECHUNK_SIZEPDFKB_CHUNK_OVERLAPCHUNK_OVERLAPPDFKB_MIN_CHUNK_SIZEPDFKB_EMBEDDING_BATCH_SIZEEMBEDDING_BATCH_SIZEPDFKB_VECTOR_SEARCH_KVECTOR_SEARCH_KPDFKB_FILE_SCAN_INTERVALFILE_SCAN_INTERVALPDFKB_ENABLE_PERIODIC_SCANPDFKB_ENABLE_MANUAL_RESCANPDFKB_EMBEDDING_MODELEMBEDDING_MODELPDFKB_LOCAL_EMBEDDING_MODELPDFKB_LOCAL_EMBEDDING_BATCH_SIZEPDFKB_EMBEDDING_DEVICEPDFKB_EMBEDDING_CACHE_SIZEPDFKB_GGUF_QUANTIZATIONPDFKB_HUGGINGFACE_EMBEDDING_MODELPDFKB_HUGGINGFACE_PROVIDERPDFKB_HUGGINGFACE_API_KEYPDFKB_MAX_SEQUENCE_LENGTHPDFKB_USE_MODEL_OPTIMIZATIONPDFKB_MODEL_CACHE_DIRPDFKB_EMBEDDING_DIMENSIONPDFKB_FALLBACK_TO_OPENAIPDFKB_LOG_LEVELLOG_LEVELPDFKB_PDF_PROCESSING_STRATEGYPDF_PROCESSING_STRATEGYPDFKB_UNSTRUCTURED_PDF_PROCESSING_STRATEGYUNSTRUCTURED_PDF_PROCESSING_STRATEGYPDFKB_PDF_PARSERPDF_PARSERPDFKB_DOCLING_OCR_ENGINEDOCLING_OCR_ENGINEPDFKB_DOCLING_OCR_LANGUAGESDOCLING_OCR_LANGUAGESPDFKB_DOCLING_TABLE_MODEDOCLING_TABLE_MODEPDFKB_DOCLING_FORMULA_ENRICHMENTDOCLING_FORMULA_ENRICHMENTPDFKB_DOCLING_PROCESSING_TIMEOUTDOCLING_PROCESSING_TIMEOUTPDFKB_DOCLING_DEVICEDOCLING_DEVICEPDFKB_DOCLING_MAX_PAGESDOCLING_MAX_PAGESPDFKB_MARKER_USE_LLMMARKER_USE_LLMPDFKB_MARKER_LLM_MODELMARKER_LLM_MODELPDFKB_OPENROUTER_API_KEYOPENROUTER_API_KEYPDFKB_MINERU_LANGMINERU_LANGPDFKB_MINERU_METHODMINERU_METHODPDFKB_MINERU_VRAMMINERU_VRAMPDFKB_DOCUMENT_CHUNKERPDFKB_PDF_CHUNKERPDF_CHUNKERPDFKB_PAGE_CHUNKER_MIN_CHUNK_SIZEPDFKB_PAGE_CHUNKER_MAX_CHUNK_SIZEPDFKB_PAGE_CHUNKER_MERGE_SMALLPDFKB_MARKDOWN_PARSE_FRONTMATTERPDFKB_MARKDOWN_EXTRACT_TITLEPDFKB_MARKDOWN_PAGE_BOUNDARY_PATTERNPDFKB_MARKDOWN_SPLIT_ON_PAGE_BOUNDARIESPDFKB_SEMANTIC_CHUNKER_THRESHOLD_TYPEPDFKB_SEMANTIC_CHUNKER_THRESHOLD_AMOUNTPDFKB_SEMANTIC_CHUNKER_BUFFER_SIZEPDFKB_SEMANTIC_CHUNKER_NUMBER_OF_CHUNKSPDFKB_SEMANTIC_CHUNKER_SENTENCE_SPLIT_REGEXPDFKB_SEMANTIC_CHUNKER_MIN_CHUNK_SIZEPDFKB_SEMANTIC_CHUNKER_MIN_CHUNK_CHARSPDFKB_WEB_ENABLEWEB_ENABLEDPDFKB_WEB_PORTWEB_PORTPDFKB_WEB_HOSTWEB_HOSTPDFKB_WEB_CORS_ORIGINSWEB_CORS_ORIGINSPDFKB_ENABLE_HYBRID_SEARCHPDFKB_HYBRID_VECTOR_WEIGHTPDFKB_HYBRID_TEXT_WEIGHTPDFKB_RRF_KPDFKB_HYBRID_EXPANSION_FACTORPDFKB_HYBRID_MAX_EXPANDED_LIMITPDFKB_MAX_PARALLEL_PARSINGPDFKB_MAX_PARALLEL_EMBEDDINGPDFKB_BACKGROUND_QUEUE_WORKERSPDFKB_THREAD_POOL_SIZEPDFKB_ENABLE_RERANKERPDFKB_RERANKER_PROVIDERPDFKB_RERANKER_MODELPDFKB_RERANKER_SAMPLE_ADDITIONALPDFKB_RERANKER_DEVICEPDFKB_RERANKER_MODEL_CACHE_DIRPDFKB_RERANKER_GGUF_QUANTIZATIONPDFKB_DEEPINFRA_API_KEYPDFKB_DEEPINFRA_RERANKER_MODELPDFKB_ENABLE_SUMMARIZERPDFKB_SUMMARIZER_PROVIDERPDFKB_SUMMARIZER_MODELPDFKB_SUMMARIZER_MAX_PAGESPDFKB_SUMMARIZER_DEVICEPDFKB_SUMMARIZER_MODEL_CACHE_DIRPDFKB_SUMMARIZER_API_BASEPDFKB_SUMMARIZER_API_KEYPDFKB_TRANSPORTTQDM_DISABLETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
5/5 tools missing one or more hints — add_document (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_documents (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_documents (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +2 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Destructive tools are labelled
1 tool perform destructive updates without destructiveHint — remove_document deletes at line 982 (file_path.unlink())
Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.
Tool test coverage
2/5 tools referenced in tests (40%)
Write tests that reference each tool by name so every tool has at least one test.
Shell command execution
4 child_process/subprocess calls in production code — runs shell commands (src/pdfkb/embeddings_local.py:232, src/pdfkb/reranker_local.py:184, src/pdfkb/summarizer_local.py:102)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/juanqui-pdfkb-mcp-1nnete)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check