https://github.com/toolprint/just-mcp
Share the same project justfile tasks with your AI Coding Agent.
https://github.com/toolprint/just-mcp
agents claude-code gemini-cli just justfile llm mcp mcp-server vibe-coding
Last synced: 12 days ago
JSON representation
Share the same project justfile tasks with your AI Coding Agent.
- Host: GitHub
- URL: https://github.com/toolprint/just-mcp
- Owner: toolprint
- License: mit
- Created: 2025-07-07T02:07:17.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-08-18T00:37:45.000Z (2 months ago)
- Last Synced: 2025-08-18T02:27:39.294Z (2 months ago)
- Topics: agents, claude-code, gemini-cli, just, justfile, llm, mcp, mcp-server, vibe-coding
- Language: Rust
- Homepage: https://toolprint.ai/
- Size: 229 KB
- Stars: 9
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# just-mcp
[](https://github.com/onegrep/just-mcp/actions/workflows/dagger-ci.yml)
[](https://opensource.org/licenses/MIT)
[](https://www.rust-lang.org)
[](https://modelcontextprotocol.io/)
[](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2)
> Transform justfiles into AI-accessible automation tools through the Model Context Protocol
**just-mcp** bridges [justfiles](https://just.systems/) and Coding Agents by exposing justfile recipes as dynamically discoverable MCP tools.
This enables AI assistants to understand, explore, and execute a project's common development workflows similar to how a human would.

## Quick Start
**1. Install just-mcp**
```bash
# Using cargo-binstall (fastest - downloads pre-built binary)
cargo binstall --git https://github.com/toolprint/just-mcp just-mcp
# Or download latest release
curl -L https://github.com/toolprint/just-mcp/releases/latest/download/just-mcp-$(uname -m)-$(uname -s).tar.gz | tar xz
sudo mv just-mcp /usr/local/bin/
```
**2. Configure your Agent** (see [MCP Client Setup](#mcp-client-setup) below)
**3. Use the Slash Command**:
```bash
/just:do-it build the project
```
It will find the appropriate justfile task to run as an MCP Tool.
That's it. Your AI can now use your justfile tasks.
## MCP Client Setup
Claude Code
```bash
claude mcp add -s user -t stdio just -- just-mcp
```
Or manually add to `~/.claude.json`:
```json
{
"mcpServers": {
"just": {
"type": "stdio",
"command": "just-mcp"
}
}
}
```
**Verification**: Start a new session and check /mcp for 'just' and view details to see how many tools loaded.
Claude Desktop
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"just": {
"command": "just-mcp",
"args": ["--watch-dir", "/Users/username/workspace/your-project-dir"],
}
}
}
```
**Verification**: Restart Claude Desktop, check the settings button for custom connection tools.
Cline (VS Code Extension)
1. Click Cline icon → **MCP Servers** → **Configure MCP Servers**
2. Add configuration:
```json
{
"mcpServers": {
"just": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "just-mcp",
"args": [
"-w",
"/Users/username/your-project-dir"
]
}
}
```
**Verification**: Look for MCP server status in Cline's interface.
**NOTE:** Since cline runs outside of your current project working directory you MUST specify the watch-dir or use the admin tools at runtime to ask Cline to switch the watch-dir for you.
## Key Features
### 🔍 **Smart Justfile Discovery**
- Real-time monitoring with hot reloading
- Defaults to use the current project root directory to look for your justfile
- Dynamic tool generation from your tasks
### 📝 **Advanced Parsing**
- AST-based parser using Tree-sitter for complete syntax support
- Parameter documentation from comments: `# {{param}}: description`
- Three-tier fallback: AST → CLI → Regex for maximum compatibility
### 🛡️ **Security First**
- Input validation prevents command injection
- Configurable timeouts and resource limits
- Directory whitelisting and parameter sanitization
### ⚙️ **Admin Tools**
- `admin_sync`: Refresh tool registry
- `admin_create_task`: AI-assisted task creation with backup
### 🔍 **Vector Search** *(Optional)*
- **Offline semantic search** with local embeddings (no API keys)
- Natural language queries: *"deploy to production"*
- Cross-project discovery of similar automation patterns
- See [Vector Search docs](docs/features/vector-search.md)
## Example Workflow
Given this justfile:
```just
# Deploy the application
deploy env="prod":
echo "Deploying to {{env}}"
./deploy.sh {{env}}
# Run tests with coverage
test coverage="false":
cargo test {{if coverage == "true" { "--coverage" } else { "" }}}
```
Your AI assistant can:
- **Discover**: "What tasks are available?"
- **Execute**: "Deploy to staging" → runs `deploy env="staging"`
- **Understand**: Sees parameters, descriptions, and dependencies
## Installation Options
### Pre-built Binaries (Recommended)
Download from [GitHub Releases](https://github.com/toolprint/just-mcp/releases/latest):
```bash
# Linux x86_64
curl -L https://github.com/toolprint/just-mcp/releases/latest/download/just-mcp-x86_64-unknown-linux-gnu.tar.gz | tar xz
# Linux ARM64
curl -L https://github.com/toolprint/just-mcp/releases/latest/download/just-mcp-aarch64-unknown-linux-gnu.tar.gz | tar xz
# macOS (Universal - works on Intel and Apple Silicon)
curl -L https://github.com/toolprint/just-mcp/releases/latest/download/just-mcp-universal2-apple-darwin.tar.gz | tar xz
```
### From Source
```bash
git clone https://github.com/toolprint/just-mcp.git
cd just-mcp
just quickstart # Complete setup + install
```
Or manually:
```bash
cargo install --path . --features all # All features including vector search
```
## Development
### Setup
```bash
just quickstart # Complete setup for new developers
just dev-setup # Comprehensive development environment
```
### Workspace Structure
- `./` - Main MCP server
- `dev-tools/` - Performance analysis utilities
### Common Commands
```bash
just build # Build main server
just build-dev-tools # Build development utilities
just test # Run tests
just check # Format, lint, test (pre-commit)
```
## Multi-Project Example
Monitor multiple projects with custom names:
```bash
just-mcp \
--watch-dir ~/projects/api:backend \
--watch-dir ~/projects/web:frontend \
--watch-dir ~/infrastructure:infra
```
Tools will be available as:
- `just_deploy@backend`
- `just_build@frontend`
- `just_apply@infra`
## Documentation
- **[Configuration Guide](docs/CONFIGURATION.md)** - Detailed setup for all MCP clients
- **[Vector Search](docs/features/vector-search.md)** - Semantic search with natural language
- **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions
- **[Contributing](CONTRIBUTING.md)** - Development workflow and guidelines
## Architecture
```
Justfile Watcher → AST Parser → Tool Registry → MCP Server → AI Assistant
↓ ↓ ↓ ↓
File Changes → Dynamic Updates → Real-time → Task Execution
```
**Key Design Principles:**
- **Async-first**: Tokio-based for concurrent operations
- **Security-focused**: All inputs validated, resources limited
- **Hot-reload**: File changes trigger automatic tool updates
- **Zero-config**: Works with existing justfiles
## Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
Quick steps:
1. `just quickstart` - Set up development environment
2. Make your changes and add tests
3. `just check` - Ensure code quality
4. Submit a Pull Request
## License
MIT License - see [LICENSE](LICENSE) for details.
## Acknowledgments
- [just](https://just.systems/) - The command runner that inspired this project
- [Model Context Protocol](https://modelcontextprotocol.io/) - Enabling AI-tool communication
- [Anthropic](https://anthropic.com/) - For developing the MCP standard
---
**Need help?** Check [troubleshooting](docs/troubleshooting.md) or open an issue on GitHub.