← all servers

sqlite

v0.1.0 · 6 tools · source

[ tools: 6 ][ checks: 13 ][ latency: 5ms ]
85/100(B)
uvx mcp-server-sqlite --db-path <path>

check breakdown

Tools exposedServer exposed 6 tools.
• read_query
• write_query
• create_table
• list_tables
• describe_table
• append_insight
Input schemas validAll tools have a valid JSON-Schema input definition.
!Input schema quality5 schema-quality issue(s) across 6 tool(s).
read_query: inputSchema.additionalProperties is not set to false (extra args pass through silently)
write_query: inputSchema.additionalProperties is not set to false (extra args pass through silently)
create_table: inputSchema.additionalProperties is not set to false (extra args pass through silently)
describe_table: inputSchema.additionalProperties is not set to false (extra args pass through silently)
append_insight: inputSchema.additionalProperties is not set to false (extra args pass through silently)
Declare `required` for every schema that has properties, so agents know which params are mandatory.
Give every property a `description` and a concrete `type` (avoid bare `{}` placeholders).
Set `additionalProperties: false` on the top-level inputSchema so models can't silently pass extra, unvalidated arguments.
!Output schemasNo tools declare an outputSchema.
Optional: declare outputSchema for tools with structured results so agents can validate/parse output reliably.
Duplicate tool namesAll tool names are unique.
Tool namingAll tool names use spec-legal characters.
!Descriptions1 description issue(s) found.
list_tables: description adds nothing beyond the tool name ("List all tables in the SQLite database")
Descriptions are the model's only guide to when/how to call a tool — treat them as prompt engineering.
Describe every tool and every parameter, including units, formats, and constraints.
Each tool's description should say something the name doesn't, and should be unique to that tool.
!Tool annotationsAnnotation coverage 0% (0/30 hint fields set).
• read_query: no annotations at all
• write_query: no annotations at all
• create_table: no annotations at all
• list_tables: no annotations at all
• describe_table: no annotations at all
• append_insight: no annotations at all
Add annotations: title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint.
These let clients gate risky calls and give agents/users a friendly display name — optional but valuable.
!Tool titles6 of 6 tool(s) have no title.
• read_query: no top-level title (or annotations.title)
• write_query: no top-level title (or annotations.title)
• create_table: no top-level title (or annotations.title)
• list_tables: no top-level title (or annotations.title)
• describe_table: no top-level title (or annotations.title)
• append_insight: no top-level title (or annotations.title)
Declare a top-level `title` on each tool — it gives clients a friendly display name distinct from the machine-readable `name`.
`annotations.title` (the older location) is also accepted, but the top-level `title` field is now the spec-preferred place for it.
!Server instructionsNo top-level instructions declared.
Declare instructions to guide agents on when/how to use this server.
Return a non-empty `instructions` string in your InitializeResult — most SDKs let you set this alongside serverInfo.
Handshake + list latencytools/list responded in 5ms.
PromptsAll 1 prompt(s) are well-named and documented.
ResourcesAll 1 resource(s)/template(s) are well-described.

add the badge

Paste into your README:

[![scoremcp](https://scoremcp.dev/badge/mcp-server-sqlite)](https://scoremcp.dev/servers/mcp-server-sqlite)
[ scoremcp v0.4.0 ] [ 35 servers indexed ] [ static · side-effect-free ]