radelmann/my-mcp-server
If you are the rightful owner of my-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This MCP server provides integration with Jira, Confluence, and diagram generation capabilities for use with the Cursor IDE.
MCP Server for Cursor Integration
Table of Contents
This MCP (Model Context Protocol) server provides integration with Jira, Confluence, and diagram generation capabilities for use with the Cursor IDE.
Setup
-
Clone this repository
-
Install dependencies:
npm install
-
Copy the example configuration:
cp .cursor/mcp.json.example .cursor/mcp.json
-
Update
.cursor/mcp.json
with your credentials:- Jira API token
- Confluence API token
- Base URLs for both services
-
Start the server from Cursor:
- Open Cursor IDE
- Go to Settings (ā,)
- Navigate to "Cursor Settings"
- Under "MCP Server", click "Start Server"
- Select this project's directory
Available Tools
Jira Tools
get_ticket_by_key
Fetches a Jira ticket by its key (e.g., STK-1234).
{
key: string // Jira ticket key
}
Example prompts:
- "Show me the details for ticket STK-1234"
- "What's the status of STOCK-5678?"
- "Get information about the ticket STK-9012"
transition_ticket
Transitions a Jira ticket to a new status.
{
key: string, // Jira ticket key
status: string // Target status
}
Example prompts:
- "Move ticket STK-1234 to Code Review"
- "Transition STOCK-5678 to Done"
- "Update the status of STK-9012 to In Progress"
list_tickets_by_team_and_status
Lists tickets for a specific team and status.
{
team: string, // Team name (e.g., "EComm Demand")
status: string // Ticket status (e.g., "Code Review")
}
Example prompts:
- "Show me all Code Review tickets for EComm Demand team"
- "List In Progress tickets for EComm LTV"
- "What tickets are in QA for the Stock team?"
add_code_reviewer
Adds a code reviewer to one or more tickets.
{
keys: string[], // Array of Jira ticket keys
username: string // Username to add as reviewer
}
Example prompts:
- "Add adelmann as reviewer to STK-1234"
- "Set jsmith as code reviewer for STOCK-5678 and STOCK-5679"
- "Add code reviewer mmiller to these tickets: STK-1234, STK-1235"
list_tickets_by_sprint_and_team
Lists tickets for a specific sprint and team.
{
sprint: string, // Sprint name (e.g., "STK Sprint 253")
team: string // Team name (e.g., "EComm LTV")
}
Example prompts:
- "Show tickets for EComm LTV in STK Sprint 253"
- "List all EComm Demand tickets in the current sprint"
- "What's in Sprint 254 for the Stock team?"
Confluence Tools
test_confluence_connection
Tests the connection to Confluence.
Example prompts:
- "Test the Confluence connection"
- "Check if Confluence is working"
- "Verify Confluence credentials"
get_confluence_page
Retrieves a Confluence page by its ID.
{
pageId: string, // Confluence page ID
format?: "markdown" | "html" | "both" // Output format (default: "markdown")
}
Example prompts:
- "Show me Confluence page 3506530385"
- "Get the content of wiki page 1234567890"
- "Fetch Confluence page 9876543210 in HTML format"
update_confluence_page
Updates a Confluence page with new content.
{
pageId: string, // Confluence page ID
content: string, // HTML content to update the page with
minorEdit?: boolean // Whether this is a minor edit (default: false)
}
Example prompts:
- "Update Confluence page 3506530385 with new content"
- "Edit wiki page 1234567890 with this HTML"
- "Update the documentation on page 9876543210"
Note: To include Mermaid diagrams in your Confluence page, wrap the Mermaid content in the HTML macro:
<ac:structured-macro ac:name="html">
<ac:plain-text-body><![CDATA[<div>
<script type="module" src="https://cdn.jsdelivr.net/npm/mermaid@11.6.0/+esm"></script>
<pre class="mermaid">
[Your Mermaid diagram code here]
</pre>
</div>]]></ac:plain-text-body>
</ac:structured-macro>
Diagram Tools
generate_diagram
Generates a diagram using Mermaid syntax and saves it as an image.
{
code: string, // Mermaid diagram code
filename?: string // Optional filename for the diagram
}
Example prompts:
- "Create a sequence diagram showing user authentication flow"
- "Generate a class diagram for the Cart system"
- "Make a flowchart showing the checkout process"
- "Create a diagram from this code file"
- "Analyze this class and create a diagram"
Example Mermaid code:
sequenceDiagram
User->>+Server: Login Request
Server->>+Database: Validate Credentials
Database-->>-Server: Valid
Server-->>-User: Success
add_diagram_to_confluence
Adds a Mermaid diagram to a Confluence page.
{
pageId: string, // Confluence page ID
mermaidCode: string, // Mermaid diagram code
position?: string // Where to add the diagram (top or bottom)
}
Example prompts:
- "Add this diagram to Confluence page 3506530385"
- "Insert the sequence diagram at the top of page 1234567890"
- "Update wiki page 9876543210 with this architecture diagram"
Project Structure
.
āāā .cursor/ # Cursor configuration
ā āāā mcp.json # Your configuration (not in git)
ā āāā mcp.json.example # Example configuration
āāā diagrams/ # Generated diagrams (contents not in git)
āāā services/ # Service implementations
āāā utils/ # Utility functions
āāā middleware/ # Middleware components
āāā server.js # Main server file
Development
- Generated diagrams are stored in the
diagrams/
directory but not tracked in git - The server uses Node.js and the MCP SDK
- All tools are registered in
server.js
Troubleshooting
-
If the server fails to start:
- Check that
.cursor/mcp.json
exists and has valid credentials - Ensure no other MCP server is running
- Check the Cursor console for error messages
- Check that
-
If tools aren't appearing in Cursor:
- Restart the MCP server from Cursor Settings
- Check that the tool is properly registered in
server.js
-
If diagram generation fails:
- Ensure
@mermaid-js/mermaid-cli
is installed globally:npm install -g @mermaid-js/mermaid-cli
- Ensure
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
This project is proprietary and confidential. Ā© Adobe Systems Incorporated.