SQL Sentinel MCP Server
OCI · GHCR.IO/TKMAWARIRE/SQL-SENTINEL-MCP · 2 COMPONENTS · SCANNED SEP 20
SQL Server monitoring and diagnostics for AI agents using Extended Events. No ODBC drivers required.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 207 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability76
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3785 tokens (~122/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety81
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "sqlsentinel_memory_purge" implies "purge" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the SQL Sentinel MCP Server server?
SQL Sentinel MCP Server runs locally as a container image, launched with docker run --rm -i ghcr.io/tkmawarire/sql-sentinel-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/tkmawarire/sql-sentinel-mcp
claude mcp add tkmawarire-sql-sentinel -- docker run --rm -i ghcr.io/tkmawarire/sql-sentinel-mcp
{
"mcpServers": {
"tkmawarire-sql-sentinel": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/tkmawarire/sql-sentinel-mcp"
]
}
}
} {
"servers": {
"tkmawarire-sql-sentinel": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/tkmawarire/sql-sentinel-mcp"
]
}
}
} codex mcp add tkmawarire-sql-sentinel -- docker run --rm -i ghcr.io/tkmawarire/sql-sentinel-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tkmawarire-sql-sentinel": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/tkmawarire/sql-sentinel-mcp"
],
"enabled": true
}
}
} mcp_servers:
tkmawarire-sql-sentinel:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/tkmawarire/sql-sentinel-mcp"] {
"McpServers": {
"tkmawarire-sql-sentinel": {
"Transport": "stdio",
"Command": "docker",
"Arguments": [
"run",
"--rm",
"-i",
"ghcr.io/tkmawarire/sql-sentinel-mcp"
]
}
}
} {
"mcpServers": {
"tkmawarire-sql-sentinel": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/tkmawarire/sql-sentinel-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 −2
- Stability: pass → 0.83 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed oci/ghcr.io/tkmawarire/sql-sentinel-mcp
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
sqlsentinel_analyze_sequence ~211
Analyze the sequence and timing of queries for a specific operation. Perfect for understanding what queries run during a specific user action, API call, or business operation. Shows queries in execution order with cumulative timing and gaps between queries. Use correlationId to track queries containing a specific identifier (e.g., order ID, request ID), or sessionId to follow a specific database connection (SPID).
| Name | Type | Req | Description |
|---|---|---|---|
| correlationId | string | yes | Text to search for in queries (e.g., order ID, request ID) (Default value: null) |
| endTime | string | yes | Analysis window end (ISO format) (Default value: null) |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| sessionId | integer | yes | Specific SPID/session_id to track (Default value: null) |
| sessionName | string | yes | Name of the profiling session |
| startTime | string | yes | Analysis window start (ISO format) (Default value: null) |
No output schema declared.
No examples provided.
sqlsentinel_check_permissions ~76
Check if the current SQL Server login has the required permissions for profiling. Required permissions for SQL Sentinel: - ALTER ANY EVENT SESSION: Create, modify, and drop Extended Events sessions - VIEW SERVER STATE: Read from ring buffer targets and DMVs Returns the current permission status and provides GRANT statements if permissions are missing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sqlsentinel_create_session ~396
Create a new SQL Server profiling session using Extended Events. This creates a server-side event session that captures SQL queries, stored procedure calls, and other database events with minimal overhead (~1-2%). The session is created but NOT started. Use sqlsentinel_start_session to begin capture.
| Name | Type | Req | Description |
|---|---|---|---|
| applications | string | yes | Filter to specific application names from connection string (comma-separated). Empty = all apps. (Default value: null) |
| databases | string | yes | Filter to specific database names (comma-separated). Empty = all databases. (Default value: null) |
| eventTypes | string | yes | Event types to capture (comma-separated). Options: SqlBatchCompleted, RpcCompleted, SqlStatementCompleted, SpStatementCompleted, Attention, ErrorReported, Deadlock, BlockedProcess, LoginEvent, Schema… |
| excludeNoise | boolean | yes | Auto-exclude common noise (sp_reset_connection, SET statements, etc.). Default true. (Default value: true) |
| excludePatterns | string | yes | Additional regex patterns to exclude (comma-separated). (Default value: null) |
| hosts | string | yes | Filter to specific client hostnames (comma-separated). Empty = all hosts. (Default value: null) |
| logins | string | yes | Filter to specific SQL logins (comma-separated). Empty = all users. (Default value: null) |
| minDurationMs | integer | yes | Minimum query duration in milliseconds. Use to filter out fast queries. Default 0 = all. (Default value: 0) |
| ringBufferMb | integer | yes | Ring buffer size in MB. Larger = more events but more memory. Default 50. (Default value: 50) |
| sessionName | string | yes | Unique name for this session (alphanumeric + underscore, e.g. 'debug_checkout') |
No output schema declared.
No examples provided.
sqlsentinel_create_table ~41
Creates a new table in the SQL Server database. Expects a valid CREATE TABLE SQL statement.
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | CREATE TABLE SQL statement |
No output schema declared.
No examples provided.
sqlsentinel_describe_table ~54
Returns detailed schema information for a table including columns, indexes, constraints, and foreign keys.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Table name, optionally schema-qualified (e.g., 'dbo.Users' or 'Users') |
No output schema declared.
No examples provided.
sqlsentinel_drop_session ~56
Drop a profiling session and discard all captured events. WARNING: This permanently deletes all captured events. Retrieve any needed data with sqlsentinel_get_events before dropping.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionName | string | yes | Name of the profiling session |
No output schema declared.
No examples provided.
sqlsentinel_drop_table ~40
Drops a table from the SQL Server database. Expects a valid DROP TABLE SQL statement.
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | DROP TABLE SQL statement |
No output schema declared.
No examples provided.
sqlsentinel_get_blocking ~123
Retrieve blocked process events captured by a profiling session. PREREQUISITE: 'blocked process threshold' must be configured on the server: EXEC sp_configure 'blocked process threshold', 5; -- triggers after 5 seconds RECONFIGURE; Sessions must include the BlockedProcess event type. Returns blocked and blocking SPID pairs with wait resources and SQL text.
| Name | Type | Req | Description |
|---|---|---|---|
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| sessionName | string | yes | Name of the profiling session |
No output schema declared.
No examples provided.
sqlsentinel_get_connection_info ~75
Get information about databases, applications, logins, active sessions, or current blocking. Useful for understanding what's connected to the server and for identifying active blocking chains.
| Name | Type | Req | Description |
|---|---|---|---|
| infoType | string | yes | What to retrieve: databases, applications, logins, sessions, blocking, or all (Default value: "all") |
No output schema declared.
No examples provided.
sqlsentinel_get_deadlocks ~99
Retrieve deadlock events captured by a profiling session. Sessions must include the Deadlock event type (maps to sqlserver.xml_deadlock_report). Returns structured deadlock information: victim process, all involved SPIDs, wait resources, lock modes, and SQL text per process.
| Name | Type | Req | Description |
|---|---|---|---|
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| sessionName | string | yes | Name of the profiling session |
No output schema declared.
No examples provided.
sqlsentinel_get_events ~352
Retrieve captured events from a profiling session with filtering. Returns query events with timing, resource usage, and metadata. Supports filtering by time, database, application, duration, and text content. When deduplicate=true (default), identical queries are grouped with execution counts.
| Name | Type | Req | Description |
|---|---|---|---|
| application | string | yes | Filter to specific application (Default value: null) |
| database | string | yes | Filter to specific database (Default value: null) |
| deduplicate | boolean | yes | Group identical queries and show counts (Default value: true) |
| endTime | string | yes | Filter events before this time (ISO format) (Default value: null) |
| limit | integer | yes | Maximum events to return (1-10000) (Default value: 100) |
| login | string | yes | Filter to specific login (Default value: null) |
| minDurationMs | integer | yes | Minimum duration in milliseconds (Default value: null) |
| offset | integer | yes | Offset for pagination (Default value: 0) |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Json") |
| sessionName | string | yes | Name of the profiling session |
| sortBy | string | yes | Sort order: TimestampAsc, TimestampDesc, DurationAsc, DurationDesc, CpuDesc, ReadsDesc (Default value: "TimestampAsc") |
| startTime | string | yes | Filter events after this time (ISO format: '2024-01-15T10:30:00') (Default value: null) |
| textContains | string | yes | Filter to queries containing this text (Default value: null) |
| textNotContains | string | yes | Exclude queries containing this text (Default value: null) |
No output schema declared.
No examples provided.
sqlsentinel_get_stats ~229
Get aggregate statistics from captured events. Provides summary metrics grouped by query fingerprint, database, application, or login. Useful for identifying slow queries, high-frequency queries, or resource-intensive operations.
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | string | yes | Analysis window end (ISO format) (Default value: null) |
| excessiveReadsThreshold | integer | yes | Flag queries with logical reads above this threshold. Default 10000. (Default value: 10000) |
| groupBy | string | yes | Group by: QueryFingerprint, Database, Application, Login, or None (Default value: "QueryFingerprint") |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| sessionName | string | yes | Name of the profiling session |
| slowQueryThresholdMs | integer | yes | Flag queries slower than this threshold (ms). Default 1000. (Default value: 1000) |
| startTime | string | yes | Analysis window start (ISO format) (Default value: null) |
| topN | integer | yes | Return top N results (Default value: 20) |
No output schema declared.
No examples provided.
sqlsentinel_get_wait_stats ~148
Query sys.dm_os_wait_stats to show what SQL Server is waiting on. This does NOT require a profiling session - it queries the server directly. Shows cumulative wait statistics since the last SQL Server restart or manual reset. Useful for identifying systemic bottlenecks. Waits are categorized as: CPU, I/O, Lock, Memory, Network, Latch, Preemptive, Other. Common benign waits (SLEEP_*, BROKER_*, background tasks) are excluded.
| Name | Type | Req | Description |
|---|---|---|---|
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| topN | integer | yes | Number of top wait types to return (Default value: 20) |
No output schema declared.
No examples provided.
sqlsentinel_grant_permissions ~104
Grant the required profiling permissions to a specified SQL Server login. IMPORTANT: The connection used must have elevated privileges (sysadmin role or CONTROL SERVER permission). Grants: - ALTER ANY EVENT SESSION: Create, modify, and drop Extended Events sessions - VIEW SERVER STATE: Read from ring buffer targets and DMVs
| Name | Type | Req | Description |
|---|---|---|---|
| targetLogin | string | yes | The SQL Server login to grant permissions to (e.g., 'app_user' or 'DOMAIN\\Username') |
No output schema declared.
No examples provided.
sqlsentinel_health_check ~198
Single diagnostic command that produces a comprehensive server health report. Pulls together: - Top 5 slowest queries (requires an active profiling session) - Recent deadlocks (if session includes Deadlock event type) - Recent blocking events (if session includes BlockedProcess event type) - Top 10 wait statistics from sys.dm_os_wait_stats - Currently active blocking chains from sys.dm_exec_requests - AI-ready insights with severity and recommendations For sessionName: pass an active or stopped session to include query/event analysis. Pass empty string to skip query analysis and only return live DMV data.
| Name | Type | Req | Description |
|---|---|---|---|
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| sessionName | string | yes | Profiling session to analyze (empty string to skip) (Default value: "") |
| slowQueryThresholdMs | integer | yes | Threshold for slow query flagging in ms (Default value: 1000) |
No output schema declared.
No examples provided.
sqlsentinel_insert_data ~35
Inserts data into a table. Expects a valid INSERT SQL statement.
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | INSERT SQL statement |
No output schema declared.
No examples provided.
sqlsentinel_list_sessions ~37
List all profiling sessions created by this MCP server. Shows session name, state (RUNNING/STOPPED), and buffer usage.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sqlsentinel_list_tables ~34
Lists all user tables in the SQL Server database. Returns schema-qualified table names (e.g., 'dbo.Users').
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sqlsentinel_memory_get_capture ~94
Get full details of a specific past capture by its ID. Returns the complete capture summary including top queries by duration, insights, diagnostic findings, and context from that profiling session. Use capture IDs from sqlsentinel_memory_list.
| Name | Type | Req | Description |
|---|---|---|---|
| captureId | string | yes | Capture ID from sqlsentinel_memory_list |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
No output schema declared.
No examples provided.
sqlsentinel_memory_list ~212
List past profiling captures stored in memory. Returns summaries of previous profiling sessions that were automatically saved when you retrieved events, stats, or ran health checks. Use this to discover what data is available from past operations without re-running them. Memory persists across server restarts and conversation compaction. Filter by server name, session name, tag, or time range.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | yes | Max results to return (default 20) (Default value: 20) |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| serverName | string | yes | Filter to specific SQL Server instance (Default value: null) |
| sessionName | string | yes | Filter to specific session name (Default value: null) |
| since | string | yes | Only show captures after this date (ISO format) (Default value: null) |
| tag | string | yes | Filter by tag (e.g., 'regression', 'deploy_v3') (Default value: null) |
No output schema declared.
No examples provided.
sqlsentinel_memory_purge ~78
Delete memory data for a specific server, or clean up expired memories. Use 'expired' as serverName to only clean up expired captures. Use a specific server name to remove all captures and query history for that server.
| Name | Type | Req | Description |
|---|---|---|---|
| serverName | string | yes | Server name to purge, or 'expired' to clean up old data |
No output schema declared.
No examples provided.
sqlsentinel_memory_query_history ~115
Get the performance history of a specific query fingerprint across all captures. Shows how a query's performance has changed over time: execution counts, average/max duration, reads, and CPU usage across multiple profiling sessions. Use this to detect performance regressions or improvements. Get query fingerprints from get_events, get_stats, or memory_search_queries.
| Name | Type | Req | Description |
|---|---|---|---|
| queryFingerprint | string | yes | Query fingerprint (SHA256 prefix from profiling results) |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
No output schema declared.
No examples provided.
sqlsentinel_memory_search_queries ~195
Search through remembered queries across all past captures. Find queries by SQL text content, database, minimum execution count, or minimum average duration. Returns query fingerprints with their cumulative statistics and performance history. Results are sorted by total duration (heaviest queries first).
| Name | Type | Req | Description |
|---|---|---|---|
| database | string | yes | Filter to queries that ran in this database (Default value: null) |
| limit | integer | yes | Max results to return (default 20) (Default value: 20) |
| minAvgDurationMs | integer | yes | Minimum average duration in milliseconds (Default value: null) |
| minExecutions | integer | yes | Minimum total executions across all captures (Default value: null) |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
| sqlContains | string | yes | Search for queries containing this text (e.g., table name, stored procedure) (Default value: null) |
No output schema declared.
No examples provided.
sqlsentinel_memory_stats ~60
Show memory system statistics: total captures, query count, disk usage, date range. Useful for understanding what historical data is available and managing storage.
| Name | Type | Req | Description |
|---|---|---|---|
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Markdown") |
No output schema declared.
No examples provided.
sqlsentinel_memory_tag ~126
Add tags or a note to a past capture for easier retrieval later. Tags help categorize captures (e.g., 'before_deploy', 'regression_test', 'production_issue'). Notes provide free-form context about what the capture was for. Tagged captures have extended retention (90 days vs 30 days default).
| Name | Type | Req | Description |
|---|---|---|---|
| captureId | string | yes | Capture ID to tag |
| note | string | yes | Free-form note about this capture (Default value: null) |
| tags | string | yes | Comma-separated tags to add (e.g., 'before_deploy,baseline') |
No output schema declared.
No examples provided.
sqlsentinel_quick_capture ~204
Create AND start a profiling session in one step. Convenience tool for rapid debugging. Creates a session with specified filters and immediately begins capture.
| Name | Type | Req | Description |
|---|---|---|---|
| applications | string | yes | Filter to specific application names (comma-separated) (Default value: null) |
| databases | string | yes | Filter to specific database names (comma-separated) (Default value: null) |
| eventTypes | string | yes | Event types to capture (comma-separated). Default: SqlBatchCompleted,RpcCompleted (Default value: null) |
| excludeNoise | boolean | yes | Auto-exclude common noise (Default value: true) |
| logins | string | yes | Filter to specific SQL logins (comma-separated) (Default value: null) |
| minDurationMs | integer | yes | Minimum query duration in milliseconds (Default value: 0) |
| ringBufferMb | integer | yes | Ring buffer size in MB (Default value: 50) |
| sessionName | string | yes | Unique name for this session |
No output schema declared.
No examples provided.
sqlsentinel_read_data ~37
Executes a SELECT query against the SQL Server database and returns the results.
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | SELECT SQL query to execute |
No output schema declared.
No examples provided.
sqlsentinel_start_session ~47
Start capturing events for an existing profiling session. The session must have been created first with sqlsentinel_create_session.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionName | string | yes | Name of the profiling session |
No output schema declared.
No examples provided.
sqlsentinel_stop_session ~51
Stop capturing events for a profiling session. Events captured so far are retained. Use sqlsentinel_drop_session to completely remove the session.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionName | string | yes | Name of the profiling session |
No output schema declared.
No examples provided.
sqlsentinel_stream_events ~223
Capture events in real-time for a specified duration. Starts a live stream on the profiling session and collects all events that occur during the capture window. Use this to observe which queries execute during a specific operation — start the stream, perform the operation, then review the captured events. The stream automatically stops after durationSeconds elapses. Events are returned sorted by timestamp with full query details.
| Name | Type | Req | Description |
|---|---|---|---|
| application | string | yes | Filter to specific application (Default value: null) |
| database | string | yes | Filter to specific database (Default value: null) |
| durationSeconds | integer | yes | How long to capture events in seconds (1-300). Default 30. (Default value: 30) |
| login | string | yes | Filter to specific login (Default value: null) |
| responseFormat | string | yes | Output format: Json or Markdown (Default value: "Json") |
| sessionName | string | yes | Name of the profiling session (must be running) |
| textContains | string | yes | Filter to queries containing this text (Default value: null) |
No output schema declared.
No examples provided.
sqlsentinel_update_data ~35
Updates data in a table. Expects a valid UPDATE SQL statement.
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | UPDATE SQL statement |
No output schema declared.
No examples provided.
What is the SQL Sentinel MCP Server server?
SQL Sentinel MCP Server is listed in the public MCP registry as io.github.tkmawarire/sql-sentinel. SQL Server monitoring and diagnostics for AI agents using Extended Events. No ODBC drivers required. This page covers its container image (ghcr.io/tkmawarire/sql-sentinel-mcp).
Is the SQL Sentinel MCP Server server safe to use?
SQL Sentinel MCP Server scores 49 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SQL Sentinel MCP Server server expose?
SQL Sentinel MCP Server exposes 31 tools: sqlsentinel_insert_data, sqlsentinel_list_tables, sqlsentinel_memory_purge, sqlsentinel_memory_stats, sqlsentinel_memory_search_queries, and 26 more. Their descriptions and schemas cost roughly 3,785 tokens of context every time the server is loaded.
Is the SQL Sentinel MCP Server server still maintained?
SQL Sentinel MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the SQL Sentinel MCP Server server under?
SQL Sentinel MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.