Just MCP Server

io.github.PromptExecution由 GitHub 帳號 PromptExecution 發布v0.1.5更新於 Oct 24, 2026

Expose curated Justfile recipes via MCP for safe deterministic automation.

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理透過 Just 指令執行器列出、檢視、驗證並執行 Justfile 中的配方。

可以做什麼
  • 列出 Justfile 中定義的所有配方
  • 依名稱執行配方並可傳入參數,擷取結構化輸出
  • 查詢單一配方的詳細資訊,包含參數與說明
  • 驗證 Justfile 的語法與語意錯誤
  • 支援 .env 檔案與變數展開,供配方執行使用
適用情境
適合專案已把建置、測試或部署步驟寫成 Justfile 配方,並希望助理直接呼叫這些配方、而不是閱讀腳本或自行拼湊 shell 指令的情境。也適合上下文較小的模型進行代理執行,以及希望比直接使用 bash 更可控、更可重現的團隊。
執行需求
以本機 stdio 程序在使用者電腦上執行,僅限桌面端。可透過 npm/npx、pip/uvx、cargo、pkgx、預先編譯的執行檔或已發布的容器映像安裝,並在用戶端設定 just-mcp 指令與 --stdio 參數,可選擇指定工作目錄。需要目標專案中有 Just 指令執行器與 Justfile。
安裝前請注意
run_recipe 會執行 Justfile 中定義的指令,配方所做的任何操作(建置、刪除、部署)都會以使用者權限發生,授權前應先審閱配方。它會讀取 .env 檔案進行變數展開,其中的密鑰可能暴露給該程序。README 也指出安全性取決於配方是否經過篩選且具備冪等性。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Just MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

just-mcp

[CI] [Release] [Crates.io] [License: MIT]

[Trust Score]

👋 A way to let LLMs speak Just

A production-ready MCP server that provides seamless integration with Just command runner, enabling AI assistants to discover, execute, and introspect Justfile recipes through the standardized MCP protocol.

🎯 Why Just + MCP = Better Agent Execution

Context-Saving Abstraction

If it isn't immediately obvious, the benefit of having LLMs use Just vs. bash is that running Just commands (via MCP) provides a context-saving abstraction where they don't need to waste context opening/reading bash files, Python scripts, or other build artifacts. The LLM via MCP simply gets the command, parameters, and hints - it's in their memory as "these are commands available to you."

Eliminates the Justfile Learning Curve

