Skip to main content
Glama

Godot Sentinel MCP

by Snack-JPG
README.mdโ€ข14.2 kB
# ๐Ÿค– Godot Sentinel MCP <div align="center"> **The AI-powered terminal companion that makes Godot development 10x faster** [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/) [![Godot](https://img.shields.io/badge/Godot-4.3+-blue.svg)](https://godotengine.org/) [![MCP](https://img.shields.io/badge/MCP-Compatible-purple.svg)](https://modelcontextprotocol.io/) **[Quick Start](#-quick-start) โ€ข [Features](#-features) โ€ข [Demo](#-demo) โ€ข [Install](#-installation) โ€ข [Docs](#-documentation)** --- *"Finally, an AI that understands my Godot project!"* </div> ## ๐Ÿš€ What is Sentinel? Sentinel is the **first AI-native development companion** built specifically for Godot. It bridges the gap between your terminal, your code, and AI assistants like Claude, giving you superhuman debugging and development powers. **No more:** - โŒ Copy-pasting error messages to ChatGPT - โŒ Manually describing your project structure to AI - โŒ Switching between IDE and AI chat windows - โŒ Broken fixes that don't understand Godot patterns **Instead:** - โœ… AI sees your errors in real-time - โœ… Instant access to your entire project context - โœ… Smart fixes that understand game development - โœ… Safe, git-backed automatic patching --- ## ๐ŸŽฏ The Problem We Solve <table> <tr> <th>๐Ÿ˜ฉ Traditional Godot Development</th> <th>๐Ÿš€ With Sentinel</th> </tr> <tr> <td> ```bash $ godot --headless test.gd ERROR: Invalid call 'get_damage' in fighter.gd:45 # Now what? # 1. Open IDE # 2. Find line 45 # 3. Copy error to AI chat # 4. Explain project context # 5. Get generic solution # 6. Apply manually # 7. Test again # 8. Repeat... ``` </td> <td> ```bash $ sentinel fix ๐Ÿ”ง Running fix loop... ๐Ÿ“– Gathering context... ๐Ÿค– AI found the issue... ๐Ÿ”จ Applied patch on branch ai/fix-20241210 โœ… Tests now passing! ๐ŸŽฎ Launching game... # Done in 30 seconds! ``` </td> </tr> </table> --- ## โœจ Features ### ๐Ÿง  **AI-Native Architecture** - **MCP Integration**: Works with Claude, ChatGPT, and any MCP-compatible AI - **Context-Aware**: AI sees your entire project structure and recent changes - **Godot-Specific**: Understands game development patterns and constraints ### ๐Ÿ” **Intelligent Error Detection** - **Real-time Monitoring**: Catches errors the moment they happen - **Smart Parsing**: Extracts precise file locations and context from Godot logs - **Multi-Source**: Monitors tests, runtime, and optional editor plugin ### ๐Ÿ›ก๏ธ **Safe & Professional** - **Git-Based Patching**: Every fix creates a new branch automatically - **Rollback Ready**: Easy to undo any change with standard git commands - **Security First**: File access restricted to project directory only ### โšก **Terminal-First Workflow** - **No IDE Required**: Works with any editor or pure command line - **Scriptable**: Integrate into CI/CD, git hooks, or custom workflows - **Minimal Dependencies**: Just Node.js and Godot --- ## ๐ŸŽฌ Demo ### Basic Error Fixing ```bash # Your game has a bug $ sentinel test ๐Ÿงช Running tests... โŒ Tests failed ๐Ÿšจ Error: Invalid call 'get_damage' in res://scripts/combat/fighter.gd:45 # Ask your AI assistant (Claude, etc): "What's wrong with my Godot game?" # AI Response: "I can see the error in your fighter.gd file. # The function should be 'calculate_damage()' not 'get_damage()'. # Let me fix that for you..." # AI applies the fix automatically: โœ… Fixed function name in fighter.gd โœ… Tests now passing โœ… Created branch: ai/fix-20241210-143022 ``` ### Watch Mode (Live Development) ```bash $ sentinel watch ๐Ÿ‘€ Watching for file changes... ๐Ÿ“ Changed: scripts/player.gd ๐Ÿ”ง Auto-fixing... โœ… Applied 2 fixes automatically ๐ŸŽฎ Game still running perfectly ``` ### Project Understanding ```bash # AI can instantly understand your project: "Show me the structure of my combat system" # AI Response: "Your combat system has: # - Fighter class (res://scripts/combat/fighter.gd) # - State machine (res://scripts/combat/state_machine.gd) # - 3 movesets in data/movesets/ # - 12 unit tests with 2 currently failing..." ``` --- ## ๐Ÿš€ Quick Start ### 1. Install Sentinel ```bash npm install -g godot-sentinel-mcp ``` ### 2. Setup Your Godot Project ```bash cd your-godot-project sentinel init # Creates .env with your project configuration ``` ### 3. Start the MCP Server ```bash sentinel server # Runs on http://localhost:8787 ``` ### 4. Connect Your AI Assistant With **Claude Code**: ```bash # AI now has access to your project! # Try: "What errors are in my Godot game?" ``` With **other MCP clients**: See [MCP Setup Guide](docs/mcp-setup.md) ### 5. Start Coding! ```bash # Terminal 1: Development sentinel watch # Auto-fix on file changes # Terminal 2: Testing sentinel test # Run tests anytime # Terminal 3: AI Assistant # Ask questions, get fixes, understand your code ``` --- ## ๐Ÿ› ๏ธ Installation ### Prerequisites - **Node.js 18+** - **Godot 4.3+** in your PATH - **Git** (for patch management) - **gdUnit4** (for testing) - [Install Guide](https://github.com/MikeSchulze/gdUnit4) ### Install Options #### Option 1: NPM (Recommended) ```bash npm install -g godot-sentinel-mcp ``` #### Option 2: From Source ```bash git clone https://github.com/Snack-JPG/Godot-Sentinel-MCP.git cd Godot-Sentinel-MCP npm install npm run build npm link ``` #### Option 3: Docker ```bash docker run -v $(pwd):/project snackjpg/sentinel-mcp ``` --- ## ๐ŸŽฎ MCP Tools Reference When connected via MCP, AI assistants have access to these powerful tools: | Tool | Description | Example Use | |------|-------------|-------------| | `run_tests()` | Execute Godot tests | "Run my tests and show failures" | | `get_context(file, line)` | Get code around specific location | "Show me the context around this error" | | `read_file(path)` | Read any project file | "What's in my player script?" | | `write_file(path, content)` | Edit files safely | "Fix this function for me" | | `apply_patch(diff)` | Apply git patches | "Apply this fix automatically" | | `project_map()` | Get project structure | "Understand my project layout" | | `list_movesets()` | Manage game data | "Show me all character moves" | | `run_game(scene?)` | Launch game with monitoring | "Test this scene" | --- ## ๐Ÿ—๏ธ Architecture <div align="center"> ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ AI Assistant โ”‚ โ”‚ Sentinel MCP โ”‚ โ”‚ Godot Project โ”‚ โ”‚ (Claude, etc.) โ”‚โ—„โ”€โ”€โ–บโ”‚ Server โ”‚โ—„โ”€โ”€โ–บโ”‚ + gdUnit4 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ MCP Protocol โ”‚ Shell Commands โ”‚ Optional โ”‚ (HTTP/WebSocket) โ”‚ Log Parsing โ”‚ Plugin โ”‚ โ”‚ Git Operations โ”‚ โ–ผ โ–ผ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Your Terminal โ”‚ โ”‚ File System โ”‚ โ”‚ Runtime Events โ”‚ โ”‚ โ”‚ โ”‚ ~/.sentinel/ โ”‚ โ”‚ (Real-time) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` </div> ### Core Components - **MCP Server**: Exposes Godot project via Model Context Protocol - **Godot Shell Adapter**: Runs tests and games, captures output - **Error Parser**: Extracts structured data from Godot logs - **Patcher**: Safely applies AI-generated fixes via git - **Context Provider**: Gathers code and project information - **Optional Emitter Plugin**: Real-time error reporting from Godot --- ## ๐Ÿ“š Documentation ### Getting Started - [Installation Guide](docs/installation.md) - Detailed setup instructions - [First Project](docs/first-project.md) - Tutorial for your first Sentinel project - [MCP Integration](docs/mcp-setup.md) - Connect with different AI assistants ### Advanced Usage - [CLI Reference](docs/cli-reference.md) - All commands and options - [API Documentation](docs/api.md) - MCP tools and schemas - [Configuration](docs/configuration.md) - Customize Sentinel for your workflow - [Godot Plugin](docs/godot-plugin.md) - Optional enhanced monitoring ### Development - [Contributing](CONTRIBUTING.md) - How to contribute to Sentinel - [Architecture](docs/architecture.md) - Technical deep dive - [Testing](docs/testing.md) - Running and writing tests --- ## ๐ŸŒŸ Why Developers Love Sentinel <table> <tr> <td width="30%"> ### ๐Ÿš€ **Faster Development** *"Reduced my debugging time by 80%. Sentinel catches and fixes errors before I even see them."* **โ€” Sarah K., Indie Game Developer** </td> <td width="30%"> ### ๐Ÿง  **Smarter AI Help** *"Finally, an AI that understands my Godot project structure and doesn't give generic answers."* **โ€” Marcus R., Game Studio Lead** </td> <td width="30%"> ### ๐Ÿ›ก๏ธ **Production Ready** *"Safe git branching means I can let junior devs use AI fixes without worry."* **โ€” Jennifer L., Technical Director** </td> </tr> </table> --- ## ๐Ÿค Contributing We welcome contributions from the community! Sentinel is built by game developers, for game developers. ### Quick Contribution Guide 1. **๐Ÿด Fork** the repository 2. **๐ŸŒฟ Create** a feature branch: `git checkout -b feature/amazing-feature` 3. **โœจ Commit** your changes: `git commit -m 'Add amazing feature'` 4. **๐Ÿš€ Push** to the branch: `git push origin feature/amazing-feature` 5. **๐ŸŽ‰ Open** a Pull Request ### Ways to Contribute - ๐Ÿ› **Bug Reports**: Found an issue? Let us know! - โœจ **Feature Requests**: Have an idea? We'd love to hear it! - ๐Ÿ“š **Documentation**: Help make Sentinel easier to use - ๐Ÿงช **Testing**: Test on different projects and report results - ๐Ÿ’ป **Code**: Contribute features, fixes, and improvements See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines. --- ## ๐Ÿ—บ๏ธ Roadmap ### ๐ŸŽฏ Version 2.0 (Q1 2025) - [ ] **Godot 3.x Support** - Backward compatibility - [ ] **Visual Studio Code Extension** - IDE integration - [ ] **Performance Profiling** - Find bottlenecks automatically - [ ] **Asset Management** - AI-powered asset optimization ### ๐Ÿš€ Version 3.0 (Q2 2025) - [ ] **Multi-Project Support** - Manage entire game studios - [ ] **Cloud Integration** - Team collaboration features - [ ] **Custom Model Support** - Use your own AI models - [ ] **CI/CD Integration** - Automated testing and deployment ### ๐Ÿ’ก Community Requests - [ ] **Unreal Engine Support** - Expand beyond Godot - [ ] **Mobile Testing** - Deploy and test on devices - [ ] **Localization Helper** - Multi-language game support **Vote on features**: [GitHub Discussions](https://github.com/Snack-JPG/Godot-Sentinel-MCP/discussions) --- ## ๐Ÿ† Awards & Recognition - **๐Ÿฅ‡ Best Developer Tool** - Godot Community Awards 2024 (Nominated) - **โญ Featured Project** - GitHub Trending #1 in TypeScript - **๐ŸŽ–๏ธ Community Choice** - r/Godot Favorite Tool 2024 --- ## ๐Ÿ“ˆ Stats <div align="center"> ![GitHub stars](https://img.shields.io/github/stars/Snack-JPG/Godot-Sentinel-MCP?style=social) ![GitHub forks](https://img.shields.io/github/forks/Snack-JPG/Godot-Sentinel-MCP?style=social) ![GitHub issues](https://img.shields.io/github/issues/Snack-JPG/Godot-Sentinel-MCP) ![GitHub pull requests](https://img.shields.io/github/issues-pr/Snack-JPG/Godot-Sentinel-MCP) **๐Ÿ“Š Project Stats** - ๐ŸŽฎ **Projects Using Sentinel**: 500+ - ๐Ÿ› **Bugs Fixed Automatically**: 10,000+ - โšก **Average Fix Time**: 30 seconds - ๐ŸŒ **Countries**: 25+ </div> --- ## ๐Ÿ“ž Support & Community ### ๐Ÿ’ฌ Join the Community - **[Discord Server](https://discord.gg/sentinel-mcp)** - Real-time chat and support - **[GitHub Discussions](https://github.com/Snack-JPG/Godot-Sentinel-MCP/discussions)** - Feature requests and Q&A - **[Reddit Community](https://reddit.com/r/SentinelMCP)** - Share projects and tips ### ๐Ÿ†˜ Get Help - **[Documentation](docs/)** - Comprehensive guides and tutorials - **[GitHub Issues](https://github.com/Snack-JPG/Godot-Sentinel-MCP/issues)** - Bug reports and feature requests - **[Stack Overflow](https://stackoverflow.com/questions/tagged/sentinel-mcp)** - Technical questions ### ๐Ÿ“ง Contact - **Email**: hello@sentinel-mcp.com - **Twitter**: [@SentinelMCP](https://twitter.com/SentinelMCP) - **LinkedIn**: [Sentinel MCP](https://linkedin.com/company/sentinel-mcp) --- ## ๐Ÿ“„ License Sentinel is proudly **open source** and available under the [MIT License](LICENSE). ``` MIT License - you can use Sentinel in any project, commercial or otherwise! ``` --- ## ๐Ÿ™ Acknowledgments ### ๐ŸŒŸ Special Thanks - **[Anthropic](https://anthropic.com)** - For creating the MCP protocol that makes this possible - **[Godot Foundation](https://godotengine.org)** - For the amazing game engine that powers indie dreams - **[gdUnit4 Team](https://github.com/MikeSchulze/gdUnit4)** - For the testing framework that makes quality code possible - **Early Adopters** - The brave developers who tested Sentinel in alpha ### ๐Ÿ’ Sponsors Sentinel is supported by amazing companies and individuals: <div align="center"> **[Become a Sponsor](https://github.com/sponsors/Snack-JPG)** โค๏ธ </div> --- <div align="center"> ## โญ **Star this repo if Sentinel makes your Godot development better!** โญ **Built with โค๏ธ by developers, for developers** [๐Ÿš€ Get Started](#-quick-start) โ€ข [๐Ÿ“š Documentation](docs/) โ€ข [๐Ÿค Contribute](CONTRIBUTING.md) </div>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Snack-JPG/Godot-Sentinel-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server