MCP Registry (redmadrobot-rnd/mcp-registry) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 39 tools. No publisher has claimed this listing.
A central registry MCP server that routes requests to specialized AI services including embeddings, PDF extraction, reranking, vector search (Qdrant), PostgreSQL, LLM completions, markup, and transcription. Includes a proxy server with RAG pipeline for document processing and retrieval.
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
redmadrobot-rnd
Source: Glama
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
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
get_server_and_toolsGet tools from all servers :return: List of servers and tools
routerRouter for all servers :param server_name: Name of the server :param tool_name: Name of the tool :param params: Parameters for the tool :return: Result of the tool
health_check_servershealth check for all server :return: List of servers status
embedding_generateMethod for gets embeddings text :param text: text :return: List of lists embeddings
embedding_batch_generateMethod for gets embeddings text :param texts: List of texts :return: List of lists embeddings
embedding_get_modelsMethod for get all embeddings models :return: existing embedding models
health_checkhealth check for server :return: server status
llm_chat_completionGenerate answer for text :param text: text :return: answer
llm_get_modelsGet existing models for generate answer :return: existing models for generate answer
llm_stream_completionStreaming generate text :param text: text for LLM :return:
markup_get_methodsGet markup methods :return: markup methods
markup_process_textProcess text with method :param text: text for process :param method_name: method name for process :return:
markup_process_fileGet chunks from file (only .txt files!!!) :param file_base64: full base64 string for file :return: chunks
document_convert_to_markdownconversion a document to Markdown :param file_base64: full base64 string for file :return: extracted text from
document_get_supported_formatsGet supported formats :return: supported formats
postgres_execute_queryExecute SQL query :param sql_query: SQL query :return: result of execute
postgres_get_schemaGet schema DB :return: Schema DB
postgres_create_tableCreate table on DB :param sql_create_table_query: SQL query for create table :return:
postgres_insert_dataInsert data to DB :param sql_insert_data_query: SQL query for insert table :return:
vector_create_collectionCreate a new vectors collection :param name: collection name :param vector_size: vector size in collection :return: result of creation
vector_get_collection_infoGet collection info :param name: collection name :return: information about collection
vector_upsert_pointsAdd/update vectors in Qdrant collection
vector_searchSearch for similar vectors :param name_collection: name collection :param query_vector: query vector :param limit: limit closest points :return:
vector_delete_pointsDelete vectors from collection :param name_collection: name collection :param ids: list of ids points :return: response status
rerank_documentsRerank texts :param query: user query :param documents: documents for rerank :return: reranked list of documents
transcribe_audioTranscribe audio :param file_base64: fill base64 string for audio :param audio_format: audio format (optional) :param diarize: Dialogue diarization (optional) :param diarize_speakers_num: number of speakers (optional) :param language: audio language (optional) :return: message about starting transcr…
transcribe_get_statusGet transcribe status :param task_id: Task id :return: transcribe status
transcribe_get_resultGet transcribe result :param task_id: Task id :return: transcribe result
preprocessing_data_for_ragThis method is used to pre-prepare pdf files for RAG :param file_paths: List with file paths :return: The name of the vector collection that contains the processed search data for RAG.
MAIN_SERVER_API_KEYValid API key (must match Authorization header in proxy_mcp_server.py).EMBEDDING_URLEMBEDDING_API_KEYEMBEDDING_MODEL_NAMEEMBEDDING_URL_MODELSEMBEDDING_HEALTH_URLLLM_SERVICE_CHAT_COMPLETIONS_URLLLM_SERVICE_API_KEYLLM_SERVICE_MODELLLM_SERVICE_MODELS_URLLLM_SERVICE_COMPLETIONS_URLLLM_SERVICE_HEALTH_URLMARKUP_GET_METHODS_URLMARKUP_API_KEYMARKUP_PROCESS_TEXT_URLMARKUP_PROCESS_FILE_URLMARKUP_HEALTH_CHECK_URLPDF_EXTRACTOR_URLPDF_HEALTH_URLPOSTGRES_USERPOSTGRES_PASSWORDPOSTGRES_HOSTPOSTGRES_DBQDRANT_URLQDRANT_API_KEYQDRANT_HEALTH_CHECK_URLRERANK_URLRERANK_MODELRERANK_HEALTH_URLTRANSCRIBE_UPLOAD_AUDIOTRANSCRIBE_API_KEYTRANSCRIBE_GET_STATUSTRANSCRIBE_GET_TRANSCRIBETRANSCRIBE_HEALTH_URLEMBEDDING_MODELTool 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
39/39 tools missing one or more hints — get_server_and_tools (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); router (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); health_check_servers (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +36 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 — transcribe_audio deletes at line 62 (os.remove(fp.name))
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 inputs are validated
21/39 tool handlers declare input schemas (54%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
Only 8/39 tool handlers wrap calls in try/catch (21%)
Wrap each tool handler body in try/catch and return a structured error response.
Tests exist
No test files found
Add tests that exercise each declared tool.
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/redmadrobot-rnd/mcp-registry)?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