schema-lint-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@schema-lint-mcpvalidate schema.sql using sql-rules.json"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Schema Lint MCP
An MCP server that validates schema files against lint rules using Claude or Gemini AI.
Installation
Clone this repository
Install dependencies:
npm installBuild the project:
npm run build
Related MCP server: machinegrade-validate
Configure with Claude Code
Add this to your Claude Code settings JSON file:
{
"mcpServers": {
"schema-lint": {
"command": "node",
"args": ["/path/to/schema-lint-mcp/dist/index.js"],
"env": {
"ANTHROPIC_API_KEY": "your-anthropic-api-key-here",
"GEMINI_API_KEY": "your-gemini-api-key-here"
}
}
}
}Or use environment variables:
{
"mcpServers": {
"schema-lint": {
"command": "node",
"args": ["/path/to/schema-lint-mcp/dist/index.js"],
"env": {
"ANTHROPIC_API_KEY": "${env:ANTHROPIC_API_KEY}",
"GEMINI_API_KEY": "${env:GEMINI_API_KEY}"
}
}
}
}Usage
Once configured, you can use the validate_schema tool in Claude Code:
// Using Claude (default)
validate_schema(schemaPath: "/path/to/schema.json", rulesPath: "/path/to/rules.json")
// Using Gemini
validate_schema(schemaPath: "/path/to/schema.json", rulesPath: "/path/to/rules.json", provider: "gemini")Example Files
The examples/ directory contains sample schemas and rule sets:
Schema Files
schema.json- Example JSON schemaschema.sql- Example SQL schema with tables and relationships
Rule Sets
rules.json- Basic JSON schema validation rulessql-rules.json- General SQL best practicesschema-rules.json- Database schema structure and naming conventions (inspired by Bytebase)migration-rules.json- Database migration safety and compatibility rules (inspired by Bytebase)
Rule Categories
Schema Rules focus on:
Naming conventions (tables, columns, indexes)
Table structure requirements (primary keys, constraints)
Column definitions (types, defaults, nullability)
Index optimization
Documentation (comments)
Migration Rules focus on:
Backward compatibility
DDL safety (avoiding table locks, data loss)
DML safety (WHERE clauses, row limits)
Performance considerations
Migration hygiene (separation of concerns)
Available Tools
1 toolvalidate_schemaC
Validate a schema file against lint rules
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | AI provider to use: "claude" or "gemini" | claude |
| rulesPath | Yes | Path to the lint rules file | |
| schemaPath | Yes | Path to the schema file to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states a high-level action. It does not disclose whether the tool reads files, makes network calls, has side effects, or what the output format is. The behavior is underspecified.
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 a single, short sentence that is easy to parse. It contains no filler, though it could be more informative without becoming verbose.
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?
The description is insufficiently complete for a tool with no output schema. It does not explain what a successful validation returns, how errors are reported, or any side effects. The minimal text leaves significant gaps in understanding the tool's behavior.
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 explains all parameters. The description adds no additional meaning beyond the schema, which is acceptable but does not elevate the score above the baseline.
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 identifies the action ('Validate') and the resource ('a schema file') against 'lint rules'. The purpose is specific and unambiguous, though it does not differentiate from siblings because none are provided.
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?
No guidance is given on when to use this tool, what prerequisite steps are needed, or how it relates to other tools. The description simply states what it does without providing usage context or exclusions.
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.
1 tool update
v1.0.0- First observed
validate_schema
TDQS
With only one tool, there is no possibility of confusion between tools. The validate_schema tool has a unique and clear purpose.
The single tool name follows the verb_noun pattern consistently (validate_schema). There is no inconsistency within the set.
The server has exactly one tool, which is borderline for usability. It feels thin but could be acceptable given the narrow scope of schema validation.
The surface only provides validation, with no ability to inspect or configure lint rules. This is a significant gap for a schema linting server, as users cannot discover available rules or customize behavior.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deterministic validation for AI-generated artifacts: JSON Schema, OpenAPI response, SQL syntax.
Monitor MCP servers, API contracts and AI outputs for schema drift. Alerts on breaking changes.
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceMonitor AI output schemas and API contracts for breaking changes — validate LLM JSON responses against defined schemas on a schedule-
- AlicenseAqualityAmaintenanceValidates AI-generated artifacts (JSON, API responses, SQL) against a contract and returns a verdict.1591MIT
- AlicenseAqualityCmaintenanceEnables AI clients to validate OpenAPI specs, compare versions, detect breaking changes, and generate changelogs.4MIT
- FlicenseNot gradedqualityCmaintenanceEnables database governance for Drizzle ORM projects by inspecting schemas, linting migrations for unsafe operations, detecting schema drift, and explaining query plans with performance checks.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rebelice/schema-lint-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server