No more watching LLMs execute just -l to get command lists, inevitably start reading the justfile, then try to write justfile syntax (like it's a Makefile), corrupt the justfile, and create a bad experience. Just's evolving syntax simply doesn't have a large enough corpus in frontier models today - we need more popular repos with justfiles in the training dataset.

Safer Than Raw Bash Access

Just-mcp is fundamentally safer than bash. If you read HackerNews, there's a story at least once daily about operators whose LLMs start forgetting, hallucinating, and eventually breaking down - deleting files and doing nasty unwanted things. Giving LLMs unsupervised, unrestricted bash access without carefully monitoring context consumption is a recipe for disaster.

Using Justfile fixes that. Even if the LLM modifies its own justfile, the next context is memoized by the justfile (hopefully in an idempotent git repo). This abstraction shields the llm from the command line complexity where hallucinations or attention tracking the current working directory cause it to go over the rails and off the cliff.

Powerful Agent Execution Tool

Just-mcp is perfect for anybody doing agent execution:

  • Ultra-low overhead - probably better than every other tool
  • Human-friendly - justfiles are easy for humans and low overhead for LLMs
  • Quick and dirty - while some prefer full Python FastAPI servers, just-mcp is just easy-as
  • sm0l model friendly - works great with self-hostable GPU/CPU open source models with 8k-32k context limits

Built-in Safety Patterns

Just has useful patterns for introducing:

  • Transparent logging without distracting the agent
  • Secondary model inspection - use sm0l models to scan commands asking "is this harmful?" before execution
  • Python decorator-like patterns for command validation
  • Idempotent execution backed by git repos

b00t

b00t mcp create just-mcp -- bash just-mcp --stdio "${REPO_ROOT}"b00t mcp export just-mcp

🚀 Current Status: 67% Complete (8/12 core tasks)

✅ Implemented Features

  • 🏗️ Complete MCP Server - Full rmcp 0.3.0 integration with MCP 2024-11-05 protocol
  • 📋 Recipe Discovery - Parse and list all available Justfile recipes
  • ⚡ Recipe Execution - Execute recipes with parameters and capture structured output
  • 🔍 Recipe Introspection - Get detailed recipe information, parameters, and documentation
  • ✅ Justfile Validation - Syntax and semantic validation with error reporting
  • 🌍 Environment Management - Comprehensive .env file support and variable expansion
  • 🧪 Full Test Coverage - 33 passing tests across integration and unit test suites

🎯 MCP Tools Available

  1. list_recipes - List all available recipes in the justfile
  2. run_recipe - Execute a specific recipe with optional arguments
  3. get_recipe_info - Get detailed information about a specific recipe
  4. validate_justfile - Validate the justfile for syntax and semantic errors

🏃 Quick Start

Installation

Choose your preferred installation method:

npm (JavaScript/TypeScript)
bash
# Install globallynpm install -g just-mcp
# Or use with npx (no installation required)npx just-mcp --stdio
pip (Python)
bash
# Install with pippip install just-mcp
# Or use with uvx (recommended)uvx just-mcp --stdio
Cargo (Rust)
bash
# Install from crates.iocargo install just-mcp
# Or build from sourcegit clone https://github.com/promptexecution/just-mcpcd just-mcpcargo build --release
pkgx (pkgxdev)
bash
pkgx just-mcp --stdio

pkgx downloads the platform-specific tarball that GitHub releases expose (just-mcp-*-*.tar.gz), extracts the executable into ${PKGX_DIR:-$HOME/.pkgx}/bin, and runs the CLI with the arguments you pass. Add that bin directory to your shell’s PATH if you need just-mcp available long-term. The packaging manifest lives in pkgx/projects/github.com/promptexecution/just-mcp/package.yml and mirrors the pkgxdev/pantry entry.

Using Docker
bash
# Pull the latest image from GitHub Container Registrydocker pull ghcr.io/promptexecution/just-mcp:latest
# Run with Dockerdocker run --rm -v $(pwd):/workspace ghcr.io/promptexecution/just-mcp:latest --stdio
# Build locallydocker build -t just-mcp:local .docker run --rm -v $(pwd):/workspace just-mcp:local --stdio

Available Docker image tags:

  • latest - Latest stable release
  • X.Y.Z - Specific version (e.g., 0.1.0)
  • X.Y - Latest patch version (e.g., 0.1)
  • X - Latest minor version (e.g., 0)

Claude Desktop Integration

Using npm/npx

Add to your Claude Desktop MCP configuration:

Using Binary
json
{  "mcpServers": {    "just-mcp": {      "command": "npx",      "args": ["-y", "just-mcp", "--stdio"]    }  }}
Using pip/uvx
json
{  "mcpServers": {    "just-mcp": {      "command": "uvx",      "args": ["just-mcp", "--stdio"]    }  }}
Using cargo or manual install
json
{  "mcpServers": {    "just-mcp": {      "command": "/path/to/just-mcp",      "args": ["--stdio"]    }  }}
Using Docker
json
{  "mcpServers": {    "just-mcp": {      "command": "docker",      "args": [        "run",        "--rm",        "-i",        "-v",        "${workspaceFolder}:/workspace",        "ghcr.io/promptexecution/just-mcp:latest",        "--stdio"      ]    }  }}

Usage Examples

bash
# Run as MCP serverjust-mcp --stdio
# Run in specific directory  just-mcp --directory /path/to/project --stdio
# Using Dockerdocker run --rm -v $(pwd):/workspace ghcr.io/promptexecution/just-mcp:latest --stdio

🧪 Testing

Comprehensive Test Suite

bash
# Run all tests (33 tests)cargo test
# Run specific test suitescargo test --test basic_mcp_test      # Protocol compliance testingcargo test --test mcp_integration_working  # SDK integration testing

Test Architecture

  • basic_mcp_test.rs - Direct protocol compliance testing using raw JSON-RPC
  • mcp_integration_working.rs - Type-safe SDK integration testing with rmcp client
  • Unit tests - 25+ tests covering parser, executor, validator, and environment modules

📚 Architecture

Project Structure

just-mcp/├── src/main.rs              # CLI binary├── just-mcp-lib/           # Core library│   ├── parser.rs           # Justfile parsing│   ├── executor.rs         # Recipe execution  │   ├── validator.rs        # Validation logic│   ├── environment.rs      # Environment management│   └── mcp_server.rs       # MCP protocol implementation├── tests/                  # Integration tests└── justfile               # Demo recipes

Tech Stack

  • Rust 1.82+ with async/await support
  • rmcp 0.3.0 - Official MCP SDK for Rust
  • serde/serde_json - JSON serialization
  • snafu - Structured error handling
  • tokio - Async runtime

🔄 Development Roadmap

🎯 Next Priority Tasks (Remaining 33%)

  1. LSP-Style Completion System - Intelligent autocompletion for recipes and parameters
  2. Enhanced Diagnostics - Advanced syntax error reporting and suggestions
  3. Virtual File System - Support for stdin, remote sources, and in-memory buffers
  4. Release Preparation - Documentation, CI/CD, and crate publication

🚀 Future Enhancements

  • Plugin system for custom recipe types
  • Integration with other build tools
  • Performance optimizations for large justfiles
  • Advanced dependency visualization

📖 Usage Patterns

Recipe Execution

javascript
// List available recipesawait client.callTool("list_recipes", {});
// Execute recipe with parameters  await client.callTool("run_recipe", {  "recipe_name": "build",  "args": "[\"--release\"]"});
// Get recipe informationawait client.callTool("get_recipe_info", {  "recipe_name": "test"});

Validation

javascript
// Validate justfileawait client.callTool("validate_justfile", {  "justfile_path": "./custom.justfile"  });

🤝 Contributing

This project follows the b00t development methodology:

  • TDD Approach - Tests first, implementation second
  • Feature Branches - Never work directly on main branch
  • Structured Errors - Use snafu for error management
  • Git Workflow - Clean commits with descriptive messages

Development Commands

bash
just build    # Build the projectjust test     # Run tests  just server   # Start MCP serverjust clean    # Clean build artifacts

📄 License

This project is licensed under LICENSE.

🚀 Release Setup & CI/CD

✅ Completed Setup

Cocogitto & Conventional Commits
  • Installed cocogitto for conventional commit enforcement
  • Configured cog.toml with proper commit types and changelog settings
  • Set up git hooks for commit message linting (commit-msg) and pre-push testing
GitHub Actions CI/CD
  • CI Pipeline (ci.yml): Multi-platform testing (Ubuntu, Windows, macOS), formatting, clippy, commit linting
  • Release Pipeline (release.yml): Automated versioning, changelog generation, GitHub releases, and crates.io publishing
  • Binary Builds (build-binaries.yml): Cross-platform binary compilation for npm and pip packages
  • Container Pipeline (container.yaml): Multi-platform Docker image builds (linux/amd64, linux/arm64) pushed to GitHub Container Registry
Docker Images
  • Multi-platform builds for linux/amd64 and linux/arm64
  • Minimal image size using static musl binaries and scratch base image
  • Automatic tagging with semantic versioning (major, major.minor, major.minor.patch, latest)
  • Published to GitHub Container Registry (ghcr.io)
  • Integrated with release workflow for automatic deployment
Crates.io Preparation
  • Updated both Cargo.toml files with complete metadata (description, keywords, categories, license, etc.)
  • Added proper exclusions for development-only files
  • Verified MIT license is in place
Documentation & Structure
  • README.md is production-ready with installation and usage instructions
  • Created initial CHANGELOG.md for release tracking
  • Updated .gitignore with Rust-specific entries

🚀 Production Deployment

Development Workflow:
  • All commits must follow conventional commit format (enforced by git hooks)
  • Use feat:, fix:, docs:, etc. prefixes for automatic versioning
  • Push to main branch triggers automated releases and crates.io publishing
  • Library tests pass ✅ (25/25) with comprehensive test coverage
Release Process:
  • Automated Versioning: Cocogitto analyzes commit messages for semantic versioning
  • GitHub Releases: Automatic changelog generation and GitHub release creation
  • Binary Distribution: Pre-built binaries for Linux (x86_64, aarch64), macOS (x86_64, aarch64), and Windows (x86_64)
  • Crates.io Publishing: Library crate (just-mcp-lib) publishes first, then binary crate (just-mcp)
  • npm Publishing: Wrapper package for easy Node.js/TypeScript integration
  • PyPI Publishing: Python wrapper package for pip/uvx installation
  • CI/CD Pipeline: Multi-platform testing (Ubuntu, Windows, macOS) with formatting and clippy checks
Installation Methods:
bash
# npm (JavaScript/TypeScript ecosystems)npm install -g just-mcp# ornpx just-mcp --stdio
# pip (Python ecosystems)pip install just-mcp# oruvx just-mcp --stdio
# cargo (Rust ecosystem)cargo install just-mcp
# Download pre-built binarieswget https://github.com/promptexecution/just-mcp/releases/latest/download/just-mcp-x86_64-unknown-linux-gnu.tar.gz# Or use Dockerdocker pull ghcr.io/promptexecution/just-mcp:latest
# Or download from GitHub releaseswget https://github.com/promptexecution/just-mcp/releases/latest/download/just-mcp

🔗 Related Projects

Friends of just-mcp

  • just-vscode - VSCode extension with LSP integration for enhanced Just authoring
  • just-awesome-agents - Collection of patterns and tools for agent execution with Just# Test change to trigger pre-push hook

來源:README.md,提交 26a3063

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.5最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分