Marketplace for the CompoundDocs GraphRAG knowledge base plugin
npx claudepluginhub csharp-compound-engineering/csharp-compound-engineeringGraphRAG-powered knowledge base for project documentation. Provides intelligent document retrieval via a single rag_query MCP tool backed by Neptune, OpenSearch, and Bedrock.
A Claude Code plugin (cd) that implements a GraphRAG knowledge base for C#/.NET documentation. It bundles an HTTP-based MCP server backed by graph traversal (Amazon Neptune), vector search (AWS OpenSearch Serverless), and LLM synthesis (Amazon Bedrock) to provide semantic Q&A over documentation with source attribution.
The plugin exposes a single MCP tool, rag_query, that orchestrates a multi-stage retrieval pipeline:
Query → Embedding Generation → KNN Vector Search → Graph Traversal → LLM Synthesis → Answer + Sources
# Build
dotnet build
# Run the MCP server
dotnet run --project src/CompoundDocs.McpServer/CompoundDocs.McpServer.csproj
# Run all tests
dotnet test
src/
├── CompoundDocs.McpServer # MCP server app (HTTP transport), RagQueryTool, processing pipeline, resilience
├── CompoundDocs.Common # Shared models, graph relationships, config loading, logging
├── CompoundDocs.GraphRag # RAG pipeline orchestration (IGraphRagPipeline)
├── CompoundDocs.Vector # IVectorStore — AWS OpenSearch Serverless KNN search
├── CompoundDocs.Graph # IGraphRepository — Amazon Neptune (openCypher)
├── CompoundDocs.Bedrock # IBedrockEmbeddingService + IBedrockLlmService
├── CompoundDocs.GitSync # Git repository monitoring via LibGit2Sharp
└── CompoundDocs.Worker # Background document processing service
tests/
├── CompoundDocs.Tests.Unit # xUnit + Moq + Shouldly
├── CompoundDocs.Tests.Integration # Service integration tests
└── CompoundDocs.Tests.E2E # End-to-end workflow and MCP protocol compliance tests
rag_queryPerforms RAG-based question answering with source attribution.
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | (required) | The question to answer |
maxResults | int | 5 | Max source documents to use (1–20) |
Response:
{
"success": true,
"data": {
"query": "How does dependency injection work?",
"answer": "...",
"sources": [
{
"documentId": "...",
"chunkId": "...",
"filePath": "docs/dependency-injection.md",
"relevanceScore": 0.95
}
],
"relatedConcepts": ["service lifetime", "constructor injection"],
"confidenceScore": 0.87
}
}
Configuration is loaded from multiple sources (highest priority wins):
CompoundDocsServerOptions provides sensible defaults~/.claude/.csharp-compounding-docs/global-config.json.csharp-compounding-docs/config.json (per-repository)Config loading is handled by ConfigurationLoader in CompoundDocs.Common.
| Section | Description |
|---|---|
Authentication | API key auth — keys (comma-separated), header name, enabled flag |
EmbeddingCache | In-memory cache — max items (10,000), TTL (24h), optional disk persistence |
Resilience | Polly policies — retry, circuit breaker, timeout settings |
Chunking | Document chunking — chunk size (1000), overlap (200), paragraph boundaries |
| Variable | Description |
|---|---|
ASPNETCORE_ENVIRONMENT | Runtime environment (Production, Development) |
COMPOUNDDOCS_LOG_LEVEL | Log level (set in the Dockerfile) |
COMPOUNDDOCS_API_KEYS | API keys (used in the Helm chart deployment template) |
The server uses API key authentication by default. Keys are validated from the X-API-Key header or Authorization: Bearer header.
{
"Authentication": {
"Enabled": true,
"HeaderName": "X-API-Key",
"ApiKeys": "key1,key2,key3"
}
}
Set Enabled to false to disable authentication for local development. The /health endpoint is always anonymous.
# Pull pre-built image from GHCR
docker pull ghcr.io/csharp-compound-engineering/csharp-compound-engineering/mcp-server:latest
# Or build locally
docker build -t compound-docs-mcp .
No description available.
Production-ready workflow orchestration with 84 marketplace plugins, 192 local specialized agents, and 156 local skills - optimized for granular installation and minimal token usage
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations