Skip to main content
Glama
shreyakat21

mcp-github-db-server

by shreyakat21

db_execute

Execute write SQL statements (INSERT, UPDATE, DELETE, CREATE TABLE) against a local SQLite database and return the affected row count.

Instructions

Run a write statement (INSERT/UPDATE/DELETE/CREATE TABLE) against the local database. Returns affected row count.

Input Schema

NameRequiredDescriptionDefault
sqlYes
paramsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does disclose that this mutates data, operates on the local database only, and returns affected row count — useful facts. It omits transactional behavior, whether DDL like CREATE TABLE is permanent, permission requirements, and any warning that statements are irreversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with the mutation scope front-loaded and the return value second. Nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The return value is stated, which helps against no output schema, but for a destructive write tool with zero annotations and zero schema coverage the description leaves key gaps: parameter binding semantics and the safety profile of DDL statements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, so the description must carry the load and it does not: it never explains that 'sql' is the statement string or that 'params' are positional bind values. An agent must guess the shape of the params array and its binding order.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (run/write) and resource (local database) and enumerates the statement types covered (INSERT/UPDATE/DELETE/CREATE TABLE). The 'write statement' framing implicitly separates it from the read-oriented db_query sibling, though it never names that tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'write' implies reads belong to db_query, but the description never states when to use db_execute versus db_query or db_upsert_project, nor any exclusions. Usage is inferable but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.