Skip to main content

Code review MCP server for Claude. Not affiliated with Atlassian.

Project description

Crucible

Code review MCP server for Claude. Runs static analysis and loads review skills based on what kind of code you're looking at.

Note: This project is not affiliated with Atlassian or their Crucible code review tool. Just an unfortunate naming collision.

┌─────────────────────────────────────────────────────────────────────────────┐
│  Your Code  ──→  Crucible  ──→  Claude                                       │
│                  (analysis)     (synthesis)                                  │
│                                                                             │
│  .sol file  ──→  slither, semgrep  ──→  web3-engineer skill loaded          │
│  .py file   ──→  ruff, bandit      ──→  backend-engineer skill loaded       │
└─────────────────────────────────────────────────────────────────────────────┘

MCP provides data. Skills provide perspective. Claude orchestrates.

Quick Start

# Install from PyPI
pip install crucible-mcp

# Or install from source
pip install -e ".[dev]"

# Install skills to ~/.claude/crucible/skills/
crucible skills install

# Install analysis tools for your stack
pip install semgrep ruff              # Python
pip install slither-analyzer          # Solidity
pip install bandit                    # Python security

Tools are separate by design. Different workflows need different analyzers. Install what you need, skip what you don't. Crucible gracefully handles missing tools.

MCP Setup

Works with any MCP client (Claude Code, Cursor, etc.). Add to your .mcp.json:

{
  "mcpServers": {
    "crucible": {
      "command": "crucible-mcp"
    }
  }
}

Then in Claude:

Review src/Vault.sol

→ Crucible: domains_detected: [solidity, smart_contract, web3]
→ Crucible: severity_summary: {critical: 1, high: 3}
→ Claude loads: web3-engineer, security-engineer skills
→ Claude synthesizes multi-perspective review

MCP Tools

Tool Purpose
quick_review(path) Run analysis, return findings + domains
get_principles(topic) Load engineering knowledge
delegate_* Direct tool access (semgrep, ruff, slither, bandit)
check_tools() Show installed analysis tools

CLI

crucible skills list              # List all skills
crucible skills show <skill>      # Show which version is active
crucible skills init <skill>      # Copy to .crucible/ for customization

crucible knowledge list           # List all knowledge files
crucible knowledge init <file>    # Copy for customization

How It Works

Crucible detects what kind of code you're reviewing, runs the right analysis tools, and returns findings with domain metadata. Claude uses this to load appropriate review skills.

.sol file  →  slither + semgrep  →  web3-engineer, gas-optimizer skills
.py file   →  ruff + bandit      →  backend-engineer, security-engineer skills

See ARCHITECTURE.md for the full flow.

Customization

Override skills and knowledge for your project or personal preferences:

# Customize a skill for your project
crucible skills init security-engineer
# Creates .crucible/skills/security-engineer/SKILL.md

# Add project-specific concerns, team conventions, etc.

Resolution order (first found wins):

  1. .crucible/ — Project overrides
  2. ~/.claude/crucible/ — User preferences
  3. Bundled — Package defaults

See CUSTOMIZATION.md for the full guide.

What's Included

18 Review Skills — Different review perspectives (security, performance, accessibility, web3, etc.)

See SKILLS.md for the full list with triggers and focus areas.

12 Knowledge Files — Engineering principles for security, testing, APIs, databases, smart contracts, etc.

See KNOWLEDGE.md for topics covered and skill linkages.

Documentation

Doc What's In It
FEATURES.md Complete feature reference
ARCHITECTURE.md How MCP, tools, skills, and knowledge fit together
CUSTOMIZATION.md Override skills and knowledge for your project
SKILLS.md All 18 review personas with triggers and key questions
KNOWLEDGE.md All 12 knowledge files with topics covered
CONTRIBUTING.md Adding tools, skills, and knowledge

Development

pip install -e ".[dev]"
pytest                    # Run tests (263 tests)
ruff check src/ --fix     # Lint

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crucible_mcp-0.1.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crucible_mcp-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file crucible_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: crucible_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for crucible_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f785e2ab02132ad9ba093cc4ed377d3c50e42c8da813123d3258a924da6e8060
MD5 2869c5cff21f8aec8fa828c32a88682b
BLAKE2b-256 19241e9e3be09f1dd4f3cac56744311049d15630885b6d617e222253be43a787

See more details on using hashes here.

Provenance

The following attestation bundles were made for crucible_mcp-0.1.0.tar.gz:

Publisher: publish.yml on b17z/crucible

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crucible_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: crucible_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for crucible_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da58f16b170ec0ff3fa6998f4892fdc5b4564ab4988595aae22e19bfb3b94bb5
MD5 c335f70b0ed51159633317650c2f7ffe
BLAKE2b-256 ac7802460bc8bf26f1a0cfd949dfdb6a995920f9592071b066ed12303078fe10

See more details on using hashes here.

Provenance

The following attestation bundles were made for crucible_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on b17z/crucible

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page