You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(mcp): MCP server in the app and the querya-mcp stdio shim #1135
MCP over JSON-RPC with the dart_mcp package (0.5.x). If it turns out too immature, a thin own implementation on the JSON-RPC code of extension_driver_session.
Tools: list_connections, list_tables, describe_table, sample_rows, run_query, explain_query on top of McpQueryService. Resource schema://<connection>.
Listens on 127.0.0.1 only, random port. Writes {port, token, pid, version} to <app data>/mcp/endpoint.json, mode 0600; deleted on shutdown (AppShutdown).
Every connection must send the token first; wrong token closes the socket. Concurrent clients allowed, each with its own session.
Shim bin/querya_mcp.dart
Reads endpoint.json, connects, sends the token, then pipes stdin/stdout both ways. No MCP parsing.
App not running / stale file: replies to initialize with an error whose message is "Querya Desktop is not running. Start it and enable the MCP server in Settings." and exits.
Built with dart compile exe for linux-x64, macos-arm64/x64, windows-x64 in release.yml, next to querya-ext-tester; shipped inside the app bundles and as release assets.
Tests
Integration: start the server in a test, run the shim as a process, call initialize, tools/list, tools/call run_query on SQLite.
Server (in the app)
dart_mcppackage (0.5.x). If it turns out too immature, a thin own implementation on the JSON-RPC code ofextension_driver_session.list_connections,list_tables,describe_table,sample_rows,run_query,explain_queryon top of McpQueryService. Resourceschema://<connection>.127.0.0.1only, random port. Writes{port, token, pid, version}to<app data>/mcp/endpoint.json, mode 0600; deleted on shutdown (AppShutdown).Shim
bin/querya_mcp.dartendpoint.json, connects, sends the token, then pipes stdin/stdout both ways. No MCP parsing.initializewith an error whose message is "Querya Desktop is not running. Start it and enable the MCP server in Settings." and exits.dart compile exefor linux-x64, macos-arm64/x64, windows-x64 inrelease.yml, next toquerya-ext-tester; shipped inside the app bundles and as release assets.Tests
initialize,tools/list,tools/call run_queryon SQLite.Part of #1133.