Moltline Code Review
Server Details
Risk-scan a diff, flag AI-generated-code tells, find secrets. 5 of 7 tools need no account.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Server Listing
- moltline-mcp
Available Tools
7 toolsai_code_smell_scanAi Code Smell ScanARead-onlyIdempotentInspect
Flag the tells of unreviewed AI-generated code in a source file. FREE.
Detects comments that restate the next line, leaked assistant preambles, placeholder TODOs, shipped 'Example usage' blocks, over-broad try/except that swallows errors, and auto-named identifiers. Typical input {"code": ""} returns {"reviewed_confidence": 0-100, "hits": [{"smell": "...", "evidence": ""}], "reading": "...", "note": "..."}.
Use on a full source file suspected of unreviewed machine authorship. Not on a diff (review_diff), and the result is a signal to check, not proof of authorship. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Full source text to scan, any language; paste the file contents as a single string. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that every call is read-only and idempotent, discloses error behavior (never raises protocol error, returns descriptive error object), and notes the output is a confidence signal, not definitive proof. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then enumerates smells, IO format, usage guidance, and error handling. Every sentence adds value; no fluff. Efficiently structured for an agent to quickly understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (context signals indicate present), the description still outlines return format ('reviewed_confidence', 'hits', etc.) and error format. Covers input, output, behavior, and error handling completely for a single-parameter tool with good annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'code' parameter. The description adds context: 'paste the file contents as a single string', provides typical input format, and explains what the tool looks for (list of smell types), going beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool flags indicators of unreviewed AI-generated code in a source file, lists specific smells (e.g., placeholder TODOs, over-broad try/except), and distinguishes from sibling 'review_diff' by stating it is not for diffs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use on a full source file suspected of unreviewed machine authorship. Not on a diff (review_diff)', and clarifies the result is a signal, not proof. Also explains error handling: never raises protocol error, returns an error object, so it is safe to retry after fixing input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complexity_reportComplexity ReportARead-onlyIdempotentInspect
Report structural complexity of a source file, function by function. FREE.
Measures per-function length, max nesting depth, and a cyclomatic-style branch count (if/for/while/case/&&/||/except), flagging functions too long or too deeply nested to review confidently. Typical input {"code": ""} returns {"functions": N, "detail": [{"name": ..., "start": N, "lines": N, "branches": N, "max_depth": N}], "flags": ["..."], "note": "..."}.
Use when structure rather than correctness is the question. Not for vulnerabilities (security_deep_dive). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Full source text to analyze, pasted as a single string. | |
| language | No | Optional language hint, e.g. "python" or "javascript"; "auto" (default) detects from syntax. | auto |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint: true and idempotentHint: true. The description adds important context: 'Every call is read-only and idempotent', and details the error format ('returns {"error": ...}') and retry advice. Since annotations already handle the behavioral safety profile, the description earns a high score for supplementing with error-handling specifics without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly written with no wasted sentences. It front-loads the core purpose in the first line, then provides example input/output, usage guidance, sibling differentiation, error handling, and behavioral notes—all in a compact, well-structured paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, clear output schema, strong annotations), the description is nearly complete. It covers purpose, usage, error behavior, and idempotency. Minor omission: it doesn't mention the output schema return shape beyond the example, but the presence of an output schema in the context signals reduces the need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (100%) for the two parameters. The description adds some semantic context beyond the schema by showing a typical input example ({"code": "<file contents>"}), but does not provide additional detail beyond what the schema describes for each parameter. Baseline 3 is appropriate as schema already handles the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Report structural complexity of a source file, function by function', with a specific verb ('report') and resource ('complexity of a source file'). The detail on what metrics are measured (length, nesting depth, branch count) and the flagging behavior clearly distinguishes this from siblings like 'security_deep_dive' or 'ai_code_smell_scan'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Use when structure rather than correctness is the question. Not for vulnerabilities (security_deep_dive).' It also explains error behavior and retry safety, helping the agent decide when to invoke this tool and when to choose an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reviewer_personaGet Reviewer PersonaARead-onlyIdempotentInspect
Load the Senior Reviewer persona for consistent, high-signal reviews. PREMIUM (license).
The persona is a reviewing voice that is skeptical, specific, and kind — demands evidence over vibes and blocks only on real risk. Takes no arguments. Returns {"persona": ..., "identity": ..., "rules": ["...", ...], "opening_move": "..."} ready to adopt as a system prompt.
Use to keep repeated reviews consistent in voice and rigor. Not for running a review - the scan tools do that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations: specifies error handling (never raises protocol error, returns error object), return format, idempotency, and read-only nature. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured and front-loaded. The persona description (skeptical, specific, kind) is slightly verbose but adds context. Could be trimmed without losing clarity, but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters, existing output schema, and sibling list, the description covers purpose, usage, behavioral traits, return format, error handling, and differentiation. Nothing significant is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema coverage, baseline is 4. The description adds value by stating 'Takes no arguments' and explaining error behavior for invalid input, which is relevant beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool loads the 'Senior Reviewer persona' for consistent reviews. It distinguishes itself from sibling tools by explicitly saying 'Not for running a review - the scan tools do that.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use ('keep repeated reviews consistent'), when-not-to-use ('not for running a review'), and alternatives ('scan tools'). Also mentions retry safety and license (PREMIUM).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_checklistReview ChecklistARead-onlyIdempotentInspect
Produce a focused pull-request review checklist for a language or stack. FREE.
Covers the things that actually break in production, with extra items per language. Typical input {"language": "python"} returns {"language": "python", "checklist": ["...", ...], "note": "..."}.
Use before a review, to decide what to look for. Not for reviewing actual code - pass code to review_diff or security_deep_dive. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language or stack to tailor for: "python", "javascript", "typescript", "go", "sql", or "general" (default). Unknown values fall back to the general checklist. | general |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and non-destructive nature. The description adds valuable context beyond that: it explains the error behavior ('never raises a protocol error — it returns {"error": ...}'), confirms safety for retry, and notes it is free to use ('FREE'). This fully discloses the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is remarkably concise at three short paragraphs. It front-loads the key purpose and a notable feature ('FREE.'), then efficiently covers usage, alternatives, error handling, and safety. Every sentence adds distinct value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 optional parameter, no required fields) and the presence of both input and output schemas, the description is complete. It explains the expected input, the output structure (with a concrete example), error handling, and fallback behavior. There are no missing elements needed for an agent to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the 'language' parameter well. The description adds value by giving a concrete example of the input and returned structure, as well as explaining fallback behavior for unknown values. The baseline is 3; the additional context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb ('Produce') and a clear resource ('pull-request review checklist'). It explicitly distinguishes itself from sibling tools like 'review_diff' and 'security_deep_dive' by clarifying its role is to guide the reviewer on what to look for, not to analyze actual code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Use before a review, to decide what to look for.' It also explicitly states when not to use this tool ('Not for reviewing actual code') and names specific alternatives ('pass code to review_diff or security_deep_dive'). This gives the agent clear decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_diffReview DiffARead-onlyIdempotentInspect
Risk-scan a unified diff the way a senior reviewer triages a PR. FREE.
Flags added lines matching known risk patterns — injection sinks, disabled TLS, bare excepts, debug prints, TODOs, N+1 hints, leaked secrets — with the new-file line number and a severity (1 low - 4 high). Typical input {"diff": ""} returns {"added_lines": N, "risk_score": 0-100, "verdict": "...", "secrets": [...], "findings": [{"line": N, "severity": 1-4, "issue": "...", "code": "..."}], "note": "..."}.
Use on a unified diff, when only the change matters. Not for whole-file analysis (complexity_report, ai_code_smell_scan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | A unified diff exactly as produced by `git diff` — text with @@ hunk headers and +/- line prefixes. Only added (+) lines are scanned. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's job is to add context beyond those. It explicitly states 'Every call is read-only and idempotent,' which reinforces the annotations. More importantly, it details error behavior ('never raises a protocol error — it returns {"error": ...}') and describes the scanning scope ('Only added (+) lines are scanned'), which are behavioral traits not captured by annotations. A slight deduction because it does not mention any rate limits, cost implications, or auth requirements, though for a non-destructive, free tool this is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (about 10 sentences) yet rich in information. It front-loads the core purpose in the first line, then efficiently covers scope, risk patterns, example usage, when-to-use vs not, and error behavior. No sentence is wasted — each adds distinct value. The use of bold and bullet-like lists in the output format description enhances readability without extra words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 1 parameter with 100% schema coverage, comprehensive annotations, and an output schema (evident from detailed output description), the description covers all important aspects: purpose, sibling differentiation, error handling, idempotence, and input constraints. The only minor gap is that it does not explicitly list all supported output fields individually, but the output schema presumably handles that. For a tool of this complexity, no additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required parameter 'diff' described as 'A unified diff exactly as produced by git diff — text with @@ hunk headers and +/- line prefixes. Only added (+) lines are scanned.' This is already quite complete. The description adds value by showing a typical usage example ('{"diff": "<git diff output>"}') and explaining how only added lines are scanned, which augments the schema description. It could be a 5 if it also described optional parameters or edge cases in input formatting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Risk-scan a unified diff the way a senior reviewer triages a PR,' providing a specific verb ('risk-scan') and resource ('a unified diff'). It clearly distinguishes this tool from siblings like complexity_report and ai_code_smell_scan by focusing on changes only and listing specific risk patterns it flags (injection sinks, disabled TLS, etc.). The description also explains what input is expected and what output format to expect, leaving no ambiguity about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Use on a unified diff, when only the change matters.' It directly states when not to use it ('Not for whole-file analysis') and names two sibling alternatives (complexity_report, ai_code_smell_scan) for those scenarios. Additionally, it explains error handling ('never raises a protocol error — it returns {"error": ...}') and safety profile ('read-only and idempotent, safe to retry'), which informs proper usage patterns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
secret_scanSecret ScanARead-onlyIdempotentInspect
Scan text for accidentally-committed machine credentials and private-key material. FREE.
Reports each match's location and category so it can be rotated before it leaks. Detection is pattern-based over the common leaked-credential formats; it never echoes the matched value back. Typical input {"text": "<file, diff, or config contents>"} returns {"leaked": bool, "count": N, "findings": [{"line": N, "type": ""}], "note": "..."}.
Pattern matching only - a clean result is not proof, and every hit needs human confirmation before anyone acts on it. Not a general security review (security_deep_dive). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The file, diff, or config contents to scan, pasted as a single string. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With comprehensive annotations (readOnlyHint, idempotentHint, destructiveHint) already declaring safe read-only/idempotent behavior, the description adds important nuance: pattern-based detection, never echoes matched values, clean result is not proof, errors return structured messages rather than protocol errors. This provides behavioral context beyond annotations. The only small gap: does not mention rate limits or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is packed with useful information but could be slightly more structured. Front-loaded with purpose, then free cost, then behavior/limitations, then error handling/safety. Every sentence adds value. Minor length is justified given the number of important behavioral clarifications.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (security tool with caveats), single non-enum parameter, and the presence of an output schema, the description covers: purpose, input format, output structure, limitations, error behavior, safety properties, and alternatives. Could be improved by listing a concrete example value for the type field categories.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter, so the schema already documents the parameter. The description adds value by providing a concrete example input/output format, stating what kind of string to pass (file, diff, or config contents), and clarifying the result structure. This goes beyond the schema's minimal type description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans text for accidentally-committed machine credentials and private-key material, specifying verb 'scan', resource 'text', and purpose. It distinguishes from sibling 'security_deep_dive' by explicitly noting this is not a general security review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use context (scanning for leaked credentials), what it does not replace (not proof, needs human confirmation, not a general security review), and explicitly names the alternative sibling tool 'security_deep_dive'. Also tells the agent it is safe to retry after correcting input errors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_deep_diveSecurity Deep DiveARead-onlyIdempotentInspect
Run an OWASP-oriented security pass over a source file. PREMIUM (license).
Checks injection sinks, auth/session handling, crypto misuse, SSRF/deserialization, and unsafe file/path handling — each finding cites the line, the OWASP risk class, and a concrete fix direction. Typical input {"code": ""} returns {"issues": N, "findings": [{"line": N, "class": "A03 Injection", "fix": "...", "code": "..."}], "owasp_note": "..."}.
Use on one source file when vulnerabilities are the question. Not for style or structure (complexity_report), and never a substitute for a security professional on high-risk code. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Full source text to audit, pasted as a single string; any common language. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces these with 'Every call is read-only and idempotent' and expands on error behavior: 'never raises a protocol error — it returns {"error": "..."}'. This adds practical behavioral context beyond the annotations, covering safety and error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured in clear, well-organized paragraphs: purpose, capabilities, output format, usage guidance, and error behavior. Every sentence adds meaningful information without redundancy. Despite being multi-paragraph, it is efficiently front-loaded with the core action and quickly orients the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter and an existing output schema, the description covers all necessary aspects: input format, output structure (with example), error handling, usage constraints, and safety guarantees. The mention of OWASP classes and fix direction provides a clear picture of what the tool returns. No gaps are evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has only one parameter, 'code', with 100% schema description coverage. The description adds meaning by providing a concrete example of typical input ('{"code": "<file contents>"}') and clarifies that the input expects 'Full source text to audit, pasted as a single string; any common language.' This goes beyond the schema's brief description by giving usage context and format expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool runs an 'OWASP-oriented security pass over a source file' and lists specific vulnerability categories (injection, auth, crypto, SSRF, file handling). It distinguishes from siblings by noting it is not for 'style or structure (complexity_report)' and implicitly differentiates from secret_scan and ai_code_smell_scan. The verb-resource combination is clear and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises 'Use on one source file when vulnerabilities are the question' and explicitly states when not to use it: 'Not for style or structure (complexity_report), and never a substitute for a security professional on high-risk code.' This provides clear context for tool selection and excludes alternative uses, giving the agent actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
- First observed
ai_code_smell_scan - First observed
complexity_report - First observed
get_reviewer_persona - First observed
review_checklist - First observed
review_diff - First observed
secret_scan - First observed
security_deep_dive
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Security reviews for coding agents: diffs checked against your org policy and live infrastructure.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Deep security scans of repos you own from your editor: dependency CVEs, SAST, git-history secrets.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAI-powered security scanner for Python projects and GitHub repositories. Detects vulnerabilities, secrets, and provides AI risk assessment.11MIT
- FlicenseDqualityCmaintenanceEnables AI agents to perform security audits on pull request diffs by detecting secrets, dangerous code patterns, and new dependencies, outputting structured JSON for generating PR review comments.1-
- AlicenseNot gradedqualityBmaintenanceLocal-first security check for AI coding agents — finds hardcoded secrets, exposed .env files, git-history leaks and vulnerable dependencies (OSV), entirely on your machine. Ask your agent "is this safe to ship?" and get a Launch Readiness score with a fix for every finding.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered, zero-trust code review with multiple models, supporting single files, git diffs, and multiple files, with security, performance, and architecture checks across 10+ languages.13MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct analysis area: AI-generated code smells, structural complexity, reviewer persona, review checklist, diff risk scanning, secret scanning, and OWASP security deep dive. Even though review_diff and security_deep_dive both touch security, one is diff-based and the other is full-file, and descriptions clarify the difference.
All names use snake_case, but there is a mix of verb-first (ai_code_smell_scan, get_reviewer_persona, secret_scan) and noun-first (complexity_report, review_checklist, review_diff, security_deep_dive) patterns. This is mostly consistent but the verb usage varies (scan, get, report, checklist, dive).
7 tools is well-scoped for a code review analysis server. Each tool serves a specific purpose without overlap, covering multiple angles (AI smells, complexity, security, secrets, diff review, checklist, persona) without being overwhelming.
The tool set covers essential static analysis tasks for code review: structural, security, secret detection, and AI-generated code detection. It also provides supporting tools (checklist, persona). A minor gap is the lack of an integrated tool that produces a consolidated review summary or comment generation from findings.