Agent Lsp vs StackQL MCP Server
A side-by-side look at the Agent Lsp and StackQL MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Agent Lsp for databases work as a local process; choose StackQL MCP Server for databases as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Agent Lsp when
- You need dedicated capabilities in the Databases domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You have the keys it needs:
AGENT_LSP_OUTPUT_FORMAT. - You want tools like
activate_skill, add_workspace_folder, apply_edit.
Choose StackQL MCP Server when
- You need dedicated capabilities in the Databases domain.
- You prefer a local stdio subprocess transport.
- You want tools like
describe_method, list_methods, list_providers.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Databases | Databases |
| Quality signal | 65/100 · Great | 71/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Free |
| Required env vars | AGENT_LSP_OUTPUT_FORMAT | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 163 | 1,067 |
| Directory activity | 10 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 65 | 15 |
| Full listing | View Agent Lsp | View StackQL MCP Server |
Tools & capabilities
Agent Lsp tools 65
activate_skillActivate phase enforcement for a skill workflow. Once active, tool calls are checked against the skill's phase permissions. Phases advance automatically as you call tools from later phases. Use this at the start of a skill workflow to enable safety guardrails that prevent out-of-order operations (e.g., applying edits before completing blast-radius analysis).add_workspace_folderAdd a directory to the LSP workspace, enabling cross-repo references, definitions, and diagnostics. Useful when working across a library and its consumers — after adding the consumer repo, find_references on a library function returns call sites in both repos. Requires start_lsp to have been called first. Language servers that support multi-root workspaces (gopls, rust-analyzer, typescript-language-server) will re-index the new folder automatically.apply_editApply an edit to a file. Two modes: (1) WorkspaceEdit mode: pass workspace_edit with positional changes returned by rename_symbol or format_document; (2) Text-match mode: pass file_path + old_text + new_text to find and replace text. For full function/method body replacements, consider replace_symbol_body which resolves by symbol name instead of text matching. Always call preview_edit first to verify the edit is safe.blast_radiusEnumerate all exported symbols in the specified files, resolve their references across the workspace, and partition callers into test vs non-test. Returns affected_symbols (name, file, line), test_callers (with enclosing test function names), and non_test_callers. Use before editing a file to understand blast radius. Set include_transitive=true to surface second-order callers (callers of callers). Set scope='all' to include unexported symbols for comprehensive dead code detection.callersFind all incoming callers of a function or method. Shortcut for find_callers with direction='incoming'. Use before deleting or refactoring a function to see who depends on it.close_documentClose a file in the LSP server. Use this tool when you're done with a file to free up resources and reduce memory usage. It's good practice to close files that are no longer being actively analyzed, especially in long-running sessions or when working with large codebases.commit_sessionCommit a simulation session. With apply=true, writes changes to disk and notifies LSP servers. With apply=false, returns a unified diff patch. Use after evaluate_session confirms the changes are safe.create_simulation_sessionCreate a new speculative code session for simulating edits without committing to disk. Returns a session ID. Baseline diagnostics are captured lazily on first edit per file. Use this to explore what-if scenarios before applying changes.deactivate_skillDeactivate phase enforcement for the currently active skill. Tool calls will no longer be checked against phase permissions. Call this when the skill workflow is complete or when you need to exit the workflow early.destroy_sessionDestroy a simulation session and release all resources. Call this after commit or discard to clean up. Sessions in terminal states (committed, discarded, destroyed) cannot be reused.detect_changesRun git diff to identify changed files, analyze their exported symbols via blast_radius, and return affected symbols with risk classification. Risk levels: 'high' (callers from multiple packages), 'medium' (callers from same package only), 'low' (zero non-test callers). Use before committing to understand the blast radius of uncommitted or recently committed changes.detect_lsp_serversScan a workspace directory for source languages and check PATH for the corresponding LSP server binaries. Returns detected workspace languages (ranked by prevalence), installed servers with their paths, and a suggested_config array ready to paste into the agent-lsp MCP server args. Use this to set up agent-lsp for a new project or verify your configuration.- +53 more on the listing page
StackQL MCP Server tools 15
describe_methodFull I/O contract for one method: every input with its param_type (input_required params become exact-match WHERE predicates; input_optional ones may be added) and every output field, which are the columns a SELECT or RETURNING can reference. Call it after list_methods and before the first query against a method; there is no resource-level equivalent because each method returns its own shape. Requires provider, service, resource, method.list_methodsAccess methods (HTTP operations) for a resource with their SQL verb and required params. Pick the method whose verb matches the intent and whose required params you can supply, then describe_method it. Call when composing SQL from scratch against an unfamiliar resource; not needed when executing a vetted query library template. Requires provider, service, resource.list_providersAvailable cloud/SaaS providers (top of the hierarchy). No inputs.list_registryProviders (and their versions) available in the configured registry. Distinct from list_providers, which lists only providers already pulled. Optional provider arg lists versions for that provider.list_resourcesResources under a provider.service. Requires provider and service.list_servicesServices under a provider. Requires provider.pull_providerInstall a single provider from the registry into the local approot cache. Requires provider; version is optional (latest published is pulled when empty). Writes only local cache state; no cloud control/data plane effect.query_library_getRetrieve a query library entry by id. Without params: returns the raw template, param declarations and notes (adapt from it when no exact match exists). With params: the server validates values and returns rendered SQL plus which tool to execute it with (run_select_query or run_mutation_query). Read-only, no credentials.query_library_searchSearch the curated StackQL query library by natural-language intent. Returns ranked template ids. Consult before composing SQL from scratch; follow with query_library_get, which validates params and surfaces any the index omits. Read-only, no credentials.reload_credentialsLive-reload provider credentials: re-sources the server's configured env file into the process environment, invalidates cached auth contexts, and reports resolution status for every installed provider (optional provider arg filters the report; changed field flags values that differ from before). Never returns secret values. Credentials resolve automatically at query time - never call this at session start or before queries. Call only after a query fails with a credential resolution error (fix the env file first, then reload, then retry) or when the user says credentials have been rotated or changed. If the report shows changed: false after a failure, the file was not updated - ask the user rather than retrying.run_lifecycle_operationExecute a stackql EXEC lifecycle operation (eg EXEC aws.ec2.instances.start_instances ...). Real cloud side effects. Discover available operations and required params via list_methods and describe_method. Returns {messages, timestamp}. Gated by server mode.run_mutation_queryExecute INSERT/UPDATE/REPLACE/DELETE against the provider. Real side effects. Returns {messages, timestamp}. Gated by server mode. Consult query_library_search for a vetted template before composing SQL from scratch; when the SQL came from a library entry, pass its id as source.- +3 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Agent Lsp
{
"mcpServers": {
"blackwell-systems-agent-lsp": {
"command": "uvx",
"args": [
"agent-lsp"
],
"env": {
"AGENT_LSP_OUTPUT_FORMAT": "YOUR_AGENT_LSP_OUTPUT_FORMAT_HERE"
}
}
}
}
StackQL MCP Server
{
"mcpServers": {
"stackql-mcp-server": {
"command": "npx",
"args": [
"-y",
"@stackql/mcp-server"
]
}
}
}
Frequently asked questions
Agent Lsp is categorized under Databases and uses a local stdio subprocess. StackQL MCP Server belongs to Databases and uses a local stdio subprocess. Pick Agent Lsp for databases work and StackQL MCP Server for databases.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Agent Lsp is listed as free. Auth: no auth required. StackQL MCP Server is listed as free. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add blackwell-systems-agent-lsp and stackql-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Agent Lsp has a quality signal of 65/100 (Great) with 10 views, 0 installs and 163 GitHub stars. StackQL MCP Server has 71/100 (Great) with 5 views, 0 installs and 1,067 GitHub stars.