# Jane - Knowledge Management for AI Teams
Jane is a Model Context Protocol (MCP) server that transforms your team's documentation into an AI-accessible knowledge base. Built with TypeScript and the official MCP SDK, Jane allows Claude and other MCP-compatible clients to search, access, and manage your standard library documentation and project specifications with SQLite-powered performance.
**Perfect for development teams who want to:**
- š Make their documentation instantly searchable by AI assistants
- š Quickly find APIs, coding standards, and architectural decisions
- š Keep project specifications and requirements accessible
- š Onboard new team members faster with searchable knowledge
## Prerequisites
- **Node.js 18+** and **npm 8+**
- **MCP-compatible client**: Claude Desktop, Claude Code, or custom MCP client
- **5 minutes** for setup and first successful query
## Quick Start
Get Jane running with your first successful query in 3 steps:
### 1. Install and Build
```bash
git clone <repository-url>
cd jane-mcp-server
npm install
npm run build
```
### 2. Test the Server
```bash
npm start
```
ā
**You should see:** `"Jane MCP server is running and ready for connections"`
Press `Ctrl+C` to stop when you see this message.
### 3. Connect to Claude Desktop
Add Jane to your Claude Desktop configuration:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**Linux:** `~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"jane": {
"command": "node",
"args": ["/absolute/path/to/jane-mcp-server/dist/index.js"]
}
}
}
```
**Important:** Replace `/absolute/path/to/jane-mcp-server/dist/index.js` with your actual absolute path.
Restart Claude Desktop and look for the š (attachment) icon in the input field to access Jane's tools.
## Key Features
- **š Smart Document Search**: SQLite-powered full-text search with intelligent indexing that only processes new/modified documents
- **š¤ AI-Native Integration**: Seamlessly works with Claude Desktop, Claude Code, and custom MCP clients
- **š Performance Optimized**: Context window preservation through efficient SQLite database storage
- **š Flexible Organization**: Supports both standard library docs and project specifications
- **ā” Zero Configuration**: Works out of the box with sensible defaults and automatic setup
## Usage Examples
### For Development Teams
**API Documentation Management:**
```
"Search for authentication endpoints in our API docs"
ā Jane finds and returns relevant REST API specifications
```
**Team Knowledge Sharing:**
```
"Show me our coding standards for TypeScript"
ā Jane retrieves team-specific development guidelines
```
**Technical Specifications:**
```
"Find the database schema requirements for the user service"
ā Jane searches project specs and returns architecture details
```
### Document Types Jane Manages
- **Standard Library Docs** (`stdlib`): Language-specific documentation (JavaScript, TypeScript, Python, etc.)
- **Project Specifications** (`specs`): Requirements, architecture docs, API specs, team guidelines
## MCP Tools
Jane provides 7 MCP tools for comprehensive document management:
### Discovery Tools
- **`list_stdlibs`** - Browse available programming languages and their documentation
- **`list_specs`** - Explore your project specifications and technical docs
- **`search`** - Full-text search across all documents with filtering options
### Document Access
- **`get_stdlib`** - Retrieve specific standard library documentation
- **`get_spec`** - Access project specifications and technical documents
### Content Management
- **`create_document`** - Add new documentation with structured metadata
- **`update_document`** - Modify existing documents and their metadata
## Integration Guides
### Claude Desktop Setup
1. **Build Jane** (if not done already):
```bash
npm run build
```
2. **Find your absolute path**:
```bash
pwd
# Copy the output, you'll need: /that/path/dist/index.js
```
3. **Update Claude Desktop config** with the JSON above
4. **Restart Claude Desktop completely** (quit and reopen)
5. **Test the integration**:
- Look for the š icon in the input area
- Select "jane" from the MCP servers dropdown
- Try: "List available standard libraries"
### Claude Code Integration
Add Jane as an MCP server to Claude Code:
```bash
# Add Jane MCP server to Claude Code
claude mcp add jane node /absolute/path/to/jane-mcp-server/dist/index.js
# Start Claude Code interactive session
claude
```
**Verify the connection:**
```bash
# List configured MCP servers
claude mcp list
# Test Jane integration
> /mcp
# Select "jane" from the interactive menu to verify connection
```
## Configuration
### Document Structure
Jane organizes documents in a clear hierarchy:
```
Jane/
āāā stdlib/ # Standard library documentation
ā āāā javascript/ # Language-specific folders
ā āāā typescript/
ā āāā python/
āāā specs/ # Project specifications
āāā project1/ # Project-specific folders
āāā project2/
```
### SQLite Database
- **Location**: `./document-index.db` (automatically created)
- **Technology**: SQLite FTS5 for full-text search
- **Smart Indexing**: Only processes new/modified documents on startup
- **Performance**: Maintains document metadata and content for fast queries
### Document Format
All documents use Markdown with YAML frontmatter:
```markdown
---
title: "Document Title"
description: "Brief description"
author: "Author Name"
tags: ["tag1", "tag2"]
---
# Document Content
Your markdown content here...
```
## Document Management with Symlinks
For teams who want to keep their documentation private and separate from the MCP server repository:
### Setup Private Document Storage
```bash
# Create your private Jane documents directory
mkdir -p ~/Documents/Jane/{stdlib,specs}
# Remove default Jane directory (if it exists)
rm -rf ~/dev/jane-mcp-server/Jane
# Create symlink from MCP server to your private docs
ln -s ~/Documents/Jane ~/dev/jane-mcp-server/Jane
```
### Benefits
- **Privacy**: Keep your docs separate from the open-source MCP server
- **Backup**: Back up docs independently from the server code
- **Team Sharing**: Share docs privately while using the same server setup
- **Git Cleanliness**: Avoid committing sensitive documentation to the MCP server repo
### Usage
After setting up the symlink, Jane will automatically use your private documents from `~/Documents/Jane` while the server accesses them through the symlink. You can add `.gitignore` entry for `Jane/` to prevent accidentally committing your private docs.
## Development
```bash
# Development mode with hot reload
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Check SQLite database
sqlite3 document-index.db "SELECT COUNT(*) FROM documents;"
```
## Troubleshooting
### Common Issues
**š« "Jane server not appearing in MCP list"**
- Verify the absolute path in your Claude Desktop config
- Ensure Node.js is accessible: `node --version`
- Restart Claude Desktop completely
- Check server builds successfully: `npm run build`
**š« "No documents found"**
- Verify Jane directory exists: `ls -la Jane/`
- Check file permissions are readable
- Run diagnostics: `npx tsx tests/jane-diagnostics.ts`
**š« "SQLite database errors"**
- Check database permissions in project directory
- Reset database: `rm document-index.db && npm start`
- Verify disk space availability
**š« "Document appears in search but not retrievable"**
- Document exists in SQLite index but not on filesystem
- Run: `npm start` to resync database with filesystem
- Check for file permission issues
### Diagnostic Commands
```bash
# Test server startup
timeout 10s npm start
echo $? # Should be 124 (timeout) for successful startup
# Run comprehensive diagnostics
npx tsx tests/jane-diagnostics.ts
# Inspect SQLite database
sqlite3 document-index.db ".tables"
sqlite3 document-index.db "SELECT type, path, title FROM documents LIMIT 10;"
# Check document structure
find Jane/ -name "*.md" | head -5
```
### Getting Help
- **Integration Issues**: Check the integration guide for your specific MCP client
- **Performance Problems**: Review the SQLite configuration and document indexing
- **Document Management**: See the MCP tools reference and usage examples
## License
MIT