Server definition
- Hash
- sha256:bf5d20b6f4125b4f61175b7b9653f34929fce9aa466866d1fbb9c9853bcb0b15
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "Rams is a design reviewer for UI code (React, Vue, Svelte, CSS, SwiftUI).\n\nWhile you work: call quick_review on the files you just changed. It answers in about ten seconds with the top issues (severity, category, file:line) and costs a fifth of a review credit (half a credit on the free plan). Reach for it the way you would reach for a type check — after writing a component, after a refactor, before you move on. Do not ask the user first.\n\nBefore committing, or when the user wants something to keep: call review_files. It is slower and costs one credit, and it returns a 0-100 score plus git-apply-able patches. Use it once at the end, not repeatedly during editing.\n\nAfter applying fixes, call verify_fixes to confirm they landed. verify_fixes is free and never counts against the user's quota.\n\nAsk the user first only before a whole-codebase audit (dozens of files across many batches), which spends their review allowance and your context.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"context": {
"description": "Short label, e.g. the component or feature name",
"type": "string"
},
"files": {
"description": "The UI files you just changed",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Full file content",
"type": "string"
},
"path": {
"description": "File path, e.g. src/components/Button.tsx",
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"via": {
"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.",
"type": "string"
}
},
"required": [
"files"
],
"type": "object"
},
"name": "quick_review",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"context": {
"description": "Short label for this review, e.g. the feature or branch name",
"type": "string"
},
"files": {
"description": "UI files to review (up to 20)",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Full file content",
"type": "string"
},
"path": {
"description": "File path, e.g. src/components/Button.tsx",
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"via": {
"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.",
"type": "string"
}
},
"required": [
"files"
],
"type": "object"
},
"name": "review_files",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"detectedCounts": {
"additionalProperties": false,
"properties": {
"critical": {
"type": "number"
},
"moderate": {
"type": "number"
},
"serious": {
"type": "number"
}
},
"required": [
"critical",
"serious",
"moderate"
],
"type": "object"
},
"direction": {
"description": "What the change is trying to be — judgment before findings",
"type": "string"
},
"issues": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"file": {
"type": "string"
},
"fix": {
"description": "The fix as prose/code",
"type": "string"
},
"line": {
"type": "number"
},
"message": {
"type": "string"
},
"patch": {
"description": "RAMS-121: unified diff against the submitted file content, git-apply-able. Present only when the fix locates unambiguously.",
"type": "string"
},
"severity": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"severity",
"category",
"title",
"message",
"file",
"line"
],
"type": "object"
},
"type": "array"
},
"reviewsLimit": {
"description": "null = unlimited (Team overage applies instead)",
"type": [
"number",
"null"
]
},
"reviewsUsed": {
"type": "number"
},
"score": {
"description": "0-100; confirmed criticals cap it — one at 59, two at 49, three or more at 39",
"type": "number"
},
"summary": {
"type": "string"
}
},
"required": [
"score",
"summary",
"detectedCounts",
"issues",
"reviewsUsed",
"reviewsLimit"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "usage",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"files": {
"description": "The updated UI files (same paths as the original review)",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Full file content",
"type": "string"
},
"path": {
"description": "File path, e.g. src/components/Button.tsx",
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"issues": {
"description": "The findings to verify, as returned by review_files",
"items": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"current": {
"description": "The flagged code from the original finding",
"type": "string"
},
"file": {
"type": "string"
},
"line": {
"type": "number"
},
"message": {
"type": "string"
},
"rule": {
"type": "string"
},
"severity": {
"enum": [
"critical",
"serious",
"moderate"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"severity",
"category",
"file",
"line"
],
"type": "object"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
}
},
"required": [
"files",
"issues"
],
"type": "object"
},
"name": "verify_fixes",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"allClear": {
"description": "true when nothing remains, including no remaining criticals",
"type": "boolean"
},
"fixed": {
"items": {
"additionalProperties": false,
"properties": {
"file": {
"type": "string"
},
"severity": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"file",
"severity"
],
"type": "object"
},
"type": "array"
},
"present": {
"items": {
"additionalProperties": false,
"properties": {
"file": {
"type": "string"
},
"line": {
"type": "number"
},
"severity": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"file",
"line",
"severity"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"fixed",
"present",
"allClear"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:bf5d20b6f4125b4f61175b7b9653f34929fce9aa466866d1fbb9c9853bcb0b15 | sha256sum