Filesystem
| Server | Language | Stars | Downloads |
|---|---|---|---|
| markdown-editor-mcp-server MCP server for structured text editing in Markdown files | Python | — | — |
| Markdown Mermaid PDF Converts Markdown files containing Mermaid diagrams into PDF documents and exports standalone Mermaid diagrams to PNG or PDF formats using headless Chrome rendering. | — | 3 | — |
| mastergo-magic-mcp-smithery Extract DSL from MasterGo design files to analyze structure and generate accurate frontend code. Fetch component documentation, site metadata, and rules to guide implementation. Accelerate delivery with a structured component workflow integrated into your workspace. | — | — | — |
| MAYA MCP # Maya MCP Server [](https://www.npmjs.com/package/maya-mcp-server) [](https://python.org) [](https://autodesk.com/maya) [](LICENSE) A Model Context Protocol (MCP) server that enables AI assistants to connect to and control Autodesk Maya. Provides 29 tools for 3D modeling, animation, debugging, and Maya API access through the standardized MCP protocol. ## 🚀 Features - **🤖 MCP Protocol Integration**: Full Model Context Protocol implementation for AI assistants - **🔗 Maya Command Port**: Direct connection via command port (port 7022) - **📦 NPX Distribution**: Install and run with `npx maya-mcp-server` - **🔌 Auto-loading Plugin**: Maya plugin loads automatically on startup - **🛠️ 29 Tools**: Complete Maya API coverage - creation, selection, transformation, debugging, and more - **🔒 Security**: Command validation and safe execution environment - **🎯 Multi-version**: Maya 2023, 2024, and 2025 support - **🐛 Debug Tools**: Console capture, logging, and development utilities - **⚙️ Flexible Config**: Files, environment variables, or CLI options ## 🚀 Quick Start ### 1. Install and Run via NPX (Recommended) ```bash # Start the MCP server npx maya-mcp-server # Or with custom configuration npx maya-mcp-server --host localhost --port 8765 --debug ``` ### 2. Install Maya Plugin **Automatic Installation:** ```bash # Use the built-in installer npx maya-mcp-server --install-plugin # or npm run install-plugin ``` **Manual Installation:** ```bash # Windows copy plug-ins/maya_mcp.py "%USERPROFILE%\Documents\maya\plug-ins\" # macOS cp plug-ins/maya_mcp.py ~/Library/Preferences/Autodesk/maya/plug-ins/ # Linux cp plug-ins/maya_mcp.py ~/maya/plug-ins/ ``` ### 3. Start Maya Launch Maya (2023-2025 supported). The MCP plugin will automatically load and start listening on port 7022. **Verify Plugin Loading:** - Check Maya's Script Editor for "Maya MCP Plugin loaded successfully" - Or manually load via Window → Settings/Preferences → Plug-in Manager ### 4. Connect AI Assistant Configure your AI assistant to connect to the MCP server: **Local NPX (29 tools):** ```json { "mcpServers": { "maya": { "command": "npx", "args": ["maya-mcp-server"], "env": {} } } } ``` **Smithery.ai Hosted (10 core tools):** ```json { "mcpServers": { "maya": { "command": "npx", "args": ["@smithery/cli", "run", "@Jeffreytsai1004/maya-mcp"], "env": {} } } } ``` ## Installation ### NPX (Recommended) ```bash # Install and run npx maya-mcp-server # With options npx maya-mcp-server --debug --port 8765 ``` ### Manual Installation ```bash git clone https://github.com/Jeffreytsai1004/maya-mcp.git cd maya-mcp pip install -r requirements.txt python src/server.py ``` ## Configuration ### Configuration File Create a `config.yaml` file: ```yaml host: localhost port: 8765 maya_port: 7022 debug: false log_level: INFO timeout: 30 ``` ### Environment Variables ```bash export MAYA_MCP_HOST=localhost export MAYA_MCP_PORT=8765 export MAYA_MCP_MAYA_PORT=7022 export MAYA_MCP_DEBUG=true ``` ### Command Line Options ```bash python src/server.py --host localhost --port 8765 --debug ``` ## Available Tools (29 Total) ### Core Maya Operations (9 tools) #### maya_create Create Maya objects (cubes, spheres, etc.) ```json { "object_type": "polyCube", "name": "myCube" } ``` #### maya_select Select objects by name ```json { "objects": ["pCube1", "pSphere1"] } ``` #### maya_transform Transform objects (move, rotate, scale) ```json { "objects": ["pCube1"], "translate": [5, 0, 0], "rotate": [0, 45, 0] } ``` #### maya_delete Delete objects from scene ```json { "objects": ["pCube1", "pSphere1"] } ``` #### maya_execute Execute Python commands in Maya ```json { "command": "import maya.cmds as cmds; cmds.polyCube(name='scriptCube')" } ``` #### maya_get_selection Get currently selected objects ```json {} ``` #### maya_get_scene_info Get detailed scene information ```json { "include_transforms": true, "include_attributes": false } ``` #### maya_get_object_info Get detailed information about specific objects ```json { "object_name": "pCube1", "include_attributes": true } ``` #### maya_list_objects List objects in scene by type ```json { "object_type": "transform", "pattern": "cube*" } ``` ### Console Capture & Debugging Tools (6 tools) #### maya_get_console_output Get Maya console output for debugging ```json { "lines": 50, "include_errors": true } ``` #### maya_enable_console_capture Enable Maya console output capture ```json { "max_lines": 1000 } ``` #### maya_disable_console_capture Disable Maya console output capture ```json {} ``` #### maya_clear_console_buffer Clear Maya console output buffer ```json {} ``` #### maya_set_debug_mode Enable or disable debug mode ```json { "enabled": true } ``` #### maya_get_debug_info Get comprehensive debug information ```json {} ``` ### Advanced Maya Integration (14 tools) #### maya_get_log_file Get Maya log file contents for debugging ```json { "log_type": "output", "lines": 100 } ``` #### maya_browse_outliner Browse Maya outliner hierarchy and DAG structure ```json { "root_node": "|", "depth": 3, "include_shapes": true, "filter_type": "all" } ``` #### maya_get_menu_structure Get Maya main menu structure and available commands ```json { "menu_name": "Create", "include_submenus": true } ``` #### maya_execute_menu_command Execute Maya menu command by name ```json { "command": "polyCube", "arguments": {"name": "menuCube"} } ``` #### maya_get_shelf_tools Get available tools from Maya shelves ```json { "shelf_name": "Polygons" } ``` #### maya_list_plugins List available and loaded Maya plugins ```json { "loaded_only": false, "include_info": true } ``` #### maya_load_plugin Load a Maya plugin by name ```json { "plugin_name": "objExport", "quiet": false } ``` #### maya_unload_plugin Unload a Maya plugin by name ```json { "plugin_name": "objExport", "force": false } ``` #### maya_api_call Direct Maya API function call with OpenMaya ```json { "api_module": "OpenMaya", "function_name": "MGlobal.displayInfo", "arguments": ["Hello from API"], "return_type": "string" } ``` #### maya_execute_mayapy Execute Python script using MayaPy interpreter ```json { "script_content": "import maya.cmds as cmds; print(cmds.ls())", "timeout": 30 } ``` #### maya_get_node_connections Get detailed node connection information ```json { "node_name": "pCube1", "connection_type": "both", "include_attributes": true } ``` #### maya_search_nodes Advanced node search with filters and patterns ```json { "search_pattern": "*cube*", "node_type": "transform", "has_attribute": "visibility" } ``` #### maya_get_workspace_info Get Maya workspace and project information ```json { "include_rules": true } ``` #### maya_set_workspace Set Maya workspace directory ```json { "workspace_path": "/path/to/project", "create_if_missing": false } ``` ## Maya Plugin The Maya plugin (`plug-ins/maya_mcp.py`) provides: - Automatic loading when Maya starts - Command port server on port 7022 - Safe Python command execution - Scene state management - Error handling and logging ### Manual Plugin Loading If the plugin doesn't auto-load: ```python import maya.cmds as cmds cmds.loadPlugin("path/to/maya_mcp.py") ``` ## Development ### Development Mode ```bash python src/server.py --debug ``` ### Debug Mode ```bash python src/server.py --debug ``` ### Hot Reload The server supports hot reloading of configuration and scripts without restart. ## Supported Maya Versions - Maya 2023 - Maya 2024 - Maya 2025 ## Requirements - Python 3.8+ - Autodesk Maya 2023-2025 - MCP SDK - aiohttp - websockets ## Security The server includes security measures: - Command validation and filtering - Blocked dangerous operations - Safe Python execution environment - Connection authentication (optional) ## Documentation - **[Installation Guide](docs/INSTALLATION.md)** - Detailed installation instructions for all platforms - **[API Documentation](docs/API.md)** - Complete API reference with examples - **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)** - Solutions for common issues ## Troubleshooting For detailed troubleshooting information, see the [Troubleshooting Guide](docs/TROUBLESHOOTING.md). ### Quick Fixes - **Maya Not Connecting**: Ensure Maya is running and plugin is loaded - **Plugin Not Loading**: Check plugin directory and Maya version compatibility - **Port Issues**: Try alternative ports (7023, 7024, etc.) - **Server Won't Start**: Verify Python 3.8+ and install dependencies ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Test your changes 5. Submit a pull request ## License MIT License - see LICENSE file for details. ## Changelog ### v1.0.6 (Latest) - ✅ **WebSocket Compatibility**: Fixed Python 3.14 compatibility issues - ✅ **Version Synchronization**: Unified all version numbers across files - ✅ **Connection Stability**: Improved Maya connection reliability - ✅ **Documentation**: Updated all documentation with latest information ### v1.0.5 - 🔧 Version number fixes and NPM package updates ### v1.0.4 - 🐛 WebSocket timeout parameter compatibility fixes ### v1.0.3 - 📝 Documentation improvements and bug fixes ## Links - **NPM Package**: [maya-mcp-server](https://www.npmjs.com/package/maya-mcp-server) (v1.0.6) - **GitHub Repository**: [Jeffreytsai1004/maya-mcp](https://github.com/Jeffreytsai1004/maya-mcp) - **Smithery.ai**: [@Jeffreytsai1004/maya-mcp](https://server.smithery.ai/@Jeffreytsai1004/maya-mcp/mcp) ## Support - **Issues**: [Report bugs and request features](https://github.com/Jeffreytsai1004/maya-mcp/issues) - **Discussions**: [Community help](https://github.com/Jeffreytsai1004/maya-mcp/discussions) - **Documentation**: [Installation](docs/INSTALLATION.md) • [API](docs/API.md) • [Troubleshooting](docs/TROUBLESHOOTING.md) | — | — | — |
| mcp-2slides 2Slides is a modern AI-driven presentation generation agent. It automatically generates professional slide presentations based on user input (raw text or content intention), supporting multiple template types and themes. | — | — | — |
| mcp-3D-printer-server Connects MCP to major 3D printer APIs (Orca, Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). Control prints, monitor status, and perform advanced STL operations like scaling, rotation, sectional editing, and base extension. Includes slicing and visualization. | TypeScript | 182 | — |
| mcpcn-excel-mcp-server Excel MCP Server for manipulating Excel files | Python | — | — |
| mcp-cos-upload MCP server for uploading files to Tencent Cloud COS | TypeScript | — | — |
| mcp-crashlytics-server # 🔥 Firebase Crashlytics MCP Server [](https://opensource.org/licenses/MIT) [](https://nodejs.org/) [](https://modelcontextprotocol.io/) A clean, simple **Model Context Protocol (MCP)** server that integrates Firebase Crashlytics with BigQuery for AI-powered crash analysis. Built for use with Claude Code and other MCP-compatible AI assistants. ## ✨ Features - 🔍 **Simple Tools**: Clean, single-responsibility tools for crash analysis - 📱 **App Discovery**: Automatically discover all apps in your Firebase project - 💥 **Fatal Crash Analysis**: Get detailed fatal crashes with stack traces - 🐛 **ANR Issue Detection**: Analyze Application Not Responding issues - 🔧 **Easy Setup**: Simple configuration with environment variables - 🤖 **AI-Optimized**: Structured output perfect for AI analysis and debugging ## 🚀 Quick Start ### Prerequisites - Node.js 18+ - Firebase project with Crashlytics enabled - BigQuery export enabled for Crashlytics - Google Cloud service account with BigQuery access ### Installation 1. **Clone the repository:** ```bash git clone https://github.com/your-username/mcp-crashlytics-server.git cd mcp-crashlytics-server ``` 2. **Install dependencies:** ```bash npm install ``` 3. **Build the project:** ```bash npm run build ``` ### Configuration 1. **Create environment file:** ```bash cp .env.example .env ``` 2. **Configure your environment variables:** ```bash # Google Cloud Service Account (choose one method) GOOGLE_SERVICE_ACCOUNT_KEY=/path/to/your-service-account.json # OR base64-encoded: GOOGLE_SERVICE_ACCOUNT_KEY=eyJhbGciOiJIUzI1... # Your Firebase project settings BIGQUERY_PROJECT_ID=your-firebase-project-id BIGQUERY_DATASET_ID=firebase_crashlytics # Optional: Default limit for crash queries DEFAULT_CRASH_LIMIT=10 ``` ### Setup Firebase & BigQuery 1. **Enable Crashlytics BigQuery Export:** - Go to Firebase Console → Project Settings → Integrations - Enable BigQuery integration for Crashlytics - Data will be exported to `firebase_crashlytics` dataset 2. **Create Service Account:** - Go to [Google Cloud Console](https://console.cloud.google.com/) - Navigate to IAM & Admin → Service Accounts - Create service account with these roles: - `BigQuery Data Viewer` - `BigQuery Job User` - Download JSON key file ### Register with AI Agents #### Claude Code ```bash # Register the MCP server claude mcp add crashlytics -- node /path/to/mcp-crashlytics-server/dist/index.js # Verify it's working claude mcp list ``` #### Cursor Add to your `.cursorrules` or cursor settings: ```json { "mcpServers": { "crashlytics": { "command": "node", "args": ["/path/to/mcp-crashlytics-server/dist/index.js"], "env": { "GOOGLE_SERVICE_ACCOUNT_KEY": "/path/to/your-service-account.json", "BIGQUERY_PROJECT_ID": "your-firebase-project-id", "BIGQUERY_DATASET_ID": "firebase_crashlytics" } } } } ``` #### Windsurf Add to your Windsurf settings or `.windsurfrules`: ```json { "mcp": { "servers": { "crashlytics": { "command": "node", "args": ["/path/to/mcp-crashlytics-server/dist/index.js"], "env": { "GOOGLE_SERVICE_ACCOUNT_KEY": "/path/to/your-service-account.json", "BIGQUERY_PROJECT_ID": "your-firebase-project-id", "BIGQUERY_DATASET_ID": "firebase_crashlytics" } } } } } ``` #### Other MCP-Compatible IDEs For other MCP-compatible tools, add this server configuration: - **Command**: `node` - **Args**: `["/path/to/mcp-crashlytics-server/dist/index.js"]` - **Environment Variables**: Same as above (.env file values) ## 🛠️ Available Tools ### 1. `list_available_apps` **Discover all apps** in your Firebase Crashlytics dataset. - **Parameters**: None - **Returns**: List of apps with crash counts ```javascript // Usage in Claude Code/Cursor "What apps are available in my crashlytics data?" ``` ### 2. `get_fatal_crashes` **Get fatal crashes** for a specific app. - **Parameters**: - `app_package` (required): App package name (e.g., "com.example.myapp") - `limit` (optional): Number of crashes (1-50, default: 10) ```javascript // Usage in Claude Code/Cursor "Get the 10 most recent fatal crashes for com.example.myapp" ``` ### 3. `get_anr_issues` **Get ANR (Application Not Responding)** issues for a specific app. - **Parameters**: - `app_package` (required): App package name - `limit` (optional): Number of issues (1-50, default: 10) ```javascript // Usage in Claude Code/Cursor "Show me ANR issues for com.example.myapp, limit to 5" ``` ## 📋 Example Usage Once set up, you can ask Claude Code natural questions like: ```bash # Discover your apps "What apps do I have crash data for?" # Get fatal crashes "Show me the latest fatal crashes for my Android app" "Get 5 fatal crashes for com.mycompany.myapp" # Analyze ANR issues "What ANR issues does my app have?" "Show ANR problems for com.mycompany.myapp from the last week" ``` ## 🏗️ Project Structure ``` mcp-crashlytics-server/ ├── src/ │ ├── index.ts # Main MCP server │ ├── bigquery-client.ts # BigQuery integration │ ├── crash-processor.ts # Crash data processing │ ├── impact-analyzer.ts # Impact analysis │ └── types.ts # TypeScript definitions ├── dist/ # Built JavaScript files ├── package.json ├── tsconfig.json ├── .env.example # Environment template └── README.md ``` ## 🔧 Development ### Running in Development Mode ```bash npm run dev ``` ### Building ```bash npm run build ``` ### Linting ```bash npm run lint ``` ### Testing ```bash npm test ``` ## 🐛 Troubleshooting ### Common Issues **1. "No MCP servers configured"** - Make sure to register the server: `claude mcp add crashlytics -- node /path/to/dist/index.js` - Restart Claude Code/Cursor IDE **2. "Authentication Failed"** - Verify service account JSON file path is correct - Ensure service account has BigQuery permissions - Check project ID matches your Firebase project **3. "No crashes returned"** - Confirm Crashlytics BigQuery export is enabled - Wait 24-48 hours for initial data export - Verify your app is actually sending crash data **4. "Table not found"** - Check that `BIGQUERY_DATASET_ID` is correct (usually `firebase_crashlytics`) - Ensure crashes exist in your Firebase project - Verify BigQuery export is working in Firebase Console ### Debug Mode Enable verbose logging: ```bash DEBUG=mcp-crashlytics-server npm start ``` ## 🤝 Contributing 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Make your changes 4. Add tests for new functionality 5. Commit your changes (`git commit -m 'Add amazing feature'`) 6. Push to the branch (`git push origin feature/amazing-feature`) 7. Open a Pull Request ## 📄 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## 🔒 Security Considerations - ⚠️ **Never expose service account credentials** in logs or version control - 🔐 Use **least-privilege permissions** for service accounts - 🔑 Store credentials securely using environment variables - 🚫 Add `.env` to `.gitignore` (already included) ## 📚 Resources - [Model Context Protocol Documentation](https://modelcontextprotocol.io/) - [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code) - [Firebase Crashlytics](https://firebase.google.com/products/crashlytics) - [BigQuery Documentation](https://cloud.google.com/bigquery/docs) ## 💡 Need Help? - 🐛 **Found a bug?** [Open an issue](https://github.com/your-username/mcp-crashlytics-server/issues) - 💬 **Have questions?** [Start a discussion](https://github.com/your-username/mcp-crashlytics-server/discussions) - 🚀 **Want a feature?** [Request it here](https://github.com/your-username/mcp-crashlytics-server/issues/new?template=feature_request.md) --- **Made with ❤️ for the MCP community** | — | — | — |
| MCP-Doc A powerful Word document processing service based on FastMCP, enabling AI assistants to create, edit, and manage docx files with full formatting support. Preserves original styles when editing content. 基于FastMCP的强大Word文档处理服务,使AI助手能够创建、编辑和管理docx文件,支持完整的格式设置功能。在编辑内容时能够保留原始样式和格式,实现精确的文档操作。 | Python | 183 | — |
| MCP Document Reader An MCP enabled multi-format document reader supporting DOCX, PDF, TXT, and Excel files | Python | — | — |
| mcp-excel-server The Excel MCP Server is a powerful tool that enables natural language interaction with Excel files through the Model Context Protocol (MCP). It provides a comprehensive set of capabilities for reading, analyzing, visualizing, and writing Excel data. | Python | 89 | — |
| mcp-file-context-server A Model Context Protocol (MCP) server that provides file system context to Large Language Models (LLMs). This server enables LLMs to read, search, and analyze code files with advanced caching and real-time file watching capabilities. | JavaScript | 36 | — |
| mcp-filesystem Not just another MCP filesystem. Optimized file operations with smart context management and token-efficient partial reading/editing. Process massive files without overwhelming context limits. | Python | 65 | — |
| mcp-filesystem-server Go server implementing Model Context Protocol (MCP) for filesystem operations. | Go | 640 | — |
| mcp-forge MCP Forge is an end-to-end toolchain that converts recorded browser traffic (HAR files) into secure, production-ready MCP servers, generating typed Python tools and a downloadable server so AI assistants can safely replay your web workflows. | TypeScript | 0 | — |
| mcp-google-sheets MCP server for Google Sheets integration - Your AI Assistant's Gateway to Google Sheets! | TypeScript | 834 | — |
| mcp-llms-txt-explorer MCP to explore websites with llms.txt files | JavaScript | 74 | — |
| mcp_mindmup2_google_drive | — | — | — |
| mcp-reticle Reticle intercepts, visualizes, and profiles JSON-RPC traffic between your LLM and MCP servers in real-time, with zero latency overhead. Stop debugging blind. Start seeing everything. | Rust | 109 | — |
| mcp-rigging MCP server providing git branch/commit tools with config-driven validation | TypeScript | — | — |
| mcp-server-aidd This MCP server provides a set of tools that support AI-driven Development workflows. | Python | — | — |
| mcp-server-ancestry A Model Context Protocol server providing functionality to GEDCOM files via LLM usage | Python | — | — |
| mcp-server-cpp-format MCP server that formats C/C++ files with clang-format | Python | — | — |
| mcp-server-docs An MCP Server that makes it easy to load documentation files from locally available repositories | Python | — | — |