ai-sdlc-harness-mcp
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 "Install 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
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
spaceIdparentIdpresent and absentstatus: currentandstatus: draftmultiple 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 buildCopy .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.netRunning 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 |
| string | yes | Numeric space ID, or a space key (e.g. |
| string | yes | Page title |
| string | yes | Confluence storage-format HTML, not Markdown, not editor paste |
| string | no | Numeric ID of the parent page |
| string | no |
|
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 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. Dates show when Glama detected each change.
1 tool update
v0.1.0- First observed
create_confluence_page
TDQS
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
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
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.232444MIT
- 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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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