Rams

Design review for UI code: 291 rules, scored 0-100 with fixes and git-applyable patches.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
83%
이름 품질
90%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,671토큰 (도구 정의)
~3.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.31%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "rams": {
      "url": "https://worker.rams.ai/mcp"
    }
  }
}

원격 엔드포인트

https://worker.rams.ai/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (4)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢usage

Check how many Rams reviews this workspace has used and has left (rolling 30 days, shared between the GitHub App and MCP). Free to call — does not consume a review.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢review_files(files, context, via)

Run a Rams design review over UI files (React, Vue, Svelte, CSS). Returns a 0-100 score (criticals cap it: one caps at 59, two at 49, three or more at 39), issues with severity, category, file:line, and concrete fixes. Call it whenever UI code has been written or changed: before committing, when the user asks how the design looks, or to check your own work after editing a component. Reviewing the handful of files you just touched is the normal case — it is cheap, and you do not need to ask permission first. Only a whole-codebase audit (dozens of files across many batches) is worth checking with the user, since it consumes the calling agent's context and a large share of their model allowance; prefer the highest-traffic screens in that case.

입력 스키마

{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "File path, e.g. src/components/Button.tsx"
          },
          "content": {
            "type": "string",
            "description": "Full file content"
          }
        },
        "required": [
          "path",
          "content"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 20,
      "description": "UI files to review (up to 20)"
    },
    "context": {
      "type": "string",
      "description": "Short label for this review, e.g. the feature or branch name"
    },
    "via": {
      "type": "string",
      "description": "Set to \"rules\" when this call is made because of a standing instruction in a rules file (e.g. CLAUDE.md). Omit when a person asked for the review."
    }
  },
  "required": [
    "files"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "score": {
      "type": "number",
      "description": "0-100; confirmed criticals cap it — one at 59, two at 49, three or more at 39"
    },
    "direction": {
      "type": "string",
      "description": "What the change is trying to be — judgment before findings"
    },
    "summary": {
      "type": "string"
    },
    "detectedCounts": {
      "type": "object",
      "properties": {
        "critical": {
          "type": "number"
        },
        "serious": {
          "type": "number"
        },
        "moderate": {
          "type": "number"
        }
      },
      "required": [
        "critical",
        "serious",
        "moderate"
      ],
      "additionalProperties": false
    },
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "file": {
            "type": "string"
          },
          "line": {
            "type": "number"
          },
          "fix": {
            "type": "string",
            "description": "The fix as prose/code"
          },
          "patch": {
            "type": "string",
            "description": "RAMS-121: unified diff against the submitted file content, git-apply-able. Present only when the fix locates unambiguously."
          }
        },
        "required": [
          "severity",
          "category",
          "title",
          "message",
          "file",
          "line"
        ],
        "additionalProperties": false
      }
    },
    "reviewsUsed": {
      "type": "number"
    },
    "reviewsLimit": {
      "type": [
        "number",
        "null"
      ],
      "description": "null = unlimited (Team overage applies instead)"
    }
  },
  "required": [
    "score",
    "summary",
    "detectedCounts",
    "issues",
    "reviewsUsed",
    "reviewsLimit"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡quick_review(files, context, via)

Fast design check over the UI files you just changed. Returns issues with severity, category and file:line, in about 10 seconds. Cheap: five quick checks cost one review credit (two on the free plan), so a whole editing session spends a fraction of one review. Use this one CONSTANTLY: after writing or editing a component, before committing, whenever you want to know if what you just wrote is sound. You do not need to ask the user first. It returns no score and no ready-made patch: fix the issues yourself in the files you already have open. When the user wants a score to keep, a patch to apply, or a review to quote, use review_files instead.

입력 스키마

{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "File path, e.g. src/components/Button.tsx"
          },
          "content": {
            "type": "string",
            "description": "Full file content"
          }
        },
        "required": [
          "path",
          "content"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 20,
      "description": "The UI files you just changed"
    },
    "context": {
      "type": "string",
      "description": "Short label, e.g. the component or feature name"
    },
    "via": {
      "type": "string",
      "description": "Set to \"rules\" when this call is made because of a standing instruction in a rules file (e.g. CLAUDE.md). Omit when a person asked for the review."
    }
  },
  "required": [
    "files"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢verify_fixes(files, issues)

Re-check previous review_files findings against updated file contents. Returns fixed vs still-present per finding. Much cheaper and faster than a full re-review; does NOT consume review quota. Use after applying fixes.

입력 스키마

{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "File path, e.g. src/components/Button.tsx"
          },
          "content": {
            "type": "string",
            "description": "Full file content"
          }
        },
        "required": [
          "path",
          "content"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 20,
      "description": "The updated UI files (same paths as the original review)"
    },
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "critical",
              "serious",
              "moderate"
            ]
          },
          "category": {
            "type": "string"
          },
          "rule": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "file": {
            "type": "string"
          },
          "line": {
            "type": "number"
          },
          "current": {
            "type": "string",
            "description": "The flagged code from the original finding"
          }
        },
        "required": [
          "severity",
          "category",
          "file",
          "line"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 30,
      "description": "The findings to verify, as returned by review_files"
    }
  },
  "required": [
    "files",
    "issues"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "fixed": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          }
        },
        "required": [
          "file",
          "severity"
        ],
        "additionalProperties": false
      }
    },
    "present": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string"
          },
          "line": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          }
        },
        "required": [
          "file",
          "line",
          "severity"
        ],
        "additionalProperties": false
      }
    },
    "allClear": {
      "type": "boolean",
      "description": "true when nothing remains, including no remaining criticals"
    }
  },
  "required": [
    "fixed",
    "present",
    "allClear"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 4개
검증됨버전이 기록되지 않음도구 4개