Skip to main content
Glama

ai-sdlc-harness-mcp

A small MCP (Model Context Protocol) server built while wiring an AI-assisted SDLC harness for a Stockbook app project. It currently ships one tool: create_confluence_page.

Why this exists

While integrating Claude with our Atlassian Cloud site, the hosted Rovo MCP server's createConfluencePage tool returned a persistent 404 on every attempt, across:

  • both a space key and a resolved numeric spaceId

  • parentId present and absent

  • status: current and status: draft

  • multiple different spaces

  • two independently (re-)connected Rovo MCP instances

Meanwhile every read operation on the same authenticated Rovo session succeeded (getConfluenceSpaces, getConfluencePage, searchConfluenceUsingCql, etc.), and the OAuth session carried the write:page:confluence scope. To rule out a permissions problem, we manually created a page through the real Confluence web UI with the same account -- it worked immediately. That isolates the failure to the hosted createConfluencePage route itself, not to credentials or scopes.

This package is a minimal, working replacement: it talks to the Confluence Cloud REST API v2 directly over HTTPS Basic auth (Atlassian account email + API token), the same way Atlassian's own documented API examples do.

Related MCP server: confluence-mcp-server

Setup

npm install
npm run build

Copy .env.example to .env and fill in:

ATLASSIAN_EMAIL=you@example.com
ATLASSIAN_API_TOKEN=...   # https://id.atlassian.com/manage-profile/security/api-tokens
CONFLUENCE_SITE=https://your-site.atlassian.net

Running as an MCP server

Point an MCP client (e.g. Claude Code's mcp config) at:

{
  "mcpServers": {
    "ai-sdlc-harness": {
      "command": "node",
      "args": ["/absolute/path/to/ai-sdlc-harness-mcp/dist/index.js"],
      "env": {
        "ATLASSIAN_EMAIL": "you@example.com",
        "ATLASSIAN_API_TOKEN": "...",
        "CONFLUENCE_SITE": "https://your-site.atlassian.net"
      }
    }
  }
}

Tool: create_confluence_page

Field

Type

Required

Notes

spaceId

string

yes

Numeric space ID, or a space key (e.g. DAS) — resolved for you

title

string

yes

Page title

bodyHtml

string

yes

Confluence storage-format HTML, not Markdown, not editor paste

parentId

string

no

Numeric ID of the parent page

status

string

no

current (default, published) or draft

bodyHtml must be Confluence storage format (plain HTML-like tags: <p>, <h2>, <ul>, <strong>, etc.) — the same format the REST API itself expects. It is not aware of the visual editor's proprietary macros beyond what you supply verbatim.

Known limitation

This server calls the Atlassian Cloud REST API directly over HTTPS, so it requires outbound network access to your *.atlassian.net site. If your network enforces an egress allowlist that blocks that host (as ours did during development), this tool will fail the same way plain curl would — that's an organization network-policy question, not a bug in this code.

License

MIT

Available Tools

1 tool
create_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle of the new page.
statusNoPage status. Defaults to 'current' (published).
spaceIdYesNumeric Confluence space ID, or a space key (e.g. 'DAS') to resolve automatically.
bodyHtmlYesPage body in Confluence 'storage format' HTML (not Markdown, not the visual editor's format).
parentIdNoOptional numeric ID of the parent page.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedcreate_confluence_page

TDQS

A3.8/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness1/5

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

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DungNV512/ai-sdlc-harness-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server