Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted just now
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:bf5d20b6f4125b4f61175b7b9653f34929fce9aa466866d1fbb9c9853bcb0b15 | sha256sum