{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-bigcodegen-mcp-neovim-server","slug":"mcp-bigcodegen-mcp-neovim-server","name":"mcp-neovim-server","type":"mcp","url":"https://github.com/bigcodegen/mcp-neovim-server","page_url":"https://unfragile.ai/mcp-bigcodegen-mcp-neovim-server","categories":["mcp-servers"],"tags":["anthropic","claude","mcp","modelcontextprotocol","neovim"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_0","uri":"capability://tool.use.integration.mcp.to.neovim.rpc.bridge.with.socket.communication","name":"mcp-to-neovim rpc bridge with socket communication","description":"Translates Model Context Protocol requests into Neovim RPC calls via Unix socket communication managed by a NeovimManager singleton. The server implements a three-layer architecture (MCP interface, application logic, socket integration) that maintains a persistent connection to running Neovim instances and serializes/deserializes RPC payloads, enabling AI clients to control Neovim as a remote process without direct binary dependencies.","intents":["Enable Claude Desktop or other MCP clients to control my Neovim editor programmatically","Bridge AI assistants with my existing Neovim configuration and plugins","Expose Neovim capabilities through a standardized protocol for multi-client access"],"best_for":["AI-assisted developers using Claude Desktop with Neovim as primary editor","Teams building LLM-powered development tools that need editor integration","Neovim power users wanting to automate complex editing workflows via AI"],"limitations":["Requires Neovim instance to be running and listening on a socket (typically /tmp/nvim-*/0)","No built-in connection pooling — single NeovimManager singleton limits concurrent client requests","Socket communication adds ~50-100ms latency per RPC call compared to direct in-process access","Depends on neovim/node-client library which may lag behind latest Neovim API versions"],"requires":["Node.js 16+","TypeScript 4.5+ (for development)","@modelcontextprotocol/sdk ^1.11.0","neovim ^5.3.0 (Node.js client library)","Running Neovim instance with RPC socket enabled (standard in Neovim 0.7+)"],"input_types":["MCP tool requests with JSON parameters","Buffer names, line numbers, text content","Vim command strings","File paths and search patterns"],"output_types":["JSON-serialized RPC responses","Buffer content as strings","Editor state metadata","Command execution results"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_1","uri":"capability://memory.knowledge.buffer.aware.code.reading.and.context.extraction","name":"buffer-aware code reading and context extraction","description":"Exposes the nvim://buffers resource that lists all open buffers with metadata (filename, line count, modification status) and implements vim_buffer tool to read full buffer content or specific line ranges. The system maintains awareness of which buffers are currently loaded in the editor session, enabling AI clients to query editor state and extract code context without requiring file system access.","intents":["Read the current file I'm editing in Neovim to provide context to Claude","Get a list of all open files in my editor session for multi-file analysis","Extract specific line ranges from buffers for targeted AI analysis"],"best_for":["AI code analysis workflows that need live editor context","Developers wanting Claude to understand their current editing session","Multi-file refactoring scenarios where AI needs to see related buffers"],"limitations":["Only reads buffers currently open in Neovim — cannot access files not loaded in editor","No incremental sync — each read fetches full buffer content, inefficient for large files (>10MB)","Buffer metadata does not include git diff status or syntax tree information","No built-in caching — repeated reads of same buffer trigger full RPC calls"],"requires":["Neovim instance with buffers loaded","MCP client capable of reading resources (Claude Desktop 0.4+)"],"input_types":["Buffer number or name (string)","Optional line range (start_line, end_line as integers)"],"output_types":["Buffer content as plain text string","Buffer metadata: {name, line_count, modified, bufnr}","List of all open buffers with metadata"],"categories":["memory-knowledge","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_10","uri":"capability://code.generation.editing.visual.selection.and.range.based.operations","name":"visual selection and range-based operations","description":"Implements vim_visual_select tool that creates visual selections (character, line, or block mode) on specified line ranges, and vim_get_selection that retrieves currently selected text. The tools use Neovim's cursor positioning and mode-setting RPC calls to establish selections, then enable subsequent operations (delete, copy, format) on the selected range. Selections are mode-aware (visual, visual-line, visual-block).","intents":["Select specific line ranges for bulk operations (delete, copy, indent)","Retrieve currently selected text for analysis or transformation","Perform mode-specific operations (block selection for column editing)"],"best_for":["Bulk code transformations that operate on line ranges","Column-based editing tasks (block visual mode)","Workflows that need to select and operate on code regions"],"limitations":["Selections are ephemeral — lost if buffer changes or another operation occurs","No selection persistence across tool calls — each operation must re-establish selection","Block visual mode limited to rectangular regions — cannot select irregular shapes","Selection mode (character vs line vs block) affects subsequent operations unpredictably"],"requires":["Valid line range (start_line, end_line)","Optional: visual mode (character, line, block)"],"input_types":["Start line (1-indexed integer)","End line (1-indexed integer)","Optional: visual mode (char, line, block)"],"output_types":["Selected text as string","Selection metadata: {mode, start_pos, end_pos}"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_11","uri":"capability://automation.workflow.mark.and.register.based.navigation.and.storage","name":"mark and register-based navigation and storage","description":"Implements vim_set_mark and vim_goto_mark tools for creating and navigating to named marks, and vim_get_register/vim_set_register for accessing Vim's register storage. Marks are stored in Neovim's mark table (nvim_buf_set_mark, nvim_buf_get_mark) and registers are accessed via the register API. This enables AI clients to bookmark positions and store text snippets for later retrieval without external state management.","intents":["Bookmark important locations in code for quick navigation","Store code snippets in registers for reuse across edits","Navigate between marked positions during multi-step editing workflows"],"best_for":["Complex multi-step editing workflows that need to reference multiple locations","Code generation tasks that need to store and reuse text snippets","Developers wanting AI to navigate code using Vim's mark system"],"limitations":["Marks are buffer-specific — cannot navigate between buffers using marks","Only 26 named marks available (a-z) — limited storage capacity","Registers are global but limited to ~1000 characters per register","Marks are lost when buffer is closed — no persistence across sessions"],"requires":["Valid mark name (single character a-z)","Valid register name (single character a-z, 0-9, or special registers)"],"input_types":["Mark name (single character)","Line number for setting mark","Register name for register operations","Text content for setting register"],"output_types":["Mark position: {line, column}","Register content as string"],"categories":["automation-workflow","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_12","uri":"capability://automation.workflow.tab.and.window.management.for.multi.view.workflows","name":"tab and window management for multi-view workflows","description":"Implements vim_create_tab, vim_close_tab, and vim_switch_tab tools for managing Neovim's tab interface, and vim_split_window/vim_close_window for window management. The tools use Neovim's tab and window RPC API (nvim_command for :tabnew, :split, etc.) to manipulate the editor layout. Tab and window state is queryable through the session resource.","intents":["Organize multiple files into tabs for complex editing workflows","Create window splits to view multiple files simultaneously","Navigate between tabs and windows during multi-file operations"],"best_for":["Complex multi-file editing workflows requiring organized layout","Developers wanting AI to manage editor windows and tabs","Comparative editing tasks that need side-by-side file viewing"],"limitations":["Window/tab layout changes are visual only — don't affect buffer content","No layout persistence — splits and tabs are lost when Neovim closes","Limited layout control — cannot create custom window arrangements beyond splits","Tab/window operations may fail if buffers are modified or in special states"],"requires":["Valid buffer or file path for tab/window operations","Neovim instance with tab/window support (standard in all versions)"],"input_types":["Buffer number or file path for new tab/window","Tab number or window ID for navigation"],"output_types":["Success confirmation with new tab/window ID","Current tab/window layout metadata"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_13","uri":"capability://code.generation.editing.code.folding.and.structural.navigation","name":"code folding and structural navigation","description":"Implements vim_fold and vim_unfold tools that manage code folding using Neovim's folding API. The tools use Neovim's fold commands (:fold, :unfold) to collapse/expand code regions based on syntax or manual folds. vim_get_folds retrieves fold structure for the current buffer, enabling AI clients to understand code organization and navigate at the structural level rather than line-by-line.","intents":["Collapse code sections to focus on specific regions","Understand code structure through fold hierarchy","Navigate code at the function/class level using folds"],"best_for":["Large file navigation where line-by-line reading is inefficient","Structural code analysis that benefits from understanding fold hierarchy","Developers wanting AI to navigate code at the function/class level"],"limitations":["Fold structure depends on Neovim's foldmethod setting (syntax, indent, manual, etc.)","Folds are buffer-specific and ephemeral — lost when buffer closes","No fold creation from AI — can only manipulate existing folds","Fold structure may not match code semantics if foldmethod is not syntax-aware"],"requires":["Buffer with foldmethod configured (syntax, indent, or manual folds)","Valid line range for fold operations"],"input_types":["Line range for folding","Optional: fold level for hierarchical folding"],"output_types":["Fold structure: {start_line, end_line, level}","Success confirmation for fold/unfold operations"],"categories":["code-generation-editing","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_14","uri":"capability://planning.reasoning.contextual.workflow.guidance.via.prompts","name":"contextual workflow guidance via prompts","description":"Exposes neovim_workflow prompt that provides contextual guidance for using the Neovim MCP server effectively. The prompt includes best practices, common patterns, and workflow recommendations tailored to the user's current editor state. Prompts are static templates that MCP clients can include in their system prompts to guide AI behavior when interacting with Neovim.","intents":["Get guidance on how to use Neovim MCP server effectively","Understand best practices for AI-assisted Neovim workflows","Learn recommended patterns for multi-step editing tasks"],"best_for":["New users learning how to use Neovim with Claude","Developers wanting to optimize their AI-assisted editing workflows","Teams establishing best practices for AI-powered development"],"limitations":["Prompts are static — don't adapt to user's specific Neovim configuration","No real-time guidance — prompts are retrieved once, not updated during workflow","Limited to text guidance — cannot demonstrate workflows interactively"],"requires":["MCP client capable of reading prompts (Claude Desktop 0.4+)"],"input_types":["None — prompt is static"],"output_types":["Text guidance with workflow recommendations and best practices"],"categories":["planning-reasoning","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_15","uri":"capability://safety.moderation.error.handling.and.connection.state.management","name":"error handling and connection state management","description":"Implements robust error handling throughout the MCP server with try-catch blocks around all Neovim RPC calls, connection state validation, and graceful error reporting. The NeovimManager singleton maintains connection state and automatically reconnects on socket failures. Errors are caught at the RPC layer and returned as structured error responses with error codes and messages, preventing cascading failures.","intents":["Understand why Neovim operations fail (connection lost, invalid parameters, etc.)","Ensure MCP server continues operating even if individual operations fail","Debug connection issues between MCP client and Neovim"],"best_for":["Production deployments where reliability is critical","Developers debugging MCP-Neovim integration issues","Long-running workflows that need to survive transient failures"],"limitations":["No automatic retry logic — failed operations return immediately without retry","Connection state not exposed to clients — clients cannot query connection health","Error messages may be cryptic if originating from Neovim RPC layer","No circuit breaker pattern — repeated failures don't prevent further attempts"],"requires":["Proper error handling in MCP client code"],"input_types":["Any MCP tool request"],"output_types":["Structured error response: {error_code, error_message, details}"],"categories":["safety-moderation","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_2","uri":"capability://code.generation.editing.structured.buffer.editing.with.line.level.precision","name":"structured buffer editing with line-level precision","description":"Implements vim_edit tool that performs targeted text modifications using Neovim's native buffer API with line and column precision. Supports insertion, deletion, and replacement operations on specific line ranges, using Neovim's buffer_set_lines RPC method to atomically update content. The tool validates line numbers and handles edge cases (empty buffers, out-of-range lines) through Neovim's built-in error handling.","intents":["Make precise code edits at specific line numbers without manual cursor navigation","Insert code blocks at exact positions in a file","Delete or replace specific line ranges in buffers"],"best_for":["AI-assisted code generation and refactoring workflows","Automated code modification tasks triggered by Claude","Developers wanting AI to make targeted edits without full file rewrites"],"limitations":["Line-based edits only — no character-level precision within lines (must replace entire line)","No built-in undo/redo integration — edits are applied directly without creating undo points","No conflict detection — concurrent edits from multiple clients can corrupt buffer state","Requires valid line numbers — no automatic line number adjustment if file changes between read and edit"],"requires":["Target buffer must be loaded in Neovim","Valid line numbers (1-indexed, within buffer bounds)","Write permissions on the buffer (no read-only buffers)"],"input_types":["Buffer number or name (string)","Start line (1-indexed integer)","End line (1-indexed integer, inclusive)","Replacement text (string or array of strings for multi-line)"],"output_types":["Success confirmation with modified line count","Error message if edit fails (out of bounds, read-only buffer)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_3","uri":"capability://automation.workflow.vim.command.execution.with.output.capture","name":"vim command execution with output capture","description":"Implements vim_command tool that executes arbitrary Vim commands (e.g., :set, :substitute, :normal) through Neovim's command RPC interface and captures output. The tool translates MCP requests into Neovim's nvim_command or nvim_exec RPC calls, enabling access to Neovim's full command language without requiring direct shell execution or keystroke simulation.","intents":["Execute Vim commands like :set, :substitute, :normal from Claude","Trigger Neovim plugins and custom commands programmatically","Perform complex editing workflows that require Vim's command language"],"best_for":["Power users with custom Vim commands and mappings","Workflows requiring Neovim-specific features (LSP, treesitter integration)","Automation of complex editing patterns that are easier in Vim than as line-based edits"],"limitations":["No output capture for interactive commands — only works with commands that complete synchronously","Limited error reporting — Vim command errors may be cryptic or incomplete","No command validation before execution — invalid commands fail at runtime","Potential for unintended side effects if commands modify editor state (e.g., :set number changes display)"],"requires":["Valid Vim command syntax","Neovim instance with command execution enabled","Understanding of Vim command language"],"input_types":["Vim command string (e.g., ':set number', ':substitute/old/new/g')"],"output_types":["Command output as string (if applicable)","Success/failure status","Error message from Vim"],"categories":["automation-workflow","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_4","uri":"capability://code.generation.editing.search.and.replace.with.pattern.matching","name":"search and replace with pattern matching","description":"Implements vim_search and vim_search_replace tools that perform pattern-based text search and replacement using Neovim's native search capabilities. vim_search uses Neovim's search API to find patterns and return line numbers and context, while vim_search_replace executes :substitute commands with optional flags (case-insensitive, global, etc.). Both tools leverage Neovim's regex engine rather than implementing custom pattern matching.","intents":["Find all occurrences of a pattern in the current buffer","Replace text matching a pattern with new content","Perform case-insensitive or regex-based find-and-replace operations"],"best_for":["Refactoring workflows that need pattern-based code transformation","AI-assisted code cleanup and standardization","Developers wanting to leverage Vim's powerful regex engine through AI"],"limitations":["Search is limited to current buffer — no cross-file search without multiple tool calls","Regex syntax follows Vim's regex dialect (different from PCRE/JavaScript regex)","No search result pagination — large result sets returned as single array","Replace operations modify buffer in-place — no preview or confirmation before applying changes"],"requires":["Valid Vim regex pattern (Vim regex syntax, not PCRE)","Target buffer loaded in Neovim","Optional: replacement string for replace operations"],"input_types":["Search pattern (Vim regex string)","Optional: flags (case_insensitive, global, etc.)","Optional: replacement string for replace operations"],"output_types":["Array of match objects: {line_number, column, matched_text, context}","For replace: count of replacements made"],"categories":["code-generation-editing","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_5","uri":"capability://automation.workflow.multi.buffer.navigation.and.switching","name":"multi-buffer navigation and switching","description":"Implements vim_buffer_switch tool that changes the active buffer in Neovim using the buffer number or name, and vim_file_open that opens files by path. Both tools use Neovim's native buffer management RPC calls (nvim_set_current_buf, nvim_command for :edit) to navigate the editor state. The nvim://buffers resource provides the list of available buffers for navigation decisions.","intents":["Switch between open files in my Neovim session","Open a new file in Neovim from Claude","Navigate to a specific buffer for editing or analysis"],"best_for":["Multi-file editing workflows where AI needs to work across multiple buffers","Developers wanting AI to navigate their project structure","Automated workflows that need to operate on multiple files sequentially"],"limitations":["File open creates new buffer but doesn't validate file existence before RPC call","No automatic window/split management — opens in current window only","Buffer switching doesn't preserve cursor position — cursor resets to last position in target buffer","No built-in file path resolution — relative paths depend on Neovim's working directory"],"requires":["For buffer_switch: valid buffer number or name from nvim://buffers resource","For file_open: valid file path (absolute or relative to Neovim's cwd)"],"input_types":["Buffer number (integer) or buffer name (string) for switching","File path (string) for opening files"],"output_types":["Success confirmation with new active buffer info","Error if buffer/file not found"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_6","uri":"capability://automation.workflow.buffer.persistence.and.file.operations","name":"buffer persistence and file operations","description":"Implements vim_buffer_save tool that writes buffer content to disk using Neovim's :write command, and vim_file_open that creates new buffers for files. The tools leverage Neovim's native file I/O and buffer management rather than implementing custom file writing. vim_buffer_save respects Neovim's file format settings and handles encoding automatically.","intents":["Save changes made by AI to disk without manual :w command","Persist edited buffers as part of automated workflows","Create new files and buffers programmatically"],"best_for":["Automated code generation workflows that need to persist changes","AI-assisted development where Claude makes edits and saves files","Batch file creation and modification tasks"],"limitations":["No selective save — saves entire buffer, not specific line ranges","No backup creation — overwrites files without creating .bak or version control backups","File permissions not validated before save — fails at runtime if file is read-only","No conflict detection — concurrent saves from multiple clients can cause data loss"],"requires":["Buffer must have a valid file path (not unnamed buffers)","Write permissions on target file and directory","Disk space available"],"input_types":["Buffer number or name (for save)","File path (for open)"],"output_types":["Success confirmation with file path","Error message if save fails (permission denied, disk full, etc.)"],"categories":["automation-workflow","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_7","uri":"capability://memory.knowledge.session.state.and.editor.metadata.exposure","name":"session state and editor metadata exposure","description":"Exposes nvim://session resource that provides current editor session metadata including active buffer, cursor position, window layout, and editor mode. The resource is populated by querying Neovim's current state via RPC calls (nvim_get_current_buf, nvim_win_get_cursor, nvim_get_mode) and returns structured JSON. This enables MCP clients to understand editor context without making separate tool calls.","intents":["Understand the current state of my Neovim editor (active file, cursor position)","Get editor metadata to make context-aware decisions in Claude","Check if editor is in insert mode, visual mode, etc. before executing commands"],"best_for":["Context-aware AI workflows that adapt based on editor state","Developers wanting Claude to understand their current editing context","Automation that needs to check editor mode before executing commands"],"limitations":["Session state is point-in-time snapshot — becomes stale if editor state changes during AI processing","No event subscription — clients must poll for state changes, no real-time notifications","Limited metadata — doesn't include window splits, tab information, or plugin state","Cursor position is 0-indexed in response but Vim uses 1-indexed line numbers (potential confusion)"],"requires":["Running Neovim instance","MCP client capable of reading resources"],"input_types":["None — resource is read-only"],"output_types":["JSON object: {active_buffer, cursor_position: {line, column}, mode, window_count}"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_8","uri":"capability://search.retrieval.grep.based.code.search.across.buffers","name":"grep-based code search across buffers","description":"Implements vim_grep tool that performs pattern-based search across multiple buffers or files using Neovim's :grep command (which delegates to external grep/ripgrep). The tool executes :grep with a pattern and optional file filter, captures results, and returns structured match data with file paths, line numbers, and context. Results are parsed from Neovim's quickfix list.","intents":["Search for code patterns across multiple files in my project","Find all usages of a function or variable across the codebase","Perform project-wide refactoring analysis before making changes"],"best_for":["Large codebase analysis where single-buffer search is insufficient","AI-assisted refactoring that needs to understand code usage patterns","Developers wanting Claude to analyze project-wide code relationships"],"limitations":["Depends on external grep/ripgrep being installed and configured in Neovim","Search scope limited to files accessible from Neovim's working directory","No result pagination — large result sets may be slow or memory-intensive","Grep pattern syntax differs from Vim regex — requires POSIX/ripgrep syntax, not Vim regex"],"requires":["grep or ripgrep installed and in PATH","Neovim configured with grepprg setting (defaults to grep or ripgrep)","Files to search must be accessible from Neovim's working directory"],"input_types":["Search pattern (POSIX regex or ripgrep syntax)","Optional: file pattern/glob (e.g., '*.js', 'src/**')"],"output_types":["Array of match objects: {file_path, line_number, matched_text, context}"],"categories":["search-retrieval","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-bigcodegen-mcp-neovim-server__cap_9","uri":"capability://automation.workflow.macro.recording.and.playback.automation","name":"macro recording and playback automation","description":"Implements vim_record_macro and vim_playback_macro tools that enable recording and executing Vim macros through MCP. vim_record_macro captures a sequence of Vim commands into a named register, while vim_playback_macro executes a recorded macro a specified number of times. Both tools use Neovim's register management RPC API (nvim_get_register, nvim_set_register) to store and retrieve macro content.","intents":["Record complex editing sequences as macros for repeated application","Execute recorded macros programmatically from Claude","Automate repetitive editing patterns without manual keystroke simulation"],"best_for":["Repetitive code transformation tasks (e.g., reformatting, adding boilerplate)","Complex editing workflows that are easier to express as macro sequences","Developers wanting to leverage Vim's macro power through AI automation"],"limitations":["Macro recording requires manual keystroke sequence input — cannot record from tool calls","Macro playback is linear — no conditional logic or branching within macros","Macros are buffer-specific — may not work correctly if buffer content changes between recording and playback","No macro validation — invalid macro sequences fail silently or produce unexpected results"],"requires":["Valid register name (single character, a-z or A-Z)","For playback: macro must be previously recorded in the register"],"input_types":["Register name (single character)","For playback: count (number of times to execute)"],"output_types":["Success confirmation with macro content","For playback: count of successful executions"],"categories":["automation-workflow","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":41,"verified":false,"data_access_risk":"high","permissions":["Node.js 16+","TypeScript 4.5+ (for development)","@modelcontextprotocol/sdk ^1.11.0","neovim ^5.3.0 (Node.js client library)","Running Neovim instance with RPC socket enabled (standard in Neovim 0.7+)","Neovim instance with buffers loaded","MCP client capable of reading resources (Claude Desktop 0.4+)","Valid line range (start_line, end_line)","Optional: visual mode (character, line, block)","Valid mark name (single character a-z)"],"failure_modes":["Requires Neovim instance to be running and listening on a socket (typically /tmp/nvim-*/0)","No built-in connection pooling — single NeovimManager singleton limits concurrent client requests","Socket communication adds ~50-100ms latency per RPC call compared to direct in-process access","Depends on neovim/node-client library which may lag behind latest Neovim API versions","Only reads buffers currently open in Neovim — cannot access files not loaded in editor","No incremental sync — each read fetches full buffer content, inefficient for large files (>10MB)","Buffer metadata does not include git diff status or syntax tree information","No built-in caching — repeated reads of same buffer trigger full RPC calls","Selections are ephemeral — lost if buffer changes or another operation occurs","No selection persistence across tool calls — each operation must re-establish selection","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.2955989701765688,"quality":0.5,"ecosystem":0.55,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.064Z","last_scraped_at":"2026-05-03T14:23:38.364Z","last_commit":"2025-10-11T22:10:01Z"},"community":{"stars":312,"forks":25,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-bigcodegen-mcp-neovim-server","compare_url":"https://unfragile.ai/compare?artifact=mcp-bigcodegen-mcp-neovim-server"}},"signature":"26QKF/crQmPWzlF0I2IBTOxV9c8TCsO6+veLKr5Dn1vqGcj7oLhbw93dUQaelevnk7guImULPr4/XspcdlovCw==","signedAt":"2026-06-22T05:32:38.781Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-bigcodegen-mcp-neovim-server","artifact":"https://unfragile.ai/mcp-bigcodegen-mcp-neovim-server","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-bigcodegen-mcp-neovim-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}