ai-sdlc-harness-mcp
This server exposes a single MCP tool for creating Confluence Cloud pages.
create_confluence_page: creates a new Confluence page with a title, body in Confluence storage-format HTML, and a target space (by numeric ID or space key).
Supports optional page status (
currentordraft), defaulting to published.Supports optional parent page ID for hierarchical placement.
Requires
CONFLUENCE_SITE,ATLASSIAN_EMAIL, andATLASSIAN_API_TOKENenvironment variables.Built as a working alternative to Atlassian's hosted Rovo MCP
createConfluencePagetool, which returns a persistent 404.
Provides tools for creating Confluence Cloud pages via the REST API, including support for space keys or IDs, storage-format HTML, parent pages, and published or draft status.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ai-sdlc-harness-mcpCreate a draft Confluence page titled 'API Design' in the Stockbook space."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ai-sdlc-harness-mcp
Integration + distribution layer for an AI-assisted SDLC harness built around the Stockbook app project.
This repo holds two halves:
mcp-server/— an MCP (Model Context Protocol) server exposing Confluence, Jira, GitHub, GitLab, Microsoft Teams and a Claude Code trigger tool — 28 tools. Usable from any MCP client (Claude Code, Claude Desktop, Cowork, or any other MCP-speaking agent), not just from inside one repo.plugin/— an installable Claude Code plugin marketplace packaging the AI-SDLC harness itself (agents, commands, skills, hooks) that already runs in thestockbookapprepo, split into a framework-agnosticvnd-ai-sdlclayer and avnd-ai-sdlc-stockbook.vnd-ai-sdlcships the MCP server inside itself as a self-contained bundle, so installing the plugin — no clone, nonpm install, no build — is enough to get the whole AI-SDLC (rules, skills, commands, sub-agents, and the MCP tools) working in a fresh repo; only credentials come from your environment. It also carries a governed skill lifecycle (/skill-new→/skill-submit→/skill-approve→/skill-sync) so a skill one person writes reaches everyone else through Jira + PR review. Real-installed and verified with a live Claude Code CLI — seeplugin/README.mdfor install steps, the bugs that real install caught, and the known limitations it surfaced.
Start here
You want to | Read |
Install it and run it on real work | |
Know what each phase produces and when it is done |
|
Write one of the documents | the matching file in |
Know the MCP tools and their env vars |
Related MCP server: confluence-mcp-server
The document standard
Every phase output follows one set of conventions (C-0…C-10) in
docs/ai-sdlc/document-conventions.md,
derived by reading the organisation's own shipped documents rather than from
first principles — two real SRSs, two Product Listing pages, a PRD, and two
completed IPAM Way boards.
The rule that settles arguments: where two of those documents do the same thing differently, the Stockbook project's form wins (C-0). A silence is not a conflict — where only one document does something at all, it is an addition, kept and labelled with its source.
python3 docs/ai-sdlc/check-conventions.py enforces the conventions
mechanically and exits non-zero on failure. It is scaffolded into consuming
repos by /harness-init, and it exists because this framework insists on
machine-checkable DoDs and, for a while, had none of its own.
Status
Phase | What | Status |
1 | Jira MCP tools (12) | ✅ done |
1 | Confluence: | ✅ done |
3 | GitHub tools (3, read+create surface, live-tested) | ✅ done |
5 | Claude Code trigger tool ( | ✅ done — verified against a mock CLI, not a real install |
6 | Plugin extraction ( | ✅ done — real-installed + verified with a live Claude Code CLI (see |
7 | Self-contained plugin: MCP server bundled inside | ✅ done |
7 | Skill lifecycle commands ( | ✅ done |
4 | Microsoft Teams ( | ✅ built — not live-tested: the org egress allowlist blocks |
2 | Confluence full parity ( | ✅ built — not live-tested: |
3 | GitLab tools (5, read+create surface) | ✅ built — not live-tested: both |
A | Stage A discovery A0–A5 + G1, with | ✅ built — not yet run on a real feature |
B | Stage B definition B0–B2 + G2/G3, with | ✅ built — not yet run on a real feature |
C | Stage C design C1–C5 + G4, with | ✅ built — not yet run on a real feature |
— | Document conventions C-0…C-10 + | ✅ done — the checker passes on this repo |
— | 23 versioned artefact templates, incl. IPAM Way and OMVP | ✅ done |
— |
| ✅ done |
— | Publishing artefacts to Confluence automatically | ❌ not built — only |
What "built but not live-tested" means here
Three integrations are complete, build clean, and pass unit and stdio
JSON-RPC tests, but have never made a real call — every one of their hosts
(gitlab.com, gitlab-new.vndirect.com.vn, ipas-tech.atlassian.net,
powerplatform.com) is refused by this environment's egress allowlist,
which permits github.com. That is why GitHub is the one platform with a
genuine end-to-end verification behind it.
So the request/response shapes are exercised against stubs, not against the
real APIs. The places where those APIs differ in ways a naive port gets
wrong — GitLab addressing projects by URL-encoded path, having no draft flag,
replacing rather than appending reviewer lists, taking numeric user ids
instead of usernames; Confluence requiring version current + 1 on every
update — are handled explicitly and covered by
mcp-server/unit-test.mjs. What is not covered is whether the endpoints
behave as documented. Run npm test in mcp-server/, then make one real
call per platform from a machine with network access before trusting them.
See mcp-server/README.md for the tool reference and setup instructions.
What "built but not yet run" means for the upstream stages
Stages A, B and C are complete specifications with working commands, a template per artefact, and DoDs the commands enforce. What has not happened is a single real feature going A → G4 through them. Until that run exists, treat the upstream half as a well-specified system that has never met a deadline, a stakeholder who will not answer, or a document someone refuses to sign.
Why this exists
The Confluence create_confluence_page tool was built first, specifically
because Atlassian's own hosted Rovo MCP server's createConfluencePage
route returns a persistent 404 (see mcp-server/README.md for the full
diagnosis). Jira, GitLab, GitHub and Teams tools extend the same server
into a general integration layer for the harness, and the planned plugin/
half makes the whole harness — not just the integrations — installable in
one step in any frontend repo.
License
MIT
Available Tools
1 toolcreate_confluence_pageA
Create a new Confluence Cloud page via the REST API v2 (storage-format body). Built as a working alternative to the hosted Rovo MCP createConfluencePage tool, which returns a persistent 404. Requires CONFLUENCE_SITE, ATLASSIAN_EMAIL and ATLASSIAN_API_TOKEN to be set in the environment.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the new page. | |
| status | No | Page status. Defaults to 'current' (published). | |
| spaceId | Yes | Numeric Confluence space ID, or a space key (e.g. 'DAS') to resolve automatically. | |
| bodyHtml | Yes | Page body in Confluence 'storage format' HTML (not Markdown, not the visual editor's format). | |
| parentId | No | Optional numeric ID of the parent page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool uses REST API v2, requires specific credentials, and creates a page in storage format. However, it does not describe failure modes, response behavior, or side effects beyond creation, and it does not explicitly warn that a page is immediately published by default. There is no annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The purpose is front-loaded, and the alternative-tool context and environment requirements each earn their place. It is concise but information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with no annotations and no output schema, the description supplies the essential context: why this tool exists, how it is invoked, the body format, and required credentials. The schema covers parameter details. It does not describe the return value or edge cases like parent page resolution, but these are minor gaps given the strong schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 5 parameters with 100% coverage, including the storage-format constraint on bodyHtml and the spaceId resolution behavior. The description reinforces the storage-format point but does not add meaningful new parameter semantics beyond what the schema provides, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a new Confluence Cloud page via the REST API v2 (storage-format body).' It also distinguishes itself from the hosted Rovo MCP createConfluencePage tool by stating it is a working alternative, so the agent can understand exactly what this tool does and how it is different.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames when to use this tool: as a replacement for the hosted Rovo MCP createConfluencePage tool that returns a persistent 404. It also lists the required environment variables (CONFLUENCE_SITE, ATLASSIAN_EMAIL, ATLASSIAN_API_TOKEN), giving clear prerequisites. It does not enumerate other alternatives, but there are no sibling tools provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
create_confluence_page
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of confusing it with another tool. The purpose is clearly described as creating a Confluence page.
The tool name follows a clear verb_noun pattern (create_confluence_page), which is consistent and readable. As a single tool, there are no naming inconsistencies.
The server name suggests a broad SDLC harness, but only one narrow Confluence creation tool is provided. This is far too few tools for the implied scope, making it feel like an extreme under-delivery.
The domain implied by 'ai-sdlc-harness-mcp' would require far more operations such as issue tracking, code review, CI/CD integration, and documentation management. With only a single page-creation tool, the vast majority of expected functionality is missing.
Maintenance
Related MCP Connectors
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Create, edit, preview, publish, and manage web pages from MCP-capable AI clients.
Create, schedule, and publish social posts through the hosted SocialSpool MCP connector.
- ConvikaOAuthcom.convika
Create, preview, publish, and measure landing pages from Claude, Codex, or any MCP client.
Related MCP Servers
- FlicenseAqualityFmaintenanceEnables AI assistants to interact with Confluence Cloud for managing spaces, pages, and content via the Model Context Protocol (MCP).1115-
- AlicenseAqualityDmaintenanceMCP server for Confluence Cloud/Server/Data Center, enabling page search, CQL queries, page CRUD, attachment upload, and user identity lookup.23392 npm4MIT
- AlicenseAqualityCmaintenanceAn MCP server for reading and writing Confluence pages in native Atlassian Document Format (ADF), enabling precise edits at the document node level without loss of formatting.43MIT
- AlicenseBqualityDmaintenanceMCP server for administering Atlassian Confluence Cloud wiki pages, supporting CRUD operations, page navigation, comments, attachments, and more.621GPL 3.0