Skip to main content

MCP server for the Stacklet environment

Project description

Stacklet MCP Server

This is the MCP (Model Context Protocol) server for the Stacklet environment. It exposes toolsets for granting LLMs the powers of:

  • AssetDB SQL queries (ad-hoc and saved)
  • Platform GraphQL operations (and export of large datasets)
  • Documentation access (in .md, for context)

Each of the toolsets has an "info" tool with useful context, available to any client which supports minimal MCP features. Asking your agent to tell you about a toolset is a fairly reliable way to get it to call the info tool and load up its context with relevant information.

WARNING: most Stacklet installations contain confidential data; this server largely exists to feed that data to your agent's LLM, which is generally running in a datacenter Somewhere. Be very confident in your understanding of all relevant data security policies before running this server.

FURTHER WARNING: when running with default settings, the worst an LLM can do with this server is make ill-advised queries, which is often regrettable but generally no worse than a well-intentioned human user might do.

By enabling the _ALLOW_ options documented below, you are granting an LLM free rein to do anything you could do with Stacklet; doing so naturally bears risks proportional to your own level of access. Strongly consider authenticating as a custom Stacklet user with permissions tightly scoped to your task as an additional safeguard.

Installation

The easiest way to get the stacklet-mcp binary is via pip or uv, with

pip install stacklet-mcp

or

uv tool install stacklet-mcp

Once installed, an agent configuration file (.mcp.json) can be generated with

stacklet-mcp agent-config generate $profile

where $profile can be either default (no edit allowed) or unrestricted (all edits allowed). The configuration can be manually tweaked to just allow some edits.

Authentication

The MCP server needs to be authenticated wtih the Stacklet environment before use. The easiest way to authenticate to your Stacklet environment is to use the stacklet-admin command, which is most easily installed with:

uv tool install stacklet.client.platform

Once you've configured that, a

stacklet-admin login

will grant the MCP server access as the authenticated user for twelve hours. Leaving aside the default blocks on saving queries and mutating platform, the server will have the same powers and restrictions as that user.

Server configuration

The MCP server can be configured via environment variables.

When the MCP is run from an agent, those can be set in the "env" section of the .mcp.json file.

The following variables are available:

  • STACKLET_MCP_DOWNLOADS_PATH: directory for storing query result files (default: system temp directory)
  • STACKLET_MCP_ASSETDB_DATASOURCE: the datasource ID for AssetDB in Redash (default: 1)
  • STACKLET_MCP_ASSETDB_ALLOW_SAVE: whether to enable write operations in AssetDB (default: false)
  • STACKLET_MCP_ASSETDB_ALLOW_ARCHIVE: whether to enable query archiving functionality in AssetDB (default: false)
  • STACKLET_MCP_PLATFORM_ALLOW_MUTATIONS: whether to enable executing mutations in Platform API (default: false)

Development

For development, a few setup steps are required:

  1. install required tools. The easiest way is through Mise:
mise install
  1. install dependencies via
just install

This will also create a default.mcp.json (so long as there's nothing there already) with default read-only settings, which enables convenient experimentation by running e.g. Claude Code) in the project root without risk of altering saved AssetDB queries or running Platform mutations.

For alternative integrations, the .mcp.json file should serve as a starting point, but the details may vary by context; the best documentation for the format itself seems to be here.

  1. Authenticate to the deployment as described above.

  2. Run the MCP server with

just run [options...]

Inspect MCP protocol

The MCP Protocol Inspector is invaluable for peeking at the details of the protocol in use. It can be run via

just inspect

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stacklet_mcp-0.1.1.tar.gz (107.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stacklet_mcp-0.1.1-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

Details for the file stacklet_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: stacklet_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 107.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stacklet_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4f07a695e9063df95a820d4a78d5c034db2945ad97d64c42de992abc49197276
MD5 d763c63b0aed93dc822834ce0e7051f1
BLAKE2b-256 3fbea82da210a21d131db88d45432eb428ff06a2bee2fdff731386ec1cd52fa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for stacklet_mcp-0.1.1.tar.gz:

Publisher: release.yml on stacklet/mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stacklet_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: stacklet_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 41.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stacklet_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd42dda69f7bcdda5f5ab6c5366dccec000c337e75ba919588b98491c4614da5
MD5 d39db7489a80e5bf529fc69dfd0ba7af
BLAKE2b-256 53ea7796dd5e211348a662eeb267200f0cdb242cdade932a3cea7c969231b648

See more details on using hashes here.

Provenance

The following attestation bundles were made for stacklet_mcp-0.1.1-py3-none-any.whl:

Publisher: release.yml on stacklet/mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page