jama-requirements-mcp-server

sanjeevkoppal1/jama-requirements-mcp-server

3.2

If you are the rightful owner of jama-requirements-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 dayong@mcphub.com.

The Jama Requirements MCP Server is a sophisticated tool designed to enhance the search and indexing capabilities of Jama Connect requirements using advanced NLP and vector database technologies.

Tools
6
Resources
0
Prompts
0

Jama Requirements MCP Server

An MCP (Model Context Protocol) server that provides intelligent search capabilities for Jama Connect requirements using NLP and vector databases.

Features

  • 🔍 Semantic Search: Natural language search across Jama requirements
  • 🤖 AI-Powered: Configurable AI providers (Gemini, Claude, OpenAI) for embeddings
  • 📊 Vector Database: ChromaDB for fast similarity search and indexing
  • 🔗 Jama Integration: Direct connection to Jama Connect via REST API
  • Real-time: Index and search requirements in real-time
  • 🎯 Filtered Search: Search by project, type, status, and other metadata

Tools Available

  • search_requirements - Semantic search with natural language queries
  • index_project_requirements - Index Jama project requirements into vector DB
  • get_jama_projects - List all available Jama projects
  • test_jama_connection - Test Jama connectivity
  • get_database_stats - Vector database statistics
  • get_requirement_by_id - Retrieve specific requirements

Setup

1. Install Dependencies

npm install

2. Start ChromaDB Server

# Option 1: Docker
docker run -p 8000:8000 chromadb/chroma

# Option 2: pip install
pip install chromadb
chroma run --host 0.0.0.0 --port 8000

3. Configure Environment

Copy .env.example to .env and configure:

cp .env.example .env

Edit .env:

# Jama Configuration
JAMA_BASE_URL=https://your-org.jamacloud.com
JAMA_API_TOKEN=your-api-token

# AI Provider (gemini is default)
AI_PROVIDER=gemini
GOOGLE_API_KEY=your-google-api-key

# Vector Database
CHROMA_PERSIST_DIRECTORY=./chroma_db
CHROMA_COLLECTION_NAME=jama_requirements

4. Run the Server

npm start

Usage Examples

Index a Project

{
  "tool": "index_project_requirements",
  "arguments": {
    "project_id": "12345",
    "item_type": "Requirement",
    "clear_existing": false
  }
}

Search Requirements

{
  "tool": "search_requirements", 
  "arguments": {
    "query": "user authentication and login security",
    "limit": 5,
    "threshold": 0.7
  }
}

Get Projects

{
  "tool": "get_jama_projects",
  "arguments": {}
}

AI Provider Configuration

Gemini (Default)

AI_PROVIDER=gemini
GOOGLE_API_KEY=your-google-api-key

Claude

AI_PROVIDER=claude
ANTHROPIC_API_KEY=your-anthropic-api-key

OpenAI

AI_PROVIDER=openai
OPENAI_API_KEY=your-openai-api-key

Architecture

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP Client    │───▶│   MCP Server     │───▶│  Jama Connect   │
│  (Claude Code)  │    │   (This App)     │    │   REST API      │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                               │
                               ▼
                       ┌──────────────────┐    ┌─────────────────┐
                       │  Vector Database │───▶│   AI Provider   │
                       │    (ChromaDB)    │    │ (Gemini/Claude) │
                       └──────────────────┘    └─────────────────┘

Development

# Development mode with auto-reload
npm run dev

# Check logs
tail -f logs/server.log

Troubleshooting

  1. ChromaDB Connection: Ensure ChromaDB server is running on port 8000
  2. Jama Authentication: Verify API token has proper permissions
  3. AI Provider: Check API keys and quotas for your chosen provider
  4. Memory: Large projects may require increased Node.js memory: --max-old-space-size=4096