bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
302 lines (253 loc) • 9.59 kB
Markdown
title: "Multi-Team Layer Configuration for Organizations"
domain: "chris-config"
difficulty: "intermediate"
bc_versions: "14+"
tags: ["configuration", "enterprise", "layers", "git-repositories", "team-collaboration"]
related_topics: ["knowledge-overrides", "layer-system-architecture"]
applies_to: ["MCP Server", "VS Code Integration", "Team Environments"]
last_updated: "2025-01-01"
# Multi-Team Layer Configuration for Organizations
## Overview
Configure the BC Code Intelligence MCP Server for organizations needing shared team knowledge, centralized BC standards, and Git-based knowledge management. This guide covers the simple but effective layer-based override system for organizational hierarchy.
**Key Benefit**: Teams can share BC knowledge while maintaining project-specific customizations through a priority-based layer system.
## What This System Actually Provides
### ✅ Real Capabilities
- **Local file overrides** - Project-specific knowledge in `./bc-code-intel-overrides/`
- **Git repository layers** - Team/company knowledge from Git repos
- **Priority-based resolution** - Higher priority layers override lower ones
- **Basic authentication** - Token-based auth for private Git repos
- **Embedded knowledge base** - 87+ BC topics across 24 domains
- **Simple configuration** - JSON/YAML config files
### ❌ What This Does NOT Do
- Multi-tenant architecture (doesn't exist)
- Azure AD integration (not implemented)
- Business unit isolation (fantasy)
- Enterprise monitoring dashboards (not built)
- Kubernetes deployments (unnecessary complexity)
## Layer Architecture
The system uses a straightforward override hierarchy:
```
Project Layer (Priority 100) ← ./bc-code-intel-overrides/
↓ overrides
Team Layer (Priority 50) ← Git repo: team-bc-knowledge
↓ overrides
Company Layer (Priority 25) ← Git repo: company-bc-standards
↓ overrides
Embedded Layer (Priority 0) ← Built-in BC knowledge base
```
## VS Code MCP Integration Setup
Most users integrate through VS Code's `mcp.json` configuration:
### Basic VS Code Setup
```json
{
"mcpServers": {
"bc-code-intelligence": {
"command": "npx",
"args": ["bc-code-intelligence-mcp"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
```
### Project-Specific Configuration
```bash
# In your BC project root
echo '{
"layers": [
{"name": "embedded", "priority": 0, "source": {"type": "embedded"}, "enabled": true},
{"name": "company", "priority": 25, "source": {"type": "git", "url": "https://github.com/yourcompany/bc-standards"}, "enabled": true, "auth": {"type": "token", "token_env_var": "GITHUB_TOKEN"}},
{"name": "project", "priority": 100, "source": {"type": "local", "path": "./bc-code-intel-overrides"}, "enabled": true}
]
}' > bc-code-intel-config.json
```
### User-Wide Configuration
```bash
# Windows (PowerShell/CMD)
echo '{...}' > %USERPROFILE%\bc-code-intel-config.json
# macOS/Linux
echo '{...}' > ~/bc-code-intel-config.json
```
## Multi-Team Configuration Example
```json
{
"layers": [
{
"name": "embedded",
"priority": 0,
"source": { "type": "embedded" },
"enabled": true
},
{
"name": "company-standards",
"priority": 25,
"source": {
"type": "git",
"url": "https://github.com/yourcompany/bc-standards",
"branch": "main"
},
"enabled": true,
"auth": {
"type": "token",
"token_env_var": "GITHUB_TOKEN"
}
},
{
"name": "team-practices",
"priority": 50,
"source": {
"type": "git",
"url": "https://github.com/yourcompany/team-bc-knowledge",
"branch": "main"
},
"enabled": true,
"auth": {
"type": "token",
"token_env_var": "GITHUB_TOKEN"
}
},
{
"name": "project-overrides",
"priority": 100,
"source": {
"type": "local",
"path": "./bc-code-intel-overrides"
},
"enabled": true
}
],
"cache": {
"strategy": "moderate",
"ttl": {
"git": "1h",
"local": "immediate",
"embedded": "permanent"
}
}
}
```
## Layer Types and Use Cases
### Embedded Layer (Priority 0)
- **Content**: 87+ topics across 24 domains, 14 specialist definitions
- **Use case**: Foundation knowledge everyone gets
- **Always available**: Provides fallback when other layers fail
### Company Standards Layer (Priority 25)
- **Content**: Organization BC coding standards and approved patterns
- **Use case**: Organization-wide standards that override defaults
- **Authentication**: Usually requires private Git repository access
### Team Practice Layer (Priority 50)
- **Content**: Team-specific approaches and specialized knowledge
- **Use case**: Team expertise that extends company standards
- **Collaboration**: Multiple teams can have different practice repositories
### Project Override Layer (Priority 100)
- **Content**: Project-specific customizations and experiments
- **Use case**: Project needs that override everything else
- **Local files**: No authentication required, immediate changes
## Configuration File Discovery
The MCP server searches for configuration files in this order:
1. `./bc-code-intel-config.json` (current directory)
2. `./bc-code-intel-config.yaml` (current directory)
3. **Windows**: `%USERPROFILE%\bc-code-intel-config.json`
4. **Windows**: `%USERPROFILE%\bc-code-intel-config.yaml`
5. **macOS/Linux**: `~/bc-code-intel-config.json`
6. **macOS/Linux**: `~/bc-code-intel-config.yaml`
## Authentication Options
### GitHub Token Authentication
```bash
# Set environment variable
export GITHUB_TOKEN="ghp_your_token_here"
```
```json
{
"auth": {
"type": "token",
"token_env_var": "GITHUB_TOKEN"
}
}
```
### SSH Key Authentication
```json
{
"auth": {
"type": "ssh",
"key_path": "~/.ssh/id_rsa"
}
}
```
## Setup Checklist
### Basic Multi-Team Setup
- [ ] Create company BC standards repository
- [ ] Define team knowledge repository structure
- [ ] Set up GitHub token for private repositories
- [ ] Create configuration file with layer priorities
- [ ] Test layer resolution with sample content
- [ ] Train team leads on knowledge contribution
### Content Creation
- [ ] Migrate existing BC standards to markdown format
- [ ] Create team-specific specialist definitions (optional)
- [ ] Document local coding patterns and decisions
- [ ] Set up project override directory structure
- [ ] Create contribution guidelines for team knowledge
## Common Issues and Solutions
### Layer Not Loading
```bash
# Debug layer loading
bc-code-intel --debug-layers
bc-code-intel --test-layer company-standards
```
**Common causes:**
- Invalid Git URL or authentication
- Wrong branch name in configuration
- Network connectivity issues
- Invalid JSON/YAML in config file
### Authentication Failed
```bash
# Test authentication
export GITHUB_TOKEN="your_token"
bc-code-intel --test-auth
```
**Common causes:**
- Expired or invalid GitHub token
- Token doesn't have repository access
- SSH key not configured properly
- Repository is private but no auth configured
## ROI and Cost-Benefit Analysis
### Implementation Costs
- **Software**: Free (open source)
- **Setup time**: 2-4 hours for basic multi-team setup
- **Maintenance**: Minimal - just updating Git repositories
- **Training**: 30 minutes per developer
### Expected Benefits
- **Consistent practices**: Teams follow the same BC patterns
- **Knowledge sharing**: Easy to share team discoveries
- **Faster onboarding**: New developers see team-specific guidance
- **Flexible customization**: Projects can override anything when needed
### Team Size ROI
- **Small teams (2-5 devs)**: Pays for itself in first month
- **Medium teams (6-15 devs)**: 3-5x productivity improvement on BC questions
- **Large teams (15+ devs)**: Significant standardization and knowledge leverage
## Best Practices
### Security Considerations
- **Validate sources**: Only load from trusted repositories
- **Use authentication**: Secure access to private knowledge
- **Limit permissions**: Use read-only tokens when possible
### Configuration Management
- **Start simple**: Begin with embedded + project layers
- **Add gradually**: Add organizational layers as needed
- **Document overrides**: Clearly explain why overrides exist
- **Version control**: Keep layer configurations in git
- **Test changes**: Validate layer configurations before sharing
### Anti-Patterns to Avoid
- ❌ **Too many layers**: More than 4-5 layers becomes complex
- ❌ **Conflicting priorities**: Multiple layers with same priority
- ❌ **No fallback**: Always ensure embedded layer is available
- ❌ **Complex authentication**: Keep auth simple and documented
## Related Topics
- **[Knowledge Content Creation](knowledge-overrides)**: How to create custom BC knowledge content
- **[Layer System Architecture](layer-system-architecture)**: Understanding the technical implementation
- **[Specialist Customization](specialist-customization)**: Creating custom AI specialists
*This configuration guide enables organizations to scale BC knowledge sharing while maintaining flexibility for team and project needs.*