MCP server giving AI assistants control over Positron Consoles — run code, manage sessions, inspect variables, capture structured output
Server provides 12 well-named tools with clear verb-noun patterns (list_, get_, focus_, execute_, create_, set_, open_). All tools have descriptions (avg ~120 chars, within baseline 34-392). Input schemas are present and typed with Zod validation. However, parameter descriptions are sparse or missing entirely, most params lack actionable guidance on format, constraints, or dependencies. Output schemas are undocumented; LLMs cannot predict response structure. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is sound, tools chain well (e.g., list_consoles → focus_console → execute_code). Security: no secrets in params, rate limiting present. Overall: solid foundation, but parameter and output documentation gaps prevent higher scores.
Register a database/data-source connection driver and connect.
Execute code in a Positron Console with full observer-based output capture. Returns structured results (text, HTML, MIME data, exit status).
Switch to a specific Console by session ID or index.
Get the currently active (foreground) Console session.
Get the current Console panel width (in characters) for responsive output formatting.
Get the currently active editor file path and text selection from Positron.
Get current plot rendering dimensions for custom visualizations.
Parameter descriptions missing or minimal. Most params (sessionId, languageId, driverId, inputs, etc.) lack actionable guidance on format, valid values, or constraints. LLMs cannot infer whether to pass 'python' vs 'py', or what structure 'inputs' array expects.
Output schemas undocumented. Tools return structured results (text, HTML, MIME data, exit status for execute_code; metadata for list_consoles, etc.) but LLMs have no schema to predict response fields. Breaks downstream tool chaining and forces exploratory calls.
No tool annotations despite clear risk classifications. execute_code and create_connection are WRITE operations; focus_console modifies state. Missing destructiveHint/idempotentHint annotations prevent agents from reasoning about retry safety and side effects.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Get the user's preferred runtime for a given language (e.g., which Python or R installation).
Retrieve the list of variables defined in a Positron Console session (R data frames, Python variables, etc.).
List all active Positron runtime sessions (consoles). Returns session metadata, language, runtime name, and foreground status.
Open a URL or HTML content in the Positron Viewer pane.
Contribute an environment variable to be set/unset/appended/prepended in Positron session environments.
Error handling lacks recovery guidance. Validation errors return JSON error objects but do not suggest next steps (e.g., 'Invalid languageId. Try get_preferred_runtime() to list available languages'). Agents cannot self-correct.
create_connection 'inputs' parameter is underspecified. Array of objects with id/label/type/value, but no guidance on which inputs are required, what values are valid, or how they map to driver-specific connection strings. LLMs will guess.