IDE Integration
VS Code integration for language diagnostics and Jupyter notebook execution.
Available Tools
getDiagnostics
Get language server diagnostics (errors, warnings, hints) from VS Code.
python
# Get all diagnostics result = mcp__ide__getDiagnostics() # Get diagnostics for specific file result = mcp__ide__getDiagnostics(uri="file:///path/to/file.ts")
Response Format
python
{
"diagnostics": {
"file:///path/to/file.ts": [
{
"severity": "error",
"message": "Type 'string' is not assignable to type 'number'",
"range": {
"start": {"line": 10, "character": 5},
"end": {"line": 10, "character": 15}
},
"source": "typescript",
"code": 2322
}
]
}
}
Severity Levels
| Level | Description |
|---|---|
error | Must be fixed |
warning | Should be reviewed |
info | Informational |
hint | Suggestions |
executeCode
Execute Python code in the current Jupyter kernel.
python
# Execute Python code
result = mcp__ide__executeCode(code="print('Hello World')")
# Multi-line code
result = mcp__ide__executeCode(code="""
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())
""")
Response Format
python
{
"outputs": [
{
"type": "text", # or "image", "error", "stream"
"content": "Hello World",
"mimeType": "text/plain"
}
],
"executionCount": 1
}
Output Types
| Type | Description |
|---|---|
text | Text output |
stream | stdout/stderr |
image | Visualizations |
error | Execution errors |
Common Use Cases
Pre-commit Type Check
python
# Check for errors before committing
diagnostics = mcp__ide__getDiagnostics()
errors = []
for file, issues in diagnostics["diagnostics"].items():
file_errors = [i for i in issues if i["severity"] == "error"]
if file_errors:
errors.extend(file_errors)
if errors:
print(f"Found {len(errors)} errors - fix before committing")
Data Analysis in Notebook
python
# Load and explore data
mcp__ide__executeCode(code="""
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('sales.csv')
print(df.describe())
""")
# Create visualization
mcp__ide__executeCode(code="""
df.groupby('month')['revenue'].sum().plot(kind='bar')
plt.title('Monthly Revenue')
plt.show()
""")
Variable Inspection
python
# Check variable state mcp__ide__executeCode(code="print(type(my_var), repr(my_var))") # Inspect DataFrame mcp__ide__executeCode(code="display(df.info())")
Important Notes
- •Kernel state persists - Variables remain between executeCode calls
- •Restart clears state - Kernel restart removes all variables
- •Diagnostics are real-time - Reflect current file state
- •File URI format - Use
file:///absolute/pathfor specific files
Best Practices
- •Check diagnostics before commits - Catch errors early
- •Use executeCode for exploration - Interactive data analysis
- •Preserve kernel state - Avoid unnecessary recomputation
- •Handle errors gracefully - Check output type for errors