Hosted MCP server · #151 most used on Smithery
SpecLock - AI Constraint Engine
sgroy10/speclock
AI Constraint Engine with AI Patch Firewall. 42 MCP tools. Patch Gateway (ALLOW/WARN/BLOCK verdicts), diff-native review (10 scored signals, hard escalation rules), Spec Compiler, Code Graph, Typed constraints, Python SDK, ROS2. Works with Claude Code, Cursor, Windsurf, Cline, Bolt.new, Lovable. 1073 tests. Free and open source. By Sandeep Roy.
- Uses
- 3.6k
- Tools
- 44
- Runs
- Hosted
- Listed
- 9mo ago
Get started
Add it to your agent
npx -y @smithery/cli@latest install sgroy10/speclock --client claudeSwap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.
claude mcp add --transport http speclock-ai-constraint-engine https://server.smithery.ai/sgroy10/speclock/mcpA hosted server: nothing to install. Run /mcp in Claude Code to sign in if it asks.
[mcp_servers.speclock-ai-constraint-engine]
url = "https://server.smithery.ai/sgroy10/speclock/mcp"Add to ~/.codex/config.toml.
{
"mcpServers": {
"speclock-ai-constraint-engine": {
"url": "https://server.smithery.ai/sgroy10/speclock/mcp"
}
}
}Add to ~/.cursor/mcp.json.
{
"servers": {
"speclock-ai-constraint-engine": {
"type": "http",
"url": "https://server.smithery.ai/sgroy10/speclock/mcp"
}
}
}Add to .vscode/mcp.json.
gemini mcp add --transport http speclock-ai-constraint-engine https://server.smithery.ai/sgroy10/speclock/mcpSaved to .gemini/settings.json.
What it can do
44 tools
speclock_initInitialize SpecLock in the current project directory.
speclock_get_context1 paramTHE KEY TOOL. Returns the full structured context pack.
| Parameter | Type | Description |
|---|---|---|
format | string |
speclock_set_goal1 paramSet or update the project goal.
| Parameter | Type | Description |
|---|---|---|
text | string |
speclock_add_lock3 paramsAdd a non-negotiable constraint (SpecLock).
| Parameter | Type | Description |
|---|---|---|
tags | array | |
text | string | |
source | string |
speclock_remove_lock1 paramRemove (deactivate) a SpecLock by its ID.
| Parameter | Type | Description |
|---|---|---|
lockId | string |
speclock_add_decision3 paramsRecord an architectural or design decision.
| Parameter | Type | Description |
|---|---|---|
tags | array | |
text | string | |
source | string |
speclock_add_note2 paramsAdd a pinned note for reference.
| Parameter | Type | Description |
|---|---|---|
text | string | |
pinned | boolean |
speclock_set_deploy_facts5 paramsRecord deployment configuration facts.
| Parameter | Type | Description |
|---|---|---|
url | string | |
notes | string | |
branch | string | |
provider | string | |
autoDeploy | boolean |
speclock_log_change2 paramsManually log a significant change.
| Parameter | Type | Description |
|---|---|---|
files | array | |
summary | string |
speclock_get_changes1 paramGet recent file changes tracked by SpecLock.
| Parameter | Type | Description |
|---|---|---|
limit | integer |
speclock_get_events3 paramsGet the event log, optionally filtered by type.
| Parameter | Type | Description |
|---|---|---|
type | string | |
limit | integer | |
since | string |
speclock_check_conflict1 paramCheck if a proposed action conflicts with any active SpecLock. In hard mode, blocks above threshold.
| Parameter | Type | Description |
|---|---|---|
proposedAction | string |
speclock_session_briefing1 paramStart a new session and get a full briefing.
| Parameter | Type | Description |
|---|---|---|
toolName | string |
speclock_session_summary1 paramEnd the current session and record what was accomplished.
| Parameter | Type | Description |
|---|---|---|
summary | string |
speclock_checkpoint1 paramCreate a named git tag checkpoint for easy rollback.
| Parameter | Type | Description |
|---|---|---|
name | string |
speclock_repo_statusGet current git repository status.
speclock_suggest_locksAI-powered lock suggestions based on project patterns.
speclock_detect_driftScan recent changes for constraint violations.
speclock_healthHealth check with completeness score and multi-agent timeline.
speclock_apply_template1 paramApply a pre-built constraint template (nextjs, react, express, supabase, stripe, security-hardened).
| Parameter | Type | Description |
|---|---|---|
name | string |
speclock_reportViolation report — how many times SpecLock blocked changes.
speclock_auditAudit staged files against active locks.
speclock_verify_auditVerify the integrity of the HMAC audit chain.
speclock_export_compliance1 paramGenerate compliance reports (SOC 2, HIPAA, CSV).
| Parameter | Type | Description |
|---|---|---|
format | string |
speclock_set_enforcement2 paramsSet enforcement mode: advisory (warn) or hard (block).
| Parameter | Type | Description |
|---|---|---|
mode | string | |
blockThreshold | integer |
speclock_override_lock3 paramsOverride a lock with justification. Logged to audit trail.
| Parameter | Type | Description |
|---|---|---|
action | string | |
lockId | string | |
reason | string |
speclock_semantic_auditSemantic pre-commit: analyzes code changes vs locks.
speclock_override_history1 paramShow lock override history.
| Parameter | Type | Description |
|---|---|---|
lockId | string |
speclock_policy_evaluate2 paramsEvaluate policy-as-code rules against proposed actions.
| Parameter | Type | Description |
|---|---|---|
files | array | |
actionType | string |
speclock_policy_manage1 paramPolicy CRUD: list, add, remove policy rules.
| Parameter | Type | Description |
|---|---|---|
action | string |
speclock_telemetry1 paramOpt-in usage analytics summary.
| Parameter | Type | Description |
|---|---|---|
action | string |
speclock_guard_file2 paramsAdd SPECLOCK-GUARD header to lock specific files.
| Parameter | Type | Description |
|---|---|---|
file | string | |
lockId | string |
speclock_auto_guardAuto-guard files related to lock keywords.
speclock_add_typed_lock6 paramsAdd typed constraint (numerical/range/state/temporal).
| Parameter | Type | Description |
|---|---|---|
unit | string | |
value | ||
metric | string | |
operator | string | |
description | string | |
constraintType | string |
speclock_check_typed2 paramsCheck proposed values against typed constraints.
| Parameter | Type | Description |
|---|---|---|
value | ||
metric | string |
speclock_list_typed_locksList all typed constraints with current thresholds.
speclock_update_threshold3 paramsUpdate typed lock thresholds dynamically.
| Parameter | Type | Description |
|---|---|---|
value | ||
lockId | string | |
operator | string |
speclock_compile_spec2 paramsCompile natural language (PRDs, READMEs) into structured constraints via Gemini Flash.
| Parameter | Type | Description |
|---|---|---|
text | string | |
autoApply | boolean |
speclock_build_graphBuild/refresh code dependency graph from imports (JS/TS/Python).
speclock_blast_radius1 paramCalculate blast radius — transitive dependents, impact %, depth.
| Parameter | Type | Description |
|---|---|---|
file | string |
speclock_map_locksMap active locks to actual code files via the dependency graph.
speclock_review_patch2 paramsALLOW/WARN/BLOCK verdict — combines semantic conflict + lock-file mapping + blast radius.
| Parameter | Type | Description |
|---|---|---|
files | array | |
description | string |
speclock_review_patch_diff2 paramsDiff-native review — parses actual diffs for interface breaks, protected symbols, dependency drift, schema changes.
| Parameter | Type | Description |
|---|---|---|
diff | string | |
description | string |
speclock_parse_diff1 paramParse unified diff into structured changes — imports, exports, symbols, routes, schema detection.
| Parameter | Type | Description |
|---|---|---|
diff | string |