Collection of MCP (Model Context Protocol) servers for extending LLM capabilities with multiple specialized servers: JinaNavigator (web-to-markdown), Jupyter Papermill (notebook execution), Roo State Manager (conversation persistence), and SK Agent (semantic kernel orchestration)
This collection spans 20 tools across 3 servers (jinavigator, jupyter-papermill, roo-state-manager). Tool definitions are present with schemas and descriptions, but quality is inconsistent. Descriptions are brief but generally present (average ~80 chars); schemas are properly structured in JSON Schema format. However, multiple tools lack adequate parameter documentation, error guidance is minimal, and no tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. The collection mixes French and English descriptions, which is acceptable but reduces clarity for English-only LLMs. No output schemas are documented. Security considerations (credentials, validation) are not evident in the visible code. The tools show good naming conventions (verb_noun) and reasonable composition, but fall short of production-grade definition quality expected for A/B tiers.
Accède au contenu d'une page web via un URI au format jina://{url}
Ajoute une cellule à un notebook
Nettoie tous les kernels actifs (arrêt propre)
Convertit une page web en Markdown en utilisant l'API Jina
Crée un nouveau notebook vide
Exécution consolidée de notebook avec Papermill. Remplace: execute_notebook_papermill, parameterize_notebook, execute_notebook_solution_a, execute_notebook_sync, start_notebook_async
Outil consolidé - Exécution de code sur un kernel avec transport timeout. Remplace: execute_cell, execute_notebook, execute_notebook_cell
No tool annotations present (readOnlyHint, destructiveHint, idempotentHint). Tools like remove_cell, cleanup_all_kernels, and start_jupyter_server are destructive or have side effects but provide no explicit warnings to the LLM.
Output schemas are not documented. Tools like execute_notebook, execute_on_kernel, and list_kernels return complex results but provide no explicit schema documentation. LLMs cannot reliably parse or chain results without knowing field names and types.
Descriptions are brief (average 60 - 70 chars) and lack context on WHEN to use each tool and WHAT it returns. E.g., 'Récupère le statut détaillé d'un kernel' (get_kernel_status) does not explain what fields are returned or when to call it vs list_kernels.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 39 | - | v1 |
Extrait le plan des titres Markdown à partir d'une liste d'URLs
Récupère le statut détaillé d'un kernel
Récupère les métadonnées détaillées d'un notebook
Liste les kernels disponibles et actifs
Liste les fichiers notebook dans un répertoire
Outil consolidé - Gestion du cycle de vie des kernels Jupyter. Remplace: start_kernel, stop_kernel, interrupt_kernel, restart_kernel
Convertit plusieurs pages web en Markdown en utilisant l'API Jina
Outil consolidé - Lecture flexible de cellules d'un notebook. Remplace: read_cell, read_cells_range, list_notebook_cells
Lit un notebook Jupyter à partir d'un fichier
Supprime une cellule d'un notebook
Démarre un serveur Jupyter Lab et le connecte au MCP
Modifie une cellule d'un notebook
Écrit un notebook Jupyter dans un fichier
No error handling guidance. Tools accept parameters but provide no validation rules, error messages, or recovery paths. E.g., execute_notebook accepts timeout as integer but does not specify a range; execute_on_kernel accepts mode enum but does not clarify which parameters are required for each mode.
Parameter interdependencies are undocumented. E.g., execute_on_kernel has mutually exclusive modes (code, notebook, notebook_cell) but does not specify which parameters are required for each. LLMs will guess and pass invalid combinations.
No input validation rules documented. Parameters like env_path (start_jupyter_server), directory (list_notebook_files), and path (notebook tools) accept strings but provide no format constraints (regex, min/max length, allowed characters). This invites injection attacks and invalid inputs.
Tools mix French and English descriptions. E.g., Jina tools use French ('Convertit une page web en Markdown') while Jupyter tools are mostly English. This reduces clarity for English-only LLMs and fragments the interface.
No security guidance. No evidence of credential injection, permission gates, or audit logging. Tools like start_jupyter_server accept env_path directly; no indication of permission checks or validation.
Pagination and result limits are not addressed. E.g., list_notebook_files and list_kernels provide no limit, offset, or cursor parameters. Large results will blow context windows.
Optional parameters lack clear defaults. E.g., start_line/end_line in convert_web_to_markdown, timeout in execute_notebook, mode in read_cells, defaults are not stated or are implicit, forcing LLMs to guess.