iaas-conversion-mcp
by mdl44305
README.md
# iaas-conversion-mcp
A Model Context Protocol (MCP) server that converts Confluence pages into standardized formats for the IaaS Storage team.
## What it does
Exposes tools to GitHub Copilot (or any MCP client) that provide:
- Template scaffolds in Confluence HTML format
- Section mapping rules for converting unstructured How-To pages
- Label taxonomies for each document type
- Step-by-step conversion workflows that pair with the [Atlassian MCP](https://mcp.atlassian.com)
## Templates included
| Template | Use for |
|---|---|
| `playbook` | Deployment/rebuild procedures with CHG, phases, validation, rollback |
| `runbook` | Recurring operational tasks and on-call procedures |
| `how-to` | Reference guides, tooling docs — no change control required |
## Tools exposed
| Tool | Description |
|---|---|
| `list_templates` | List all available templates with descriptions and label sets |
| `get_template` | Get the HTML scaffold and section guide for a template |
| `get_conversion_guidance` | Get section mapping rules and workflow for a specific conversion |
| `get_labels` | Get the recommended label set for a template type |
## Setup
### Prerequisites
- Python 3.11+
- A Python virtual environment
- The [Atlassian MCP](https://mcp.atlassian.com) connected in VS Code for publishing
### Install
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
### Wire into VS Code `mcp.json`
```json
"iaas-conversion-mcp": {
"type": "stdio",
"command": "/path/to/.venv/bin/python",
"args": ["/path/to/iaas-conversion-mcp/server.py"]
}
```
## Usage
In GitHub Copilot chat:
```
Using the playbook template, convert page https://yoursite.atlassian.net/wiki/spaces/SPACE/pages/12345/Page+Title
```
Copilot will:
1. Call `get_conversion_guidance` to load the mapping rules
2. Fetch the source page via the Atlassian MCP
3. Map and transform the content
4. Create a draft page in Confluence via the Atlassian MCP
5. Return the draft URL for review before publishing
## Adding templates
Drop a new `.json` file into `templates/` following the schema of any existing template. The server picks it up automatically — no code changes needed.
### Template schema
```json
{
"name": "Human-readable template name",
"description": "When to use this template",
"labels": [
{ "name": "label-name", "rationale": "Why this label belongs here" }
],
"sections": [
{ "heading": "Section Title", "description": "What goes here", "required": true }
],
"section_mappings": [
{
"target_section": "Section Title",
"source_hints": "What to look for in the source page",
"if_missing": "What to do if no matching content is found"
}
],
"conversion_instructions": "Overall rules for the conversion",
"html_scaffold": "<h1>Template HTML...</h1>"
}
```
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing