diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a29e41b5..a24fa625 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,6 +19,7 @@ on: - 'SECURITY.md' - 'AGENTS.md' - 'CLAUDE.md' + - 'server.json' pull_request: branches: - main @@ -35,6 +36,7 @@ on: - 'SECURITY.md' - 'AGENTS.md' - 'CLAUDE.md' + - 'server.json' env: GOTESTCMD: "go test -timeout 1200s --tags \"sqlite_stackql\" -v ./..." TESTSCRIPT: "test/deprecated/python/main.py" diff --git a/README.md b/README.md index decf1f5a..31e9ee2c 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ [stars]: https://img.shields.io/github/stars/stackql/stackql?style=flat-square "GitHub Stars" [forks]: https://img.shields.io/github/forks/stackql/stackql?style=flat-square "GitHub Forks" [contributors]: https://img.shields.io/github/contributors/stackql/stackql?style=flat-square "Contributors" +[mcpregistrybadge]: https://img.shields.io/badge/MCP%20Registry-io.github.stackql%2Fstackql--mcp-blue?style=flat-square "MCP Registry" [issues]: https://github.com/stackql/stackql/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D [features]: https://github.com/stackql/stackql/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=%5BFEATURE%5D @@ -36,6 +37,8 @@ [lightmodeterm]: /docs/images/stackql-dark-term.gif#gh-light-mode-only [twitter]: https://twitter.com/stackql +[mcpregistry]: https://registry.modelcontextprotocol.io/?search=stackql +[mcpdocs]: https://stackql.io/docs
@@ -44,6 +47,7 @@ ![platforms] ![license] ![build] +[![MCP Registry][mcpregistrybadge]][mcpregistry] ![stars] ![forks] ![contributors] @@ -83,6 +87,7 @@ Contents
  1. About The Project
  2. +
  3. MCP Server
  4. Installation
  5. Usage
  6. @@ -139,6 +144,93 @@ More detailed design documentation can be found in the [here][designdocs]. +## MCP Server + +StackQL is an [MCP](https://modelcontextprotocol.io) server - SQL over 40+ cloud and SaaS providers for AI agents. Point any MCP-capable client (Claude, VS Code, Cursor, etc.) at StackQL and it can query and provision cloud resources using SQL. + +Run it over stdio: + +```sh +stackql mcp --mcp.server.type=stdio +``` + +StackQL MCP is published to the [Official MCP Registry][mcpregistry] as `io.github.stackql/stackql-mcp` and distributed via npm, PyPI, Docker, a GitHub Action and `.mcpb` bundles. Pick an install vector and add the matching block to your MCP client config: + +
    +npm (npx) + +```json +{ + "mcpServers": { + "stackql": { + "command": "npx", + "args": ["-y", "@stackql/mcp-server"] + } + } +} +``` + +
    + +
    +PyPI (uvx) + +```json +{ + "mcpServers": { + "stackql": { + "command": "uvx", + "args": ["stackql-mcp-server"] + } + } +} +``` + +
    + +
    +Docker + +```json +{ + "mcpServers": { + "stackql": { + "command": "docker", + "args": ["run", "-i", "--rm", "stackql/stackql-mcp"] + } + } +} +``` + +
    + +
    +.mcpb bundle + +> Download the bundle for your platform from the [latest release](https://github.com/stackql/stackql/releases/latest) and install it in your MCP client (one-click in clients that support `.mcpb`). + +- `stackql-mcp-linux-x64.mcpb` +- `stackql-mcp-linux-arm64.mcpb` +- `stackql-mcp-windows-x64.mcpb` +- `stackql-mcp-darwin-universal.mcpb` + +
    + +
    +GitHub Actions + +> Wire StackQL MCP into agentic CI workflows. Defaults to `read_only` mode, the safe default for CI. + +```yaml +- uses: stackql/setup-stackql-mcp@v1 + with: + mode: read_only +``` + +
    + +For client-specific setup, authentication and server modes, see the [full MCP install and usage docs][mcpdocs]. + ## Installation StackQL is available for Windows, MacOS, Linux, Docker, GitHub Actions and more. See the installation instructions below for your platform. diff --git a/server.json b/server.json new file mode 100644 index 00000000..487e65c6 --- /dev/null +++ b/server.json @@ -0,0 +1,68 @@ +{ + "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", + "name": "io.github.stackql/stackql-mcp", + "title": "StackQL MCP Server", + "description": "SQL-native query and provisioning engine for cloud infrastructure, served over MCP.", + "websiteUrl": "https://stackql.io", + "repository": { + "url": "https://github.com/stackql/stackql", + "source": "github" + }, + "version": "0.10.500.2", + "packages": [ + { + "registryType": "mcpb", + "identifier": "https://github.com/stackql/stackql/releases/download/v0.10.500/stackql-mcp-linux-x64.mcpb", + "version": "0.10.500", + "fileSha256": "6615737747156b1a8413a976afb23af2e7eec29ebc98a6f0a0f65d1b153c44be", + "transport": { "type": "stdio" } + }, + { + "registryType": "mcpb", + "identifier": "https://github.com/stackql/stackql/releases/download/v0.10.500/stackql-mcp-linux-arm64.mcpb", + "version": "0.10.500", + "fileSha256": "594bedbabc3096dc3563c907724e845ce0b61a67de4b3fed4158b40c0363786c", + "transport": { "type": "stdio" } + }, + { + "registryType": "mcpb", + "identifier": "https://github.com/stackql/stackql/releases/download/v0.10.500/stackql-mcp-windows-x64.mcpb", + "version": "0.10.500", + "fileSha256": "d2ce895e88f9c6b557df07073158629808f56d75598f3a701164d65506b791b0", + "transport": { "type": "stdio" } + }, + { + "registryType": "mcpb", + "identifier": "https://github.com/stackql/stackql/releases/download/v0.10.500/stackql-mcp-darwin-universal.mcpb", + "version": "0.10.500", + "fileSha256": "4eed70af5cfa67295ae0b42fa3a6dca71ac9acabd0d67914fd96ad1247a9b4cc", + "transport": { "type": "stdio" } + }, + { + "registryType": "oci", + "identifier": "docker.io/stackql/stackql-mcp:0.10.500", + "transport": { "type": "stdio" } + }, + { + "registryType": "npm", + "registryBaseUrl": "https://registry.npmjs.org", + "identifier": "@stackql/mcp-server", + "version": "0.10.500", + "transport": { "type": "stdio" } + }, + { + "registryType": "pypi", + "registryBaseUrl": "https://pypi.org", + "identifier": "stackql-mcp-server", + "version": "0.10.500", + "transport": { "type": "stdio" } + } + ], + "_meta": { + "io.modelcontextprotocol.registry/publisher-provided": { + "tool": "stackql-mcpb-packaging", + "homepage": "https://stackql.io", + "documentation": "https://stackql.io/docs" + } + } +}