Tilt MCP Server
Enables LLMs and AI assistants to interact with Tilt development environments, providing tools to list resources, fetch logs, and monitor status.
README
Tilt MCP Server
A Model Context Protocol (MCP) server that integrates with Tilt to provide programmatic access to Tilt resources and logs through LLM applications.
Overview
The Tilt MCP server allows Large Language Models (LLMs) and AI assistants to interact with your Tilt development environment. It provides tools to:
- List all enabled Tilt resources
- Fetch logs from specific resources
- Monitor resource status and health
This enables AI-powered development workflows, debugging assistance, and automated monitoring of your Tilt-managed services.
Features
- 🔍 Resource Discovery: List all active Tilt resources with their current status
- 📜 Log Retrieval: Fetch recent logs from any Tilt resource
- 🛡️ Type Safety: Built with Python type hints for better IDE support
- 🚀 Async Support: Fully asynchronous implementation using FastMCP
- 📊 Structured Output: Returns well-formatted JSON responses
Prerequisites
- Python 3.8 or higher
- Tilt installed and configured
- An MCP-compatible client (e.g., Claude Desktop, mcp-cli)
Installation
From PyPI (recommended)
pip install tilt-mcp
From Source
git clone https://github.com/aryan-agrawal-glean/tilt-mcp.git
cd tilt-mcp
pip install -e .
Configuration
For Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"tilt": {
"command": "tilt-mcp"
}
}
}
For Development/Testing
You can run the server directly:
python -m tilt_mcp.server
Or use it with the MCP CLI:
mcp run python -m tilt_mcp.server
Usage
Once configured, the Tilt MCP server provides the following tools:
get_all_resources
Lists all enabled Tilt resources with their current status.
Example response:
[
{
"name": "frontend",
"type": "k8s",
"status": "ok",
"updateStatus": "ok"
},
{
"name": "backend-api",
"type": "k8s",
"status": "pending",
"updateStatus": "pending"
}
]
get_resource_logs
Fetches recent logs from a specific Tilt resource.
Parameters:
resource_name(string, required): Name of the Tilt resourcetail(integer, optional): Number of log lines to return (default: 1000)
Example request:
{
"resource_name": "frontend",
"tail": 50
}
Example response:
{
"logs": "2024-01-15 10:23:45 INFO Starting server on port 3000\n2024-01-15 10:23:46 INFO Server ready"
}
Example Prompts
Here are some example prompts you can use with an AI assistant that has access to this MCP server:
- "Show me all the Tilt resources that are currently running"
- "Get the last 100 lines of logs from the backend-api service"
- "Which services are failing or have errors?"
- "Show me the recent logs from all services that aren't healthy"
- "Help me debug why the frontend service is crashing"
Development
Setting up the development environment
# Clone the repository
git clone https://github.com/yourusername/tilt-mcp.git
cd tilt-mcp
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode with dev dependencies
pip install -e ".[dev]"
Running tests
pytest
Code formatting and linting
# Format code
black src tests
# Run linter
ruff check src tests
# Type checking
mypy src
Troubleshooting
Common Issues
-
"Tilt not found" error
- Ensure Tilt is installed and available in your PATH
- Try running
tilt versionto verify installation
-
"No resources found" when Tilt is running
- Make sure your Tiltfile is loaded and resources are started
- Check that you're running the MCP server in the correct directory
-
Connection errors
- Verify the MCP client configuration is correct
- Check the logs at
~/.tilt-mcp/tilt_mcp.log
Debug Logging
To enable debug logging, set the environment variable:
export LOG_LEVEL=DEBUG
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up your development environment
- Running tests
- Submitting pull requests
- Code style guidelines
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with FastMCP for the MCP server implementation
- Integrates with Tilt for Kubernetes development
Support
- 📧 Email: aryan.agrawal@glean.com
- 💬 Issues: GitHub Issues
- 📖 Docs: GitHub Wiki
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.