Skip to content

Commit 6a882a5

Browse files
committed
docs: clarify config-driven architecture and extensibility
- Emphasize that parser is fully configurable for custom framework schemas - Change "TypeScript/NestJS" to "TypeScript" with NestJS as included example - Add callout that users can define domain-specific patterns and relationships - Update feature list to highlight customizability alongside built-in NestJS support Makes it clear the tool works with any TypeScript codebase, not just NestJS
1 parent 6646314 commit 6a882a5

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

README.md

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@
44
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://typescriptlang.org/)
55
[![Neo4j](https://img.shields.io/badge/Neo4j-018bff?logo=neo4j&logoColor=white)](https://neo4j.com/)
66

7-
A Model Context Protocol (MCP) server that builds rich code graphs to provide deep contextual understanding of TypeScript/NestJS codebases to Large Language Models. This server parses your codebase, constructs a comprehensive graph representation in Neo4j, and provides intelligent querying capabilities through semantic search and natural language to Cypher conversion.
7+
A Model Context Protocol (MCP) server that builds rich code graphs to provide deep contextual understanding of TypeScript codebases to Large Language Models. This server parses your codebase using AST analysis, constructs a comprehensive graph representation in Neo4j, and provides intelligent querying capabilities through semantic search and graph traversal.
88

9-
## 🌟 Features
9+
**Config-Driven & Extensible**: Define custom framework schemas to capture domain-specific patterns beyond the included NestJS support. The parser is fully configurable to recognize your architectural patterns, decorators, and relationships.
1010

11-
- **📊 Rich Code Graph Generation**: Parses TypeScript/NestJS projects and creates detailed graph representations with AST-level precision
12-
- **🔍 Semantic Search**: Vector-based semantic search using OpenAI embeddings to find relevant code patterns and implementations
13-
- **🗣️ Natural Language Querying**: Convert natural language questions into Cypher queries using OpenAI assistants api
14-
- **🎯 Framework-Aware**: Deep understanding of NestJS patterns (Controllers, Services, Modules, DTOs, Entities, etc.)
15-
- **🕸️ Graph Traversal**: Explore code relationships and dependencies through intelligent graph traversal
16-
- **⚡ High Performance**: Optimized Neo4j storage with vector indexing for fast retrieval
17-
- **🔧 MCP Integration**: Seamless integration with Claude Code and other MCP-compatible tools
11+
## Features
1812

19-
## 🏗️ Architecture
13+
- **Rich Code Graph Generation**: Parses TypeScript projects and creates detailed graph representations with AST-level precision
14+
- **Semantic Search**: Vector-based semantic search using OpenAI embeddings to find relevant code patterns and implementations
15+
- **Natural Language Querying**: Convert natural language questions into Cypher queries using OpenAI assistants API
16+
- **Framework-Aware & Customizable**: Built-in NestJS schema with ability to define custom framework patterns via configuration
17+
- **Graph Traversal**: Explore code relationships and dependencies through intelligent graph traversal
18+
- **High Performance**: Optimized Neo4j storage with vector indexing for fast retrieval
19+
- **MCP Integration**: Seamless integration with Claude Code and other MCP-compatible tools
20+
21+
## Architecture
2022

2123
The MCP server consists of several key components:
2224

@@ -34,7 +36,7 @@ The system uses a dual-schema approach:
3436
- **Core Schema**: AST-level nodes (Classes, Methods, Properties, Imports, etc.)
3537
- **Framework Schema**: Semantic interpretations (NestJS Controllers, Services, HTTP Endpoints, etc.)
3638

37-
## 🚀 Getting Started
39+
## Getting Started
3840

3941
### Prerequisites
4042

@@ -116,9 +118,9 @@ Add to your Claude Code MCP configuration file:
116118
}
117119
```
118120

119-
## 📖 Tool Usage Guide & Sequential Workflows
121+
## Tool Usage Guide & Sequential Workflows
120122

121-
### 🔄 Sequential Tool Usage Patterns
123+
### Sequential Tool Usage Patterns
122124

123125
The MCP tools are designed to work together in powerful workflows. Here are the most effective patterns:
124126

@@ -134,7 +136,7 @@ graph LR
134136
2. **Focus**: Use `traverse_from_node` to explore specific relationships
135137
3. **Paginate**: Use `skip` parameter to explore different sections of the graph
136138

137-
### 🔧 Tool Deep Dive
139+
### Tool Deep Dive
138140

139141
#### 1. `search_codebase` - Your Starting Point
140142
**Purpose**: Semantic search using vector embeddings to find the most relevant code nodes.
@@ -340,7 +342,7 @@ await mcp.call('test_neo4j_connection');
340342
APOC plugin available with 438 functions"
341343
```
342344

343-
### 🚀 Workflow Examples
345+
### Workflow Examples
344346

345347
#### Example 1: Understanding Authentication Flow
346348
```typescript
@@ -424,7 +426,7 @@ const serviceDependents = await mcp.call('search_codebase', {
424426
});
425427
```
426428

427-
### 💡 Advanced Usage Tips
429+
### Advanced Usage Tips
428430

429431
#### Understanding Response Format (JSON:API Normalization)
430432

@@ -478,7 +480,7 @@ firstDepth.chains.forEach(chain => {
478480
- **Memory**: Large traversals may hit Neo4j memory limits (increase heap size if needed)
479481
- **Caching**: Node IDs are persistent; save interesting ones for later exploration
480482

481-
## 🔧 Available MCP Tools
483+
## Available MCP Tools
482484

483485
### Core Tools
484486

@@ -501,7 +503,7 @@ firstDepth.chains.forEach(chain => {
501503
| `traverse_from_node` | **Focused graph traversal** - Explore specific relationships from a known node | `nodeId` (string), `maxDepth?` (1-10, default: 3), `skip?` (default: 0) | **Deep diving** into specific code relationships. Pagination for large graphs |
502504
| `natural_language_to_cypher` | **AI-powered query generation** - Convert natural language to Cypher queries using GPT-4 | `query` (string) | **Advanced queries** - currently requires OpenAI assistant setup |
503505

504-
### 🎯 Tool Selection Guide
506+
### Tool Selection Guide
505507

506508
**Start Here**: `search_codebase`
507509
- Use when you don't know specific node IDs
@@ -518,7 +520,7 @@ firstDepth.chains.forEach(chain => {
518520
- Best for complex queries beyond simple search/traversal
519521
- Currently in development - may require setup
520522

521-
## 🎯 Framework Support
523+
## Framework Support
522524

523525
### NestJS Framework Schema
524526

@@ -563,7 +565,7 @@ The server provides deep understanding of NestJS patterns:
563565
└─────────────────┘
564566
```
565567

566-
## ⚙️ Configuration
568+
## Configuration
567569

568570
### Environment Variables
569571

@@ -595,7 +597,7 @@ const parseOptions = {
595597
};
596598
```
597599

598-
## 🚧 Limitations
600+
## Limitations
599601

600602
### Current Limitations
601603

@@ -622,7 +624,7 @@ const parseOptions = {
622624
3. **Decorator Arguments**: Complex decorator argument patterns may not be fully parsed
623625
4. **Monorepo Support**: Limited support for complex monorepo structures
624626

625-
## 🔍 Troubleshooting
627+
## Troubleshooting
626628

627629
### Common Issues
628630

@@ -697,7 +699,7 @@ export DEBUG=mcp:*
697699
export NODE_ENV=development
698700
```
699701

700-
## 🤝 Contributing
702+
## Contributing
701703

702704
1. Fork the repository
703705
2. Create a feature branch: `git checkout -b feature/amazing-feature`
@@ -724,19 +726,19 @@ npm run lint
724726
npm run format
725727
```
726728

727-
## 📄 License
729+
## License
728730

729731
This project is proprietary software. All rights reserved - see the [LICENSE](LICENSE) file for details.
730732

731-
## 🙏 Acknowledgments
733+
## Acknowledgments
732734

733735
- [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic
734736
- [Neo4j](https://neo4j.com/) for graph database technology
735737
- [ts-morph](https://ts-morph.com/) for TypeScript AST manipulation
736738
- [OpenAI](https://openai.com/) for embeddings and natural language processing
737739
- [NestJS](https://nestjs.com/) for the framework patterns and conventions
738740

739-
## 📞 Support
741+
## Support
740742

741743
- Create an [Issue](https://github.com/drewdrewH/code-graph-context/issues) for bug reports or feature requests
742744
- Join the [MCP Discord](https://discord.gg/mcp) for community support

0 commit comments

Comments
 (0)