Content
# Atlassian MCP Server Client
A command-line client for connecting to Model Context Protocol (MCP) servers, specifically designed to work with Atlassian's official MCP server integration. This client provides an interactive chat interface powered by OpenAI for seamless interaction with remote MCP servers.
## 🚀 Features
- **Remote MCP Server Connection**: Connect to any MCP server via `mcp-remote`
- **Interactive Chat Interface**: Command-line chat interface with OpenAI integration
- **OAuth Support**: Automatic OAuth handling for Atlassian services through `mcp-remote`
- **Tool Discovery**: Automatically discovers and utilizes tools provided by the MCP server
- **Streaming Responses**: Real-time streaming of AI responses
- **Cross-Platform**: Works on Windows, macOS, and Linux
## 📋 Prerequisites
- Node.js 18.0.0 or higher
- npm package manager
- OpenAI API key
## 🛠️ Installation
1. **Clone the repository:**
```bash
git clone <repository-url>
cd jira-mcp-server
```
2. **Install dependencies:**
```bash
npm install
```
3. **Set up environment variables:**
```bash
cp env.example .env
```
4. **Configure your OpenAI API key:**
Edit the `.env` file:
```env
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key
```
## 🔐 Getting Your OpenAI API Key
1. Visit [OpenAI API Keys](https://platform.openai.com/api-keys)
2. Create a new API key
3. Copy it to your `.env` file
## 🚀 Usage
### Connect to Atlassian's Official MCP Server
```bash
npm run dev
```
This will connect to `https://mcp.atlassian.com/v1/sse` by default.
### Connect to a Custom MCP Server
```bash
npm run dev <server-url>
```
Example:
```bash
npm run dev wss://your-custom-mcp-server.com
```
### Development Commands
- `npm run build` - Compile TypeScript to JavaScript
- `npm run dev [server-url]` - Run in development mode (defaults to Atlassian MCP server)
- `npm run clean` - Remove build artifacts
- `npm run typecheck` - Run TypeScript type checking
## 💬 Interactive Chat
Once connected, you'll see an interactive prompt where you can:
- Ask questions about your Atlassian workspace (if connected to Atlassian MCP server)
- Use natural language to interact with any tools provided by the MCP server
- Get AI-powered responses using the connected server's capabilities
### Example Session
```
🔗 Connecting to remote MCP server: https://mcp.atlassian.com/v1/sse
🔐 OAuth authentication will be handled automatically by mcp-remote
🌐 A browser window may open for authentication
🤝 Connecting to MCP server...
🛠️ Setting up tools...
✅ Connected successfully with tools: [list-jira-issues, search-confluence, ...]
💬 Chat with AI (type 'help' for commands, 'exit' to quit):
> What are my recent Jira issues?
🤖 Processing query...
Here are your recent Jira issues...
```
### Special Commands
- `help` - Show available commands and usage information
- `list-tools` - Display all tools available from the connected MCP server
- `exit` or `quit` - Exit the application
## 🔧 Configuration
### Environment Variables
| Variable | Description | Required |
| ---------------- | ------------------- | -------- |
| `OPENAI_API_KEY` | Your OpenAI API key | ✅ |
### OAuth Authentication
When connecting to Atlassian's MCP server, OAuth authentication is handled automatically by `mcp-remote`. A browser window will open for you to authenticate with your Atlassian account if needed.
## 🏗️ Architecture
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ CLI Client │◄──►│ mcp-remote │◄──►│ MCP Server │
│ (this app) │ │ │ │ (Atlassian) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ OpenAI API │ │ OAuth Handler │ │ Atlassian APIs │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```
## 🛠️ How It Works
1. **Connection**: The client uses `mcp-remote` to establish a connection to the specified MCP server
2. **Authentication**: OAuth flows are handled automatically by `mcp-remote`
3. **Tool Discovery**: Available tools are discovered from the MCP server
4. **Chat Interface**: User queries are processed using OpenAI with the discovered tools
5. **Tool Execution**: Tools are called on the remote MCP server as needed
## 🐛 Troubleshooting
### Common Issues
1. **"OPENAI_API_KEY is not set"**
- Ensure your `.env` file contains a valid OpenAI API key
2. **"mcp-remote installation failed"**
- The application will try to install `mcp-remote` globally automatically
- If it fails, install manually: `npm install -g mcp-remote`
3. **OAuth authentication fails**
- Ensure you have access to the Atlassian workspace
- Check that your browser allows popups from the authentication domain
- Verify network connectivity
4. **Connection timeout**
- Check if the MCP server URL is correct and accessible
- Verify firewall settings allow outbound connections
### Debug Mode
For verbose logging, you can check the `mcp-remote` logs or modify the source code to add more logging.
## 🔗 Dependencies
- **@ai-sdk/openai**: OpenAI integration for AI capabilities
- **@modelcontextprotocol/sdk**: Official MCP SDK for client implementation
- **mcp-remote**: Remote MCP server connection utility (auto-installed)
- **ai**: AI SDK for tool integration and streaming
## 📚 Learn More
- [Model Context Protocol](https://modelcontextprotocol.io/) - Official MCP documentation
- [Atlassian MCP Server](https://mcp.atlassian.com/) - Atlassian's official MCP server
- [OpenAI API Documentation](https://platform.openai.com/docs) - OpenAI API reference
---
**Note**: This is a client application for connecting to MCP servers. For the actual MCP server implementation, refer to the official Atlassian MCP server documentation.
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.