@ocuco-blackbird/hive-mcp
v1.0.0
Published
MCP server for Jira and Sourcegraph integrations with LLMs
Maintainers
Readme
Hive MCP Server
A Model Context Protocol (MCP) server that provides integrations for Jira and Sourcegraph. This allows LLMs to interact with Jira issues and search code across repositories using Sourcegraph.
Package name: hive-mcp
Tool prefix: Service name (e.g., jira_*, sourcegraph_*)
Full tool names in LLM: mcp__hive-mcp__jira_get_issue etc.
Features
Jira Integration
- Get Issue: Retrieve detailed information about Jira issues
- Download Attachments: Download attachments from Jira issues
- Add Comments: Post comments to Jira issues
Sourcegraph Integration
- Code Search: Search code across repositories with powerful query operators (GraphQL)
- Deep Search: AI-powered conversational code search that understands natural language questions (REST API v6.7+)
Installation
Prerequisites
- Node.js 18 or higher
- Jira Cloud instance with API access
- Sourcegraph instance with API access
Install from NPM (coming soon)
npm install -g hive-mcpInstall from Source
git clone <repository-url>
cd hive-mcp
npm install
npm run build
npm linkConfiguration
Create a .env file in your project root or set environment variables:
# Jira Configuration
JIRA_BASE_URL=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your_jira_api_token
# Sourcegraph Configuration
SOURCEGRAPH_URL=https://sourcegraph.company.com
SOURCEGRAPH_TOKEN=your_sourcegraph_tokenGetting API Credentials
Jira API Token
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click "Create API token"
- Copy the token and use it as
JIRA_API_TOKEN
Sourcegraph Token
- Go to your Sourcegraph instance
- Navigate to Settings > Access tokens
- Create a new access token
- Copy the token and use it as
SOURCEGRAPH_TOKEN
Usage with Claude Desktop
Add to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hive-mcp": {
"command": "node",
"args": ["/path/to/hive-mcp/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your_jira_api_token",
"SOURCEGRAPH_URL": "https://sourcegraph.company.com",
"SOURCEGRAPH_TOKEN": "your_sourcegraph_token"
}
}
}
}Or if installed globally:
{
"mcpServers": {
"hive-mcp": {
"command": "hive-mcp",
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your_jira_api_token",
"SOURCEGRAPH_URL": "https://sourcegraph.company.com",
"SOURCEGRAPH_TOKEN": "your_sourcegraph_token"
}
}
}
}Available Tools & Resources
Tools
All tools are prefixed with their service name for easy identification in LLM tool lists.
Full name format in LLM: mcp__hive-mcp__<tool_name>
Jira Tools
jira_get_issue
Get detailed information about a Jira issue.
Parameters:
issueIdOrKey(string): The issue key (e.g., "PROJ-123") or ID
Example:
{
"issueIdOrKey": "PROJ-123"
}jira_get_comments
Get all comments from a Jira issue. Returns comment history with authors and timestamps.
Parameters:
issueIdOrKey(string): The issue key (e.g., "PROJ-123") or ID
Returns:
- Total comment count
- Array of comments with:
- Author name and email
- Created and updated timestamps
- Comment body (Atlassian Document Format)
Example:
{
"issueIdOrKey": "PROJ-123"
}jira_add_comment
Add a comment to a Jira issue.
Parameters:
issueIdOrKey(string): The issue key (e.g., "PROJ-123") or IDcomment(string): The comment text to add
Sourcegraph Tools
sourcegraph_search_code
Search code across repositories.
Parameters:
query(string): Search query with optional operatorsrepo:owner/name- Filter by repositoryfile:path- Filter by file pathlang:python- Filter by language- And more...
Example:
{
"query": "function handleRequest repo:myorg/myrepo lang:typescript"
}sourcegraph_deep_search
AI-powered Deep Search using natural language questions. This feature creates a conversation with Sourcegraph's AI agent (requires v6.7+).
Parameters:
question(string): Natural language question about your codebasetimeout_seconds(number, optional): Max wait time for answer (default: 60)
Example:
{
"question": "How does authentication work in this codebase?"
}Response includes:
- AI-generated answer
- Relevant source code references
- Suggested follow-up questions
- Conversation ID for follow-ups
- Shareable URL
Note: Deep Search is async and may take 10-60 seconds. It uses credits/quota on Sourcegraph Enterprise.
Resources
MCP Resources allow LLMs to read Jira attachments like local files. The server handles caching and download automatically.
Resource URI Format:
jira://issues/{issueKey}/attachments
List all attachments for a specific Jira issue.
Example:
jira://issues/PROJ-123/attachmentsReturns:
- List of all attachments with metadata
- Each attachment includes its resource URI for direct access
jira://attachments/{attachmentId}
Read specific attachment content.
Example:
jira://attachments/10041Behavior:
- Images <500KB: Returns image blob (viewable directly)
- Files <500KB: Returns base64 content
- Files >500KB: Returns metadata + warning
- Automatic caching: Small files cached for 5 minutes
Advantages:
- ✅ LLM reads attachments like local files
- ✅ No repeated downloads (smart caching)
- ✅ No authentication errors (handled by MCP)
- ✅ Automatic size management
Usage in Claude:
"Read jira://attachments/10041"
"Show me all attachments from PROJ-123"Development
# Install dependencies
npm install
# Build
npm run build
# Development mode (watch for changes)
npm run dev
# Run the server
npm startArchitecture
hive-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Environment configuration
│ ├── types.ts # Shared types
│ ├── jira/
│ │ ├── client.ts # Jira REST API client
│ │ ├── tools.ts # Jira MCP tools
│ │ └── types.ts # Jira types
│ └── sourcegraph/
│ ├── client.ts # Sourcegraph GraphQL client
│ ├── tools.ts # Sourcegraph MCP tools
│ └── types.ts # Sourcegraph types
└── dist/ # Compiled outputLicense
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
