> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dotbot.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Stack and workflow MCP tools reference

> Reference for the scoped MCP tools that load only when a specific stack or workflow is installed - dotnet stack tools, start-from-jira tools, and start-from-pr tools.

dotbot's core MCP tools are always available. The tools on this page are scoped - each group loads only when its parent stack or workflow is installed in the project. If the stack or workflow is not present, these tools are not registered and will not appear in the agent's tool list.

***

## dotnet stack

These tools load when the `dotnet` stack is installed. They provide database access, deployment control, log viewing, and production container management for .NET projects.

### `dev_db`

Queries the project's SQLite database in read-only mode. Omitting `query` and `table` lists all tables. Takes no required parameters.

<ParamField path="environment" type="string" default="dev">
  Environment to query. One of `dev` (local) or `prod` (VPS).
</ParamField>

<ParamField path="query" type="string">
  SQL query to execute. Read-only. Omit to list all tables.
</ParamField>

<ParamField path="table" type="string">
  Shorthand to query a single table (`SELECT * FROM table LIMIT n`). Used instead of `query` for simple table reads.
</ParamField>

<ParamField path="limit" type="integer" default="20">
  Row limit for `table` queries.
</ParamField>

***

### `dev_deploy`

Triggers a production deployment after verifying that the git state is clean and pushed. Auto-increments the project version before deploying. Takes no required parameters.

<ParamField path="bump" type="string" default="patch">
  Version bump type. One of `major`, `minor`, `patch`. Defaults to `patch`.
</ParamField>

***

### `dev_logs`

Views logs from the deployed application instance. Takes no required parameters.

<ParamField path="environment" type="string" default="dev">
  Environment to view logs from. One of `dev` (local) or `prod` (VPS).
</ParamField>

<ParamField path="type" type="string" default="both">
  Log source. One of `docker` (container stdout/stderr), `app` (file logs), or `both`.
</ParamField>

<ParamField path="lines" type="integer" default="50">
  Number of lines to display.
</ParamField>

<ParamField path="follow" type="boolean" default="false">
  When `true`, streams logs in real time.
</ParamField>

<ParamField path="logLevel" type="array of strings">
  Filter by log level. Accepted values: `Debug`, `Information`, `Warning`, `Error`, `Fatal`. Omit to show all levels.
</ParamField>

***

### `dev_release`

Starts the development environment in Release mode for local production testing. Takes no parameters.

***

### `prod_start`

Starts the production container on the VPS. If the container is already running, it is stopped first before restarting. Takes no required parameters.

<ParamField path="pull" type="boolean" default="false">
  When `true`, pulls the latest image before starting the container.
</ParamField>

***

### `prod_stop`

Stops the production container on the VPS. Takes no required parameters.

<ParamField path="force" type="boolean" default="false">
  When `true`, stops the container immediately without a graceful shutdown.
</ParamField>

***

## start-from-jira workflow

These tools load when the `start-from-jira` workflow is installed. They support the research and repository setup phase that happens before implementation begins.

### `atlassian_download`

Downloads attachments from a Jira issue and its child issues, and from any linked Confluence pages. Files are saved to `briefing/docs/` with consistent naming. Returns a manifest of downloaded files. **Required:** `jira_key`.

<ParamField path="jira_key" type="string" required>
  Jira issue key (e.g. `PROJ-1234`). The tool also scans child issues and linked Confluence pages.
</ParamField>

<ParamField path="target_dir" type="string">
  Target directory relative to the project root. Defaults to `.bot/workspace/product/briefing/docs`.
</ParamField>

***

### `repo_clone`

Clones a repository from Azure DevOps, creates an initiative branch, and configures NuGet authentication. Returns the clone path, default branch, and working branch name. **Required:** `project`, `repo`.

<ParamField path="project" type="string" required>
  Azure DevOps project name (e.g. `Platform`, `Services`).
</ParamField>

<ParamField path="repo" type="string" required>
  Repository name (e.g. `OrderService`).
</ParamField>

***

### `repo_list`

Lists all cloned repositories in `repos/` with their status - clone state, branch information, and analysis state. Takes no parameters.

***

### `research_status`

Checks research artefact completeness: which briefing files exist, which are missing, and the overall research progress. Takes no parameters.

***

## start-from-pr workflow

These tools load when the `start-from-pr` workflow is installed. They provide pull request context before implementation begins.

### `pr_context`

Reads a GitHub or Azure DevOps pull request, including its description, linked issues, and changed files. When `pr_url` is omitted, dotbot auto-detects the pull request from the current git branch.

<ParamField path="pr_url" type="string">
  GitHub or Azure DevOps pull request URL (e.g. `https://github.com/acme/widgets/pull/42`). Omit to auto-detect from the current branch.
</ParamField>
