Last 12 weeks ยท 148 commits
5 of 6 standards met
Is your feature request related to a problem? Please describe. Filesystem read_file tool currently only reads text files. When asking Claude app with the filesystem MCP server enabled, asking it to read and analyze a file returns: I can see there's an image file called "Untitled.png" in the directory. However, I need to clarify something: while I can see that the file exists, I cannot actually open or view image files. I can only work with text-based files and perform file system operations. If you'd like me to analyze the image, you would need to describe what's in it or share it directly in our conversation. Is there something specific about the image you'd like to discuss? Describe the solution you'd like Add support for reading image files. The "read_file" logic is in this switch statement in the filesystem server. I haven't drilled into the MCP server deeply enough to know if another case in this switch and possibly some type declarations would be enough, or if there is some problem with handling an image returned from this tool as opposed to text. Feels like probably the latter, or it would have been relatively low-hanging fruit when the server was originally written. Describe alternatives you've considered I suppose the "read_file" tool could be modified to return text, images, or any other MIME type). I need to learn more about how the return from this function is consumed to know more. Additional context This arose from a discussion on Reddit.
Problem All official MCP server READMEs recommend NPX configs like: This silently fails on Windows because is installed as (a batch script shim), and โ used by Claude Desktop and Claude Code โ cannot execute files without , which MCP clients don't pass. This is a well-known Node.js-on-Windows issue. Since MCP configs are copy-pasted from READMEs, Windows users hit this immediately with no clear error message. Closes #3460 Solution Add a Windows-specific callout after each NPX config block showing the wrapper: Affected servers โ Claude Desktop + VS Code NPX sections โ Claude Desktop + VS Code NPX sections โ Claude Desktop + VS Code NPX sections โ Claude Desktop NPX section Testing Verified the diff is purely additive documentation โ no code changes, no functional impact on macOS/Linux users.
Repository: modelcontextprotocol/servers. Description: Model Context Protocol Servers Stars: 80241, Forks: 9774. Primary language: TypeScript. Languages: TypeScript (70.2%), Python (18.2%), JavaScript (10.3%), Dockerfile (1.2%). Homepage: https://modelcontextprotocol.io Latest release: 2026.1.26 (1mo ago). Open PRs: 100, open issues: 322. Last activity: 4d ago. Community health: 87%. Top contributors: olaservo, tadasant, jspahrsummers, cliffhall, dsp-ant, jerome3o-anthropic, maheshmurag, evalstate, baryhuang, marcelo-ochoa and others.
TypeScript
Describe the bug Path duplication bug in Google Drive MCP server causing authentication failure. The credential file path is incorrectly constructed with a duplicated drive letter (C:\C:\) on Windows systems, preventing proper authentication. To Reproduce Steps to reproduce the behavior: 1. Set up Google Drive MCP server on Windows 2. Run the authentication flow using 3. Complete the OAuth process in browser 4. Attempt to use the server with Claude desktop app Expected behavior The credential file should be saved with the correct path structure (C:\Users\...) and the server should properly authenticate with Google Drive. Logs Additional context** The issue appears to be in the path handling code when constructing credential paths. The problem specifically occurs in the function when using and together on Windows systems. The code is using path manipulations that seem to be causing drive letter duplication (C:\C:\) in the final path.
Description Enhanced Google Drive MCP server with direct file reading capability and improved search functionality, allowing LLM clients to both search for and read files within a single consistent interface. Server Details Server: gdrive Changes to: tools, resources, documentation Motivation and Context Prior to these changes, the Google Drive server had the following limitations: 1. The search tool only returned basic file information (name and MIME type) without URIs 2. Users had no direct way to read file contents via tools interface 3. When a file was found through search, there was no easy way to use that result to read the file content These changes solve these problems by: 1. Providing complete file metadata including URIs in search results 2. Adding a dedicated tool for direct file content access 3. Standardizing tool naming with prefix to prevent namespace conflicts with other servers 4. Converting all text to English for consistency and international accessibility How Has This Been Tested? Tested with an LLM client through the following scenarios: 1. Searching for documents using various queries 2. Reading Google Docs, Sheets, and regular text files 3. Handling binary files appropriately 4. Error handling for invalid URIs and file access issues 5. Full workflow from search to file reading Breaking Changes [x] The tool names have changed from to and users will need to update their tool calls accordingly [x] Search results format has been modified to include more details (URI, modified date, size) Types of changes [ ] Bug fix (non-breaking change which fixes an issue) [x] New feature (non-breaking change which adds functionality) [x] Breaking change (fix or feature that would cause existing functionality to change) [x] Documentation update Checklist [x] I have read the MCP Protocol Documentation [x] My changes follows MCP security best practices [x] I have updated the server's README accordingly [x] I have tested this with an LLM client [x] My code follows the repository's style guidelines [x] New and existing tests pass locally [x] I have added appropriate error handling [x] I have documented all environment variables and configuration options Additional context 1. Implementation leverages the existing file reading logic from the resource handlers but makes it accessible through the tools interface 2. Error handling has been added to provide clear error messages for issues like invalid URIs 3. Binary files are handled by showing metadata but not attempting to display content 4. Google Workspace files (Docs, Sheets, etc.) are automatically exported to appropriate formats
Description The server-gdrive plugin consistently disconnects after 3.517 seconds due to googleapis module loading all APIs instead of only the required Drive API. Steps to Reproduce Configure server-gdrive in Claude Desktop Attempt server connection Server disconnects after exactly 3.517 seconds Technical Details Node.js version: v22.12.0 OS: macOS Claude Desktop version: Latest server-gdrive version: 0.7.7 Analysis googleapis package loads all API modules (~100+) Memory usage: ~750MB Initialization delay: 335ms + 416ms Consistent timeout at 3.517 seconds Logs 2025-01-01T06:21:22.263Z [info] Attempting to connect to MCP server filesystem... 2025-01-01T06:21:22.266Z [info] Attempting to connect to MCP server brave-search... 2025-01-01T06:21:22.266Z [info] Attempting to connect to MCP server notion... 2025-01-01T06:21:22.266Z [info] Attempting to connect to MCP server gdrive... 2025-01-01T06:21:22.275Z [info] Connected to MCP server brave-search! 2025-01-01T06:21:22.275Z [info] Connected to MCP server filesystem! 2025-01-01T06:21:22.276Z [info] Connected to MCP server notion! 2025-01-01T06:21:22.279Z [info] Connected to MCP server gdrive! 2025-01-01T06:21:25.796Z [info] MCP server gdrive disconnected. Expected Behavior Server should maintain connection Only Drive API should be loaded Memory usage should be ~100MB Additional Notes Other MCP servers (filesystem, brave-search, notion) work correctly Issue appears to be in the googleapis implementation within server-gdrive