versionone-mcp-server 0.1.0
An MCP server for VersionOne
Requires Python: >=3.11

# VersionOne MCP Server

## Features
- **VersionOne Tools**: Able to pull specific stories.
- **Dockerized**: Easily deployable using Docker and Docker Compose.

## Prerequisites
- Docker or Podman

## Using Docker
1. Build and start the containers:
   ```bash
   docker build -t versionone-mcp-server
   ```

2. Add MCP servers to ```settings.json```
    *   Press ```ctrl + shift + P``` and search for ```Preferences: Open User Settings (JSON)```
    * Add the following to you settings file
    ```"mcp": {
        "inputs": [
            {
                "type": "promptString",
                "id": "github_token",
                "description": "GitHub Personal Access Token",
                "password": true
            },
            {
                "type": "promptString",
                "id": "versionone_token",
                "description": "VersionOne Service Account",
                "password": true
            }
        ],
        "servers": {
            "github": {
                "command": "docker", // for podman delete this line and uncomment the next
                // "command": "podman",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "-e",
                    "GITHUB_PERSONAL_ACCESS_TOKEN",
                    // "-e", // Used for GitHub Enterprise Server
                    // "GITHUB_HOST", // Used for GitHub Enterprise Server
                    // "-e", // Used for GitHub Enterprise Server
                    // "SKIP_TLS_VERIFY", // Used for GitHub Enterprise Server
                    "ghcr.io/github/github-mcp-server"
                ],
                "env": {
                    "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
                    // "GITHUB_HOST": "https://github.usps.gov", // Used for GitHub Enterprise Server
                    // "SKIP_TLS_VERIFY": "true" // Used for GitHub Enterprise Server
                },
                // "envFile": "${workspaceFolder}/.env"
            },
            "versionone": {
                "command": "docker", // for podman delete this line and uncomment the next
                // "command": "podman",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "-e",
                    "BEARER_TOKEN",
                    "versionone-mcp-server"
                ],
                "env": {
                    "BEARER_TOKEN": "${input:versionone_token}"
                }
                // "envFile": "${workspaceFolder}/.env"
            }
        }
    },```

3. Press ```ctrl + shift + P``` select ```MCP: List Servers```
4. Find the server you wish to start, select and select ```Start Server```
5. Paste your token into the pop-up box


## Use the MCP Server

1. Enable Agent mode [`user settings`](vscode://settings/github.copilot.chat.agent.runTasks)
2. Open Chat and Select ```agent``` from the bottom selection menu beside model selection
3. Ask the agent about a story


## Access on Databricks

You will need to install the databricks cli on your local machine and run the following:

```bash
export DATABRICKS_CONFIG_PROFILE=<your-profile-name> # e.g. custom-mcp-server
databricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"
```

Get your token using

```bash
databricks auth token -p <name-of-your-profile>
```

Either use the preferneces menu or manually create .vscode/mcp.json and add the following:

```json
{
	"servers": {
		"versionone-db-mcp-server": {
			"url": "https://versionone-mcp-server-3581599030788736.16.azure.databricksapps.com/mcp/",
			"type": "http",
			"headers": {
				"Authorization": "Bearer ${input:databricks_access_token}",
				"V1-Token": "Bearer ${input:databricks_access_token}"
			}
		}
	},
	"inputs": [
		{
			"id": "databricks_access_token",
			"type": "promptString",
			"description": "Databricks access token",
			"password": true,
		}
	]
}
```

Then click restart on the server and past in the token you got from Databricks