mcp-pyright
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_typesC | Check types in a Python file or string of code. Performs type checking using Pyright and returns diagnostics. |
| get_hoverB | Get hover information at a specific position. Returns type information and documentation for the symbol at the given position. |
| get_completionsC | Get code completions at a specific position. Returns available completions at the given cursor position. |
| get_definitionB | Get definition location at a specific position. Returns the location of the definition for the symbol at the given position. |
| find_referencesB | Find all references to a symbol at a specific position. Returns all reference locations for the symbol at the given position. |
| get_document_symbolsC | Get all symbols in a Python document. Returns document symbols including functions, classes, variables, etc. |
| format_codeB | Format Python code. Formats the given Python code using pyright's formatter. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| latest_diagnostics | Get the latest type checking diagnostics. Returns the most recent diagnostics from a type checking run. Returns: Dictionary with diagnostics and file information. Example: >>> latest_diagnostics() {'diagnostics': [], 'file': 'stdin'} |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose targeting specific language server protocol operations: type checking, reference finding, code formatting, completions, definition lookup, symbol listing, and hover information. There is no overlap or ambiguity between these functions.
All tools follow a consistent verb_noun pattern with clear, descriptive names (check_types, find_references, format_code, get_completions, get_definition, get_document_symbols, get_hover). The naming convention is uniform throughout the set.
With 7 tools, this server provides a well-scoped set covering essential Python language server operations. Each tool earns its place by addressing a distinct aspect of code analysis and editing assistance.
The toolset covers most core language server operations for Python code analysis, including diagnostics, navigation, formatting, and documentation. A minor gap exists in code modification operations like refactoring or rename, but the surface supports typical agent workflows effectively